openapi: 3.0.0 info: version: 1.0.19-oas3 title: AlayaCare Accounting Accounts visit inbox API description: '**AlayaCare IDs:** The following terms are used to reference IDs that identify resources in AlayaCare: - id - visit_id - premium_id - visit_premium_id - employee_id - cost_centre_id - client_id **External IDs** The following terms are used to reference IDs that identify resources systems external to AlayaCare: - employee_external_id - client_external_id External IDs are required to be unique. No other assumptions are made regarding their format they are treated as strings. ' servers: - url: https://example.alayacare.com/ext/api/v2/accounting security: - basic_auth: [] tags: - name: visit inbox paths: /v1/inbox/visits: get: tags: - visit inbox description: '# Authorization Required role: supply `org_admin` who was assigned the associated referral or service. # Description Get a collection of Visits for a given referral or service. One of `referral_id` or `service_id` must be provided. ' parameters: - $ref: '#/components/parameters/ReferralIdQueryParam' - $ref: '#/components/parameters/ServiceIdQueryParam' - $ref: '#/components/parameters/PageNumberParam' - $ref: '#/components/parameters/ItemsPerPageParam' - in: query name: sort_by schema: type: string enum: - last_modified - start_at default: start_at - $ref: '#/components/parameters/SortOrderParam' responses: 200: description: Successfully retrieved a collection of Visits. content: application/json: schema: $ref: '#/components/schemas/InboxVisitPageResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}: get: tags: - visit inbox description: '# Authorization Required role: supply `org_admin` who created or was assigned the visit. # Description Get the details of a Visit for a given Visit ID. ' parameters: - $ref: '#/components/parameters/VisitIdPathParam' responses: 200: description: Successfully retrieved a Visit. content: application/json: schema: $ref: '#/components/schemas/InboxVisitDetailResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/by_inbox_id/{visit_inbox_id}: get: tags: - visit inbox description: '# Authorization Required role: supply `org_admin` who created or was assigned the visit. # Description Get the details of a Visit for a given inbox Visit ID. ' parameters: - in: path name: visit_inbox_id schema: type: string description: ID of a visit in the supply system. required: true responses: 200: description: Successfully retrieved a Visit. content: application/json: schema: $ref: '#/components/schemas/InboxVisitDetailResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/schedule: post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Schedule a visit by the Supply organization for an associated service or referral. One of `referral_id` or `service_id` must be provided. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InboxVisitScheduleRequest' responses: 201: description: Successfully scheduled a Visit. content: application/json: schema: $ref: '#/components/schemas/InboxVisitScheduleResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/assign: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Assign an employee to a visit. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InboxVisitAssignRequest' responses: 204: description: Successfully assigned an employee to the visit. x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/unassign: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Unassign an employee from a visit. ' responses: 204: description: Successfully unassigned the employee from the visit. x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/delete: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Delete a visit of a service referral. The supply organization deleting the visit must be identical to the one that scheduled the original visit. ' responses: 204: description: Successfully deleted the visit. x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/hold: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Hold a visit of a service referral. The supply organization holding the visit must be identical to the one that scheduled the original visit. ' responses: 204: description: Successfully held the visit. x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/cancel: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Cancel a visit of a service referral. The supply organization cancelling the visit must be identical to the one that scheduled the original visit. ' responses: 204: description: Successfully cancelled the visit. x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/reactivate: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Reactivates a visit of a service referral. The supply organization ractivating the visit must be identical to the one that scheduled the original visit. ' responses: 204: description: Successfully reactivated the visit. x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/adjust_timekeeping: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Adjust the timekeeping metadata of a visit. The supply organization holding the visit must be identical to the one that scheduled the original visit. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InboxVisitAdjustTimekeepingRequest' responses: 204: description: Successfully adjusted the verified date-times of the visit. x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/reschedule: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Reschedule a visit of a service referral. The supply organization rescheduling the visit must be identical to the one that scheduled the original visit. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InboxVisitRescheduleRequest' responses: 200: description: Successfully rescheduled visit. content: application/json: schema: $ref: '#/components/schemas/InboxVisitRescheduleResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/tasks: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Create visit tasks for a visit scheduled by supply from a service referral. Each inbox task id must correspond to a referral task''s inbox_id. Inbox task ids that don''t have corresponding referral tasks will be ignored. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InboxVisitTasksCreationRequest' responses: 200: description: Successfully created visit task. content: application/json: schema: $ref: '#/components/schemas/InboxVisitTasksCreationResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy /v1/inbox/visits/{visit_id}/tasks/complete: parameters: - $ref: '#/components/parameters/VisitIdPathParam' post: tags: - visit inbox description: '# Authorization Required role: supply `org_admin`. # Description Complete one (or more) visit task for the specified visit.

