VCV videointerview API
The videointerview API from VCV — 4 operation(s) for videointerview.
The videointerview API from VCV — 4 operation(s) for videointerview.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/vcv-videointerview-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: VCV chatbot Videointerview 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: videointerview
paths:
/api/v3/videointerviews/response:
get:
tags:
- videointerview
description: Get response videointerviews list
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:
- response
- partitions
- partitions.videoResponse
- partitions.questionVideo
- $ref: '#/components/parameters/filter_id'
- $ref: '#/components/parameters/filter_response_id'
- $ref: '#/components/parameters/filter_vacancy_id'
- name: filter[date_start][from]
in: query
required: false
schema:
type: string
format: date-time
- name: filter[date_start][to]
in: query
required: false
schema:
type: string
format: date-time
responses:
'200':
description: list of response videointerviews
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:
response_videointerviews:
type: array
items:
allOf:
- $ref: '#/components/schemas/ResponseVideointerview'
- type: object
properties:
_embedded:
type: object
properties:
response:
$ref: '#/components/schemas/Response'
partitions:
type: array
items:
allOf:
- $ref: '#/components/schemas/Partition'
- type: object
properties:
_embedded:
type: object
properties:
video_response:
$ref: '#/components/schemas/VideoResponse'
question_video:
$ref: '#/components/schemas/Video'
type: object
/api/v3/videointerviews/response/{id}:
get:
tags:
- videointerview
description: Get response videointerview
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:
- response
- partitions
- partitions.videoResponse
- partitions.questionVideo
- name: id_field
in: query
description: Model to retrieve id from
required: true
schema:
type: string
enum:
- videointerview
- response
responses:
'200':
description: response videointerview
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseVideointerview'
- type: object
properties:
_embedded:
type: object
properties:
response:
$ref: '#/components/schemas/Response'
partitions:
type: array
items:
allOf:
- $ref: '#/components/schemas/Partition'
- type: object
properties:
_embedded:
type: object
properties:
video_response:
$ref: '#/components/schemas/VideoResponse'
question_video:
$ref: '#/components/schemas/Video'
/api/v3/videointerviews/vacancy:
get:
description: Get vacancy videointerviews list
tags:
- videointerview
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:
- questions
- questions.video
- $ref: '#/components/parameters/filter_id'
- $ref: '#/components/parameters/filter_vacancy_id'
- $ref: '#/components/parameters/filter_created_at_from'
- $ref: '#/components/parameters/filter_created_at_to'
responses:
'200':
description: list of vacancy videointerviews
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_videointerviews:
type: array
items:
allOf:
- $ref: '#/components/schemas/VacancyVideointerview'
- type: object
properties:
_embedded:
type: object
properties:
questions:
type: array
items:
allOf:
- $ref: '#/components/schemas/VideointerviewQuestion'
- type: object
properties:
_embedded:
type: object
properties:
video:
$ref: '#/components/schemas/Video'
type: object
/api/v3/videointerviews/vacancy/{id}:
get:
description: Get vacancy videointerview
tags:
- videointerview
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:
- questions
- questions.video
responses:
'200':
description: vacancy videointerview
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/VacancyVideointerview'
- type: object
properties:
_embedded:
type: object
properties:
questions:
type: array
items:
allOf:
- $ref: '#/components/schemas/VideointerviewQuestion'
- type: object
properties:
_embedded:
type: object
properties:
video:
$ref: '#/components/schemas/Video'
patch:
description: Update vacancy videointerview detail
tags:
- videointerview
parameters:
- name: id
in: path
description: Id
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
properties:
is_video_answer_enabled:
type: boolean
questions:
type: array
items:
type: object
properties:
id:
type:
- integer
- 'null'
body:
type: string
answer_time:
type: integer
preparation_time:
type: integer
required:
type: boolean
sort_order:
type: integer
take_number:
type: integer
is_video_answer_enabled:
type: boolean
video_url:
type: string
video_title:
type: string
video_id:
type:
- integer
- 'null'
type: object
responses:
'200':
description: Detail vacancy videointerview
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/VacancyVideointerview'
- type: object
properties:
_embedded:
type: object
properties:
questions:
type: array
items:
allOf:
- $ref: '#/components/schemas/VideointerviewQuestion'
- type: object
properties:
_embedded:
type: object
properties:
video:
$ref: '#/components/schemas/Video'
components:
parameters:
pagination_page_size:
name: limit
in: query
description: page size
required: false
schema:
type: integer
default: 20
filter_vacancy_id:
name: filter[vacancy_id]
in: query
required: false
schema:
oneOf:
- type: integer
- type: array
items:
type: integer
filter_created_at_to:
name: filter[created_at][to]
in: query
required: false
schema:
type: string
format: date-time
pagination_page:
name: page
in: query
description: page number
required: false
schema:
type: integer
default: 1
filter_response_id:
name: filter[response_id]
in: query
required: false
schema:
oneOf:
- type: integer
- type: array
items:
type: integer
filter_id:
name: filter[id]
in: query
required: false
schema:
oneOf:
- type: integer
- type: array
items:
type: integer
filter_created_at_from:
name: filter[created_at][from]
in: query
required: false
schema:
type: string
format: date-time
schemas:
Video:
properties:
id:
type: integer
date_modified:
type: string
format: date-time
name:
type: string
video_status_id:
type: integer
duration:
type:
- integer
- 'null'
original_extension:
type:
- string
- 'null'
extension:
type:
- string
- 'null'
hostname:
type: string
bucket:
type: string
size:
type:
- integer
- 'null'
original_size:
type:
- integer
- 'null'
token:
type: string
has_image_preview:
type: string
source:
type: string
preview:
type: string
type:
- object
- 'null'
Response:
properties:
id:
type: integer
vacancy_id:
type: integer
candidate_id:
type: integer
response_status_id:
type: integer
response_source_id:
type: integer
interview_id:
type: integer
external_id:
type: string
is_hidden_by_candidate:
type: boolean
created_at:
type: string
format: date-time
agreed_at:
type:
- string
- 'null'
format: date-time
date_sent:
type:
- string
- 'null'
format: date-time
resume_url:
type:
- string
- 'null'
second_resume_url:
type:
- string
- 'null'
social_source:
type:
- string
- 'null'
utm_source:
type:
- string
- 'null'
utm_medium:
type:
- string
- 'null'
utm_campaign:
type:
- string
- 'null'
utm_content:
type:
- string
- 'null'
utm_term:
type:
- string
- 'null'
is_paid:
type:
- boolean
- 'null'
type: object
VacancyVideointerview:
properties:
id:
type: integer
vacancy_id:
type: integer
is_video_answer_enabled:
type: boolean
created_at:
type: string
format: date-time
type: object
Partition:
properties:
id:
type: integer
response_id:
type: integer
max_time:
type: integer
name:
type: string
description:
type: string
sort_order:
type: integer
read_time:
type: integer
is_compulsory:
type: boolean
is_question_seen:
type: boolean
take_number:
type: integer
max_take_number:
type: integer
is_video_answer_enabled:
type: boolean
is_text_answer_enabled:
type: boolean
is_question_skipped:
type: boolean
date_show:
type:
- string
- 'null'
format: date-time
date_start_record:
type:
- string
- 'null'
format: date-time
is_blocked:
type: boolean
language_code:
type:
- string
- 'null'
question_video_id:
type: integer
question_video_title:
type: string
question_video_url:
type: string
is_question_media_seen:
type: boolean
type: object
ResponseVideointerview:
properties:
id:
type: integer
response_id:
type: integer
is_converted:
type: boolean
is_finished:
type: boolean
active:
type: boolean
description:
type:
- string
- 'null'
date_start:
type:
- string
- 'null'
format: date-time
date_last_video_recorded:
type:
- string
- 'null'
format: date-time
type: object
VideoResponse:
properties:
id:
type: integer
date_modified:
type: string
format: date-time
name:
type: string
video_status_id:
type: integer
video_response_partition_id:
type: integer
duration:
type:
- integer
- 'null'
original_extension:
type:
- string
- 'null'
format_list:
type:
- string
- 'null'
text:
type:
- string
- 'null'
hostname:
type: string
bucket:
type: string
original_file_size:
type:
- integer
- 'null'
token:
type: string
source:
type: string
preview:
type: string
has_image_preview:
type: string
is_visible:
type: string
is_local_files_cleared:
type: string
id_upload_status:
type: integer
stream_recording_name:
type:
- string
- 'null'
type:
- object
- 'null'
VideointerviewQuestion:
properties:
id:
type: integer
date_created:
type: string
format: date-time
vacancy_module_videointerview_id:
type: integer
title:
type: string
body:
type: string
answer_time:
type: integer
preparation_time:
type: integer
required:
type: boolean
sort_order:
type: integer
take_number:
type: integer
is_video_answer_enabled:
type: boolean
is_text_answer_enabled:
type: boolean
language_code:
type:
- string
- 'null'
video_id:
type: integer
video_title:
type: string
video_url:
type: string
type: object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: token