openapi: 3.2.0 info: title: Huma Platform Appointment 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: Appointment paths: /api/extensions/v1/user/{user_id}/appointment: post: operationId: api_extensions_v1_user_appointment_create_[create_appointment] summary: Create Appointment parameters: - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Appointment requestBody: content: application/json: schema: $ref: '#/components/schemas/AppointmentDTODRF' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AppointmentDTODRF' multipart/form-data: schema: $ref: '#/components/schemas/AppointmentDTODRF' security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResultIdResponseObjectDRF' description: '' delete: operationId: api_extensions_v1_user_appointment_destroy_[bulk_delete_appointments] summary: Bulk Delete Appointments parameters: - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Appointment security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkDeleteAppointmentsResponseObjectDRF' description: '' /api/extensions/v1/user/{user_id}/appointment/{appointment_id}: get: operationId: api_extensions_v1_user_appointment_retrieve_[retrieve_appointment] summary: Retrieve Appointment parameters: - in: path name: appointment_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Appointment security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppointmentDTODRF' description: '' put: operationId: api_extensions_v1_user_appointment_update_[update_appointment] summary: Update Appointment parameters: - in: path name: appointment_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Appointment requestBody: content: application/json: schema: $ref: '#/components/schemas/AppointmentDTODRF' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AppointmentDTODRF' multipart/form-data: schema: $ref: '#/components/schemas/AppointmentDTODRF' security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResultIdResponseObjectDRF' description: '' delete: operationId: api_extensions_v1_user_appointment_destroy_[delete_appointment] summary: Delete Appointment parameters: - in: path name: appointment_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Appointment security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '204': description: No response body /api/extensions/v1/user/{user_id}/appointment/search: get: operationId: api_extensions_v1_user_appointment_search_retrieve_[search_appointments] summary: Search Appointments parameters: - in: query name: limit schema: type: integer - in: query name: skip schema: type: integer - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Appointment security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RetrieveAppointmentsResponseObjectDRF' description: '' put: operationId: api_extensions_v1_user_appointment_search_update_[retrieve_appointments] summary: Retrieve Appointments parameters: - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Appointment requestBody: content: application/json: schema: $ref: '#/components/schemas/RetrieveAppointmentsRequestBodyDRF' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RetrieveAppointmentsRequestBodyDRF' multipart/form-data: schema: $ref: '#/components/schemas/RetrieveAppointmentsRequestBodyDRF' security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppointmentDTODRF' description: '' components: schemas: ResultIdResponseObjectDRF: type: object properties: id: type: string BulkDeleteAppointmentsResponseObjectDRF: type: object properties: deletedAppointments: type: integer required: - deletedAppointments AppointmentDTODRF: type: object properties: id: type: string userId: type: string title: type: string description: type: string managerId: type: string status: type: string noteId: type: string callId: type: string keyActionId: type: string startDateTime: type: string format: date-time endDateTime: type: string format: date-time completeDateTime: type: string format: date-time createDateTime: type: string format: date-time updateDateTime: type: string format: date-time RetrieveAppointmentsRequestBodyDRF: type: object properties: fromDateTime: type: string format: date-time toDateTime: type: string format: date-time RetrieveAppointmentsResponseObjectDRF: type: object properties: appointments: type: array items: $ref: '#/components/schemas/AppointmentDTODRF' required: - appointments 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