Subsequent posts for the same task id updates the task. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InboxVisitTaskCompletionRequest' responses: 200: description: Successfully completed visit tasks. content: application/json: schema: $ref: '#/components/schemas/InboxVisitTaskCollectionResponse' x-amazon-apigateway-integration: uri: Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations httpMethod: POST passthroughBehavior: when_no_match type: aws_proxy components: schemas: InboxVisitScheduleResponse: type: object properties: id: type: string format: uuid inbox_id: type: string minLength: 1 start_at: type: string format: date-time end_at: type: string format: date-time service_id: type: string format: uuid referral_id: type: string format: uuid required: - id - inbox_id - start_at - end_at - service_id - referral_id InboxVisitTaskCollectionResponse: type: object properties: tasks: type: array items: $ref: '#/components/schemas/InboxVisitTaskCompletionCore' required: - tasks InboxVisitRescheduleResponse: type: object properties: id: type: string format: uuid start_at: type: string format: date-time end_at: type: string format: date-time required: - id - start_at - end_at PageNumberCore: type: integer minimum: 1 default: 1 InboxVisitTaskCompletionCore: type: object properties: id: type: string format: uuid is_completed: type: boolean completed_at: type: string format: date-time completion_comment: type: string required: - id - is_completed SortOrderCore: type: string enum: - asc - desc default: desc InboxVisitCore: allOf: - $ref: '#/components/schemas/VisitCore' - type: object properties: inbox_id: type: string InboxVisitPageResponse: allOf: - $ref: '#/components/schemas/PageCore' - type: object properties: items: type: array items: $ref: '#/components/schemas/InboxVisitCollectionResponse' InboxVisitScheduleRequest: type: object properties: inbox_id: type: string minLength: 1 start_at: type: string format: date-time end_at: type: string format: date-time service_id: type: string format: uuid referral_id: type: string format: uuid required: - inbox_id - start_at - end_at ItemsPerPageCore: type: integer minimum: 1 default: 100 PageCore: description: Root page schema for returning collections. type: object properties: page: $ref: '#/components/schemas/PageNumberCore' items_per_page: $ref: '#/components/schemas/ItemsPerPageCore' total_items: type: integer minimum: 0 total_pages: type: integer minimum: 0 required: - page - items_per_page - total_items - total_pages InboxVisitCollectionResponse: allOf: - $ref: '#/components/schemas/InboxVisitCore' VisitCore: type: object properties: id: type: string format: uuid referral_id: type: string format: uuid service_id: type: string format: uuid status: type: string enum: - scheduled - deleted - cancelled - on_hold start_at: type: string format: date-time end_at: type: string format: date-time required: - status - id - referral_id - service_id - start_at - end_at InboxVisitTaskCompletionRequest: type: object properties: tasks: type: array minItems: 1 items: $ref: '#/components/schemas/InboxVisitTaskCompletionCore' required: - tasks InboxVisitAdjustTimekeepingRequest: type: object properties: verified_start_at: type: string format: date-time verified_end_at: type: string format: date-time InboxVisitRescheduleRequest: type: object properties: start_at: type: string format: date-time end_at: type: string format: date-time required: - start_at - end_at InboxVisitTasksCreationRequest: type: object properties: inbox_ids: type: array items: type: string required: - inbox_ids InboxVisitDetailResponse: type: object properties: visit: title: InboxVisitDetailCore allOf: - $ref: '#/components/schemas/InboxVisitCore' - properties: verified_start_at: type: string format: date-time verified_end_at: type: string format: date-time supply_employee: title: InboxVisitDetailSupplyEmployeeResponse type: object properties: id: type: string format: uuid supply_persona_id: type: string format: uuid ssn_placeholder: type: string inbox_employee_id: type: integer first_name: type: string last_name: type: string date_of_birth: type: string format: date data: type: object required: - id - supply_persona_id - ssn_placeholder - inbox_employee_id - first_name - last_name tasks: type: array items: title: InboxVisitDetailVisitTaskResponse type: object properties: id: type: string format: uuid outbox_id: type: string is_completed: type: boolean completed_at: type: string format: date-time completion_comment: type: string required: - id - is_completed required: - visit - tasks InboxVisitTasksCreationResponse: type: object properties: tasks: type: array items: title: InboxVisitTasksCreationItemResponse type: object properties: id: type: string format: uuid inbox_id: type: string required: - id - inbox_id InboxVisitAssignRequest: type: object properties: employee_id: type: integer first_name: type: string last_name: type: string ssn: type: string date_of_birth: type: string format: date data: type: object required: - employee_id - first_name - last_name parameters: SortOrderParam: in: query name: sort_order schema: $ref: '#/components/schemas/SortOrderCore' ReferralIdQueryParam: in: query name: referral_id schema: type: string format: uuid PageNumberParam: in: query name: page schema: $ref: '#/components/schemas/PageNumberCore' ServiceIdQueryParam: in: query name: service_id schema: type: string format: uuid ItemsPerPageParam: in: query name: items_per_page schema: $ref: '#/components/schemas/ItemsPerPageCore' VisitIdPathParam: in: path name: visit_id schema: type: string format: uuid required: true description: ID of a visit. securitySchemes: basic_auth: type: http description: Basic HTTP auth over https scheme: basic