VCV videointerview API
The videointerview API from VCV — 4 operation(s) for videointerview.
The videointerview API from VCV — 4 operation(s) for videointerview.
openapi: 3.0.1
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
nullable: true
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
nullable: true
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:
filter_id:
name: filter[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_created_at_from:
name: filter[created_at][from]
in: query
required: false
schema:
type: string
format: date-time
filter_response_id:
name: filter[response_id]
in: query
required: false
schema:
oneOf:
- type: integer
- type: array
items:
type: integer
filter_vacancy_id:
name: filter[vacancy_id]
in: query
required: false
schema:
oneOf:
- type: integer
- type: array
items:
type: integer
pagination_page_size:
name: limit
in: query
description: page size
required: false
schema:
type: integer
default: 20
schemas:
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
format: date-time
nullable: true
date_sent:
type: string
format: date-time
nullable: true
resume_url:
type: string
nullable: true
second_resume_url:
type: string
nullable: true
social_source:
type: string
nullable: true
utm_source:
type: string
nullable: true
utm_medium:
type: string
nullable: true
utm_campaign:
type: string
nullable: true
utm_content:
type: string
nullable: true
utm_term:
type: string
nullable: true
is_paid:
type: boolean
nullable: true
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
nullable: true
date_start:
type: string
format: date-time
nullable: true
date_last_video_recorded:
type: string
format: date-time
nullable: true
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
format: date-time
nullable: true
date_start_record:
type: string
format: date-time
nullable: true
is_blocked:
type: boolean
language_code:
type: string
nullable: true
question_video_id:
type: integer
question_video_title:
type: string
question_video_url:
type: string
is_question_media_seen:
type: boolean
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
Video:
nullable: true
properties:
id:
type: integer
date_modified:
type: string
format: date-time
name:
type: string
video_status_id:
type: integer
duration:
type: integer
nullable: true
original_extension:
type: string
nullable: true
extension:
type: string
nullable: true
hostname:
type: string
bucket:
type: string
size:
type: integer
nullable: true
original_size:
type: integer
nullable: true
token:
type: string
has_image_preview:
type: string
source:
type: string
preview:
type: string
type: object
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
nullable: true
video_id:
type: integer
video_title:
type: string
video_url:
type: string
type: object
VideoResponse:
nullable: true
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
nullable: true
original_extension:
type: string
nullable: true
format_list:
type: string
nullable: true
text:
type: string
nullable: true
hostname:
type: string
bucket:
type: string
original_file_size:
type: integer
nullable: true
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
nullable: true
type: object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: token