VCV

VCV vacancy API

The vacancy API from VCV — 23 operation(s) for vacancy.

OpenAPI Specification

vcv-vacancy-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: VCV chatbot vacancy API
  description: open api
  version: v3
servers:
- url: https://my.vcv.ai
- url: https://my.vcv.ru
- url: '{hostname}'
  variables:
    hostname:
      default: http://localhost:8080
security:
- bearerAuth: []
tags:
- name: vacancy
paths:
  /api/v3/vacancies:
    get:
      description: Get vacancies list
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/pagination_page'
      - $ref: '#/components/parameters/pagination_page_size'
      - $ref: '#/components/parameters/sort_order'
      - name: sort[by]
        in: query
        description: sort field
        required: false
        schema:
          type: string
          default: id
          enum:
          - id
          - created_at
          - title
          - sent_responses_count
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - user
            - language
            - permissions
            - modules
            - countries
            - user.userName
      - $ref: '#/components/parameters/filter_id'
      - $ref: '#/components/parameters/filter_user_id'
      - $ref: '#/components/parameters/filter_created_at_from'
      - $ref: '#/components/parameters/filter_created_at_to'
      - $ref: '#/components/parameters/filter_active'
      - name: filter[title]
        in: query
        description: vacancy title filter
        required: false
        schema:
          type: string
      - name: filter[stages]
        in: query
        description: vacancy stages filter
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - survey
            - test
            - videointerview
      - name: fields[]
        in: query
        description: Fields to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - published
            - company_id
            - description
            - is_private
            - is_resume_required
            - video_link
            - is_disable_record_videointerview
            - logo_url
            - social_logo_url
            - is_video_landing
            - disable_duplicate_responses
            - is_demo
            - is_resume_mandatory
            - is_permanent_response_link
            - sent_responses_count
            - new_responses_count
            - has_admin_access
      responses:
        '200':
          description: list of vacancies
          content:
            application/json:
              schema:
                properties:
                  _total_items:
                    type: integer
                  _page:
                    type: integer
                  _page_count:
                    type: integer
                  _links:
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                    type: object
                  _embedded:
                    type: object
                    properties:
                      vacancies:
                        type: array
                        items:
                          allOf:
                          - $ref: '#/components/schemas/Vacancy'
                          - type: object
                            properties:
                              language:
                                $ref: '#/components/schemas/Language'
                              _embedded:
                                type: object
                                properties:
                                  user:
                                    $ref: '#/components/schemas/User'
                                  permissions:
                                    type: array
                                    items:
                                      $ref: '#/components/schemas/Permission'
                                  modules:
                                    type: array
                                    items:
                                      $ref: '#/components/schemas/VacancyModule'
                                  countries:
                                    type: array
                                    items:
                                      $ref: '#/components/schemas/Country'
                                  landingUrlHistory:
                                    type: array
                                    items:
                                      $ref: '#/components/schemas/VacancyUrlHistory'
                type: object
    post:
      description: Create vacancy
      tags:
      - vacancy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                description:
                  type: string
                title:
                  type: string
                countries:
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                  type: array
                language_id:
                  type: integer
                active:
                  type: boolean
                published:
                  type: boolean
              type: object
      responses:
        '200':
          description: Created vacancy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vacancy'
    delete:
      description: Delete vacancies list
      tags:
      - vacancy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                vacancies:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
              type: object
      responses:
        '200':
          description: deleted vacancy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vacancy'
    patch:
      description: Update vacancies list
      tags:
      - vacancy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                vacancies:
                  type: array
                  items:
                    type: object
                    properties:
                      active:
                        type: boolean
                      id:
                        type: integer
              type: object
      responses:
        '200':
          description: Updated vacancies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vacancy'
  /api/v3/vacancies/{id}:
    get:
      description: Get vacancy
      tags:
      - vacancy
      parameters:
      - name: id
        in: path
        description: Id
        required: true
        schema:
          type: integer
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - user
            - language
            - permissions
            - modules
            - user.userName
            - countries
            - landingUrlHistory
      - name: fields[]
        in: query
        description: Fields to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - published
            - company_id
            - description
            - is_private
            - is_resume_required
            - video_link
            - is_disable_record_videointerview
            - logo_url
            - social_logo_url
            - is_video_landing
            - disable_duplicate_responses
            - is_demo
            - is_resume_mandatory
            - is_permanent_response_link
            - sent_responses_count
            - new_responses_count
            - has_admin_access
      responses:
        '200':
          description: detail vacancy
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Vacancy'
                - type: object
                  properties:
                    language:
                      $ref: '#/components/schemas/Language'
                    _embedded:
                      type: object
                      properties:
                        user:
                          $ref: '#/components/schemas/User'
                        permissions:
                          type: array
                          items:
                            $ref: '#/components/schemas/Permission'
                        modules:
                          type: array
                          items:
                            $ref: '#/components/schemas/VacancyModule'
                        countries:
                          type: array
                          items:
                            $ref: '#/components/schemas/Country'
                        landingUrlHistory:
                          type: array
                          items:
                            $ref: '#/components/schemas/VacancyUrlHistory'
    delete:
      description: Delete vacancy
      tags:
      - vacancy
      parameters:
      - name: id
        in: path
        description: Id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: deleted vacancy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vacancy'
    patch:
      description: Update vacancy
      tags:
      - vacancy
      parameters:
      - name: id
        in: path
        description: Id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                description:
                  type: string
                title:
                  type: string
                countries:
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                  type: array
                active:
                  type: boolean
                published:
                  type: boolean
                is_resume_required:
                  type: boolean
                is_private:
                  type: boolean
                is_disable_record_videointerview:
                  type: boolean
                is_video_landing:
                  type: boolean
                disable_duplicate_responses:
                  type: boolean
                is_resume_mandatory:
                  type: boolean
                is_permanent_response_link:
                  type: boolean
                video_link:
                  type: string
                logo_url:
                  type: string
                landing_url_path:
                  type: string
              type: object
      responses:
        '200':
          description: Updated vacancy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vacancy'
  /api/v3/vacancy-permissions:
    get:
      description: Get vacancy permissions list
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/pagination_page'
      - $ref: '#/components/parameters/pagination_page_size'
      - $ref: '#/components/parameters/sort_order'
      - $ref: '#/components/parameters/filter_id'
      - $ref: '#/components/parameters/filter_vacancy_id'
      - $ref: '#/components/parameters/filter_user_id'
      - name: filter[permission]
        in: query
        description: Role name filter
        required: false
        schema:
          type: string
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - user
      responses:
        '200':
          description: list of vacancy permissions
          content:
            application/json:
              schema:
                properties:
                  _total_items:
                    type: integer
                  _page:
                    type: integer
                  _page_count:
                    type: integer
                  _links:
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                    type: object
                  _embedded:
                    type: object
                    properties:
                      permissions:
                        type: array
                        items:
                          $ref: '#/components/schemas/Permission'
                type: object
    post:
      description: Create vacancy permission
      tags:
      - vacancy
      parameters:
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - user
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                vacancy_id:
                  type: integer
                user_id:
                  type: integer
                permission:
                  type: string
                  enum:
                  - admin
                  - role_edit_scoring
                  - role_read
                  description: "Permissions:\n  * `admin` - Application administration, edit application materials, view all hiring team members’ activities, evaluate applications, communicate with candidates.\n  * `role_edit_scoring` - Edit application materials, evaluate applications, communicate with candidates.\n  * `role_read` - Evaluate applications only.\n"
              type: object
      responses:
        '200':
          description: Created permission
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Permission'
  /api/v3/vacancy-permissions/{id}:
    get:
      description: Get vacancy permission
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/id'
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - user
      responses:
        '200':
          description: Vacancy permission
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Permission'
    patch:
      description: Update vacancy permission
      parameters:
      - $ref: '#/components/parameters/id'
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - user
      tags:
      - vacancy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                permission:
                  type: string
                  enum:
                  - admin
                  - role_edit_scoring
                  - role_read
                  description: "Permissions:\n  * `admin` - Application administration, edit application materials, view all hiring team members’ activities, evaluate applications, communicate with candidates.\n  * `role_edit_scoring` - Edit application materials, evaluate applications, communicate with candidates.\n  * `role_read` - Evaluate applications only.\n"
              type: object
      responses:
        '200':
          description: Updated vacancy permission
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Permission'
    delete:
      description: Delete vacancy permission
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Deleted vacancy permission
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Permission'
  /api/v3/vacancy-competences:
    get:
      description: Get vacancy competences list
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/pagination_page'
      - $ref: '#/components/parameters/pagination_page_size'
      - $ref: '#/components/parameters/sort_order'
      - $ref: '#/components/parameters/filter_id'
      - $ref: '#/components/parameters/filter_vacancy_id'
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - level
            - view
      responses:
        '200':
          description: list of vacancy competences
          content:
            application/json:
              schema:
                properties:
                  _total_items:
                    type: integer
                  _page:
                    type: integer
                  _page_count:
                    type: integer
                  _links:
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                    type: object
                  _embedded:
                    type: object
                    properties:
                      competences:
                        type: array
                        items:
                          allOf:
                          - $ref: '#/components/schemas/VacancyCompetence'
                          - type: object
                            properties:
                              _embedded:
                                type: object
                                properties:
                                  vacancy:
                                    $ref: '#/components/schemas/Vacancy'
                                  level:
                                    $ref: '#/components/schemas/CompetenceLevel'
                                  view:
                                    $ref: '#/components/schemas/CompetenceView'
                type: object
    post:
      description: Create vacancy competence
      tags:
      - vacancy
      parameters:
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - level
            - view
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                vacancy_id:
                  type: integer
                competence_view_id:
                  type: integer
                  description: 'See [/api/v3/competence-views](#/vacancy/get_api_v3_competence_levels)

                    '
                competence_level_id:
                  type: integer
                  description: 'See [/api/v3/competence-levels](#/vacancy/get_api_v3_competence_views)

                    '
                sort_order:
                  type: integer
                title:
                  type: string
                hint:
                  type: string
                  nullable: true
              type: object
      responses:
        '200':
          description: Created competence
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/VacancyCompetence'
                - type: object
                  properties:
                    _embedded:
                      type: object
                      properties:
                        vacancy:
                          $ref: '#/components/schemas/Vacancy'
                        level:
                          $ref: '#/components/schemas/CompetenceLevel'
                        view:
                          $ref: '#/components/schemas/CompetenceView'
  /api/v3/vacancy-competences/{id}:
    get:
      description: Get vacancy competence
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/id'
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - level
            - view
      responses:
        '200':
          description: Vacancy competence
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/VacancyCompetence'
                - type: object
                  properties:
                    _embedded:
                      type: object
                      properties:
                        vacancy:
                          $ref: '#/components/schemas/Vacancy'
                        level:
                          $ref: '#/components/schemas/CompetenceLevel'
                        view:
                          $ref: '#/components/schemas/CompetenceView'
    patch:
      description: Update vacancy competence
      parameters:
      - $ref: '#/components/parameters/id'
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - level
            - view
      tags:
      - vacancy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                competence_view_id:
                  type: integer
                  description: 'See [/api/v3/competence-views](#/vacancy/get_api_v3_competence_levels)

                    '
                competence_level_id:
                  type: integer
                  description: 'See [/api/v3/competence-levels](#/vacancy/get_api_v3_competence_views)

                    '
                sort_order:
                  type: integer
                title:
                  type: string
                hint:
                  type: string
                  nullable: true
              type: object
      responses:
        '200':
          description: Updated vacancy competence
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/VacancyCompetence'
                - type: object
                  properties:
                    _embedded:
                      type: object
                      properties:
                        vacancy:
                          $ref: '#/components/schemas/Vacancy'
                        level:
                          $ref: '#/components/schemas/CompetenceLevel'
                        view:
                          $ref: '#/components/schemas/CompetenceView'
    delete:
      description: Delete vacancy competence
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Deleted vacancy competence
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VacancyCompetence'
  /api/v3/competence-views:
    get:
      description: Get competence views
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/pagination_page'
      - $ref: '#/components/parameters/pagination_page_size'
      - $ref: '#/components/parameters/sort_order'
      - $ref: '#/components/parameters/filter_id'
      responses:
        '200':
          description: list of competence views
          content:
            application/json:
              schema:
                properties:
                  _total_items:
                    type: integer
                  _page:
                    type: integer
                  _page_count:
                    type: integer
                  _links:
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                    type: object
                  _embedded:
                    type: object
                    properties:
                      competence_views:
                        type: array
                        items:
                          $ref: '#/components/schemas/CompetenceView'
                type: object
  /api/v3/competence-views/{id}:
    get:
      description: Get competence view
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Competence view
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompetenceView'
  /api/v3/competence-levels:
    get:
      description: Get competence levels
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/pagination_page'
      - $ref: '#/components/parameters/pagination_page_size'
      - $ref: '#/components/parameters/sort_order'
      - $ref: '#/components/parameters/filter_id'
      responses:
        '200':
          description: list of competence views
          content:
            application/json:
              schema:
                properties:
                  _total_items:
                    type: integer
                  _page:
                    type: integer
                  _page_count:
                    type: integer
                  _links:
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                    type: object
                  _embedded:
                    type: object
                    properties:
                      competence_levels:
                        type: array
                        items:
                          $ref: '#/components/schemas/CompetenceLevel'
                type: object
  /api/v3/competence-levels/{id}:
    get:
      description: Get competence level
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Competence level
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompetenceLevel'
  /api/v3/vacancy-modules:
    get:
      description: Get vacancy modules list
      tags:
      - vacancy
      parameters:
      - $ref: '#/components/parameters/pagination_page'
      - $ref: '#/components/parameters/pagination_page_size'
      - name: with[]
        in: query
        description: Relations to retrieve
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - vacancy
            - companyModule
      - $ref: '#/components/parameters/filter_id'
      - $ref: '#/components/parameters/filter_vacancy_id'
      - name: filter[id_module]
        in: query
        description: Module id filter
        required: false
        schema:
          type: string
      responses:
        '200':
          description: list of vacancy modules
          content:
            application/json:
              schema:
                properties:
                  _total_items:
                    type: integer
                  _page:
                    type: integer
                  _page_count:
                    type: integer
                  _links:
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      next:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                      last:
                        type: object
                        properties:
                          href:
                            type: string
                            format: uri
                    type: object
                  _embedded:
                    type: object
                    properties:
                      vacancy_modules:
                        type: array
                        items:
                          $ref: '#/components/schemas/VacancyModule'
                type: object
  /api/v3/vacancy-modules/{id_module}/{vacancy_id}:
    get:
      description: Get vacancy module detail
      tags:
      - vacancy
      parameters:
      - name: id_module
        in: path
        description: Modu

# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vcv/refs/heads/main/openapi/vcv-vacancy-api-openapi.yml