VCV vacancy API
The vacancy API from VCV — 23 operation(s) for vacancy.
The vacancy API from VCV — 23 operation(s) for vacancy.
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