openapi: 3.2.0 info: title: Huma Platform Video Call API version: 1.0.0 description: Huma Platform servers: - url: https://workspace-gcp-uk.api.huma.com/api/integration/v1 description: Base URL declared by the provider in apis.yml (roadmap#122). tags: - name: Video Call paths: /api/extensions/v1/manager/{manager_id}/video/{video_call_id}/complete: post: operationId: api_extensions_v1_manager_video_complete_create_[complete_video_call_by_manager] summary: Complete Video Call By Manager parameters: - in: path name: managerId schema: type: string required: true - in: path name: manager_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true - in: path name: videoCallId schema: type: string required: true - in: path name: video_call_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Video Call security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '204': description: No response body /api/extensions/v1/manager/{manager_id}/video/user/{user_id}/initiate: post: operationId: api_extensions_v1_manager_video_user_initiate_create_[initiate_video_call] summary: Initiate Video Call parameters: - in: path name: manager_id schema: type: string required: true - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Video Call requestBody: content: application/json: schema: $ref: '#/components/schemas/InitiateVideoCallRequestObjectDRF' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/InitiateVideoCallRequestObjectDRF' multipart/form-data: schema: $ref: '#/components/schemas/InitiateVideoCallRequestObjectDRF' required: true security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/InitiateVideoCallResponseObjectDRF' description: '' /api/extensions/v1/user/{user_id}/calls/search: get: operationId: api_extensions_v1_user_calls_search_retrieve_[retrieve_video_calls] summary: Retrieve Video Calls parameters: - in: query name: limit schema: type: integer - in: query name: order schema: type: string - in: query name: skip schema: type: integer - in: query name: sort schema: type: string - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true - in: query name: video_call_id schema: type: string tags: - Video Call security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RetrieveCallsPaginatedResponseObjectDRF' description: '' /api/extensions/v1/user/{user_id}/video/{video_call_id}/complete: post: operationId: api_extensions_v1_user_video_complete_create_[complete_video_call_by_user] summary: Complete Video Call By User parameters: - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true - in: path name: video_call_id schema: type: string required: true tags: - Video Call requestBody: content: application/json: schema: $ref: '#/components/schemas/CompleteVideoCallByUserRequestObjectDRF' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CompleteVideoCallByUserRequestObjectDRF' multipart/form-data: schema: $ref: '#/components/schemas/CompleteVideoCallByUserRequestObjectDRF' required: true security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '204': description: No response body /api/extensions/v1/video/user/{user_id}/offline-call: post: operationId: api_extensions_v1_video_user_offline_call_create_[create_offline_call] summary: Create Offline Call parameters: - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Video Call requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOfflineCallRequestObjectDRF' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateOfflineCallRequestObjectDRF' multipart/form-data: schema: $ref: '#/components/schemas/CreateOfflineCallRequestObjectDRF' required: true security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResultIdResponseObjectDRF' description: '' /api/public/v1/video/{video_call_id}/complete: post: operationId: api_public_v1_video_complete_create_[complete_video_call_public] summary: Complete Video Call Public parameters: - in: path name: video_call_id schema: type: string required: true tags: - Video Call requestBody: content: application/json: schema: $ref: '#/components/schemas/CompleteVideoCallRequestObjectDRF' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CompleteVideoCallRequestObjectDRF' multipart/form-data: schema: $ref: '#/components/schemas/CompleteVideoCallRequestObjectDRF' required: true security: - {} responses: '204': description: No response body components: schemas: ResultIdResponseObjectDRF: type: object properties: id: type: string CompleteVideoCallByUserRequestObjectDRF: type: object properties: reason: type: string userId: type: string videoCallId: type: string required: - userId - videoCallId InitiateVideoCallRequestObjectDRF: type: object properties: appointmentId: type: string managerId: type: string userId: type: string required: - managerId - userId OfflineVideoCallDTODRF: type: object properties: id: type: string managerId: type: string userId: type: string duration: type: integer startDateTime: type: string format: date-time endDateTime: type: string format: date-time updateDateTime: type: string format: date-time createDateTime: type: string format: date-time roomStatus: type: string logs: type: array items: $ref: '#/components/schemas/VideoCallLogDTODRF' appointmentId: type: string noteId: type: string type: type: string status: type: string roomId: type: string managerName: type: string CreateOfflineCallRequestObjectDRF: type: object properties: startDateTime: type: string format: date-time endDateTime: type: string format: date-time note: type: string required: - endDateTime - note - startDateTime RetrieveCallsPaginatedResponseObjectDRF: type: object properties: calls: type: array items: $ref: '#/components/schemas/OfflineVideoCallDTODRF' total: type: integer skip: type: integer limit: type: integer required: - calls - limit - skip - total CompleteVideoCallRequestObjectDRF: type: object properties: token: type: string callId: type: string required: - callId - token VideoCallLogDTODRF: type: object properties: id: type: string event: type: string identity: type: string createDateTime: type: string format: date-time required: - event InitiateVideoCallResponseObjectDRF: type: object properties: videoCallId: type: string roomSid: type: string authToken: type: string ttl: type: integer webLink: type: string sipAddress: type: string securitySchemes: Hawk_Auth: type: apiKey in: header name: Authorization description: 'Hawk MAC authentication. Paste a full Authorization header value. Example: Authorization: Hawk id="userId:clientId", ts="", nonce="", mac=""[, hash=""][, ext=""] Note: Swagger UI cannot generate Hawk headers. Use your client to compute the MAC (e.g., with mohawk), then paste the full value here.' JWT_Auth: type: http scheme: bearer in: header bearerFormat: JWT description: 'Use HTTP Bearer auth with a JWT. Send the token in the Authorization header: Authorization: Bearer The token should contain standard claims plus projectId and clientId in user claims.' jwtAuth: type: http scheme: bearer bearerFormat: JWT