openapi: 3.2.0 info: version: 2.0.0 title: Rest-Service Assistant Actions API x-logo: url: https://lumahealth-assets.s3.us-west-2.amazonaws.com/new_luma_logo_black.png backgroundColor: '#FFFFFF' altText: Luma Health description: OpenAPI [Basic Structure](https://swagger.io/docs/specification/basic-structure/) servers: - url: https://api.lumahealth.io/api/v2 security: - Bearer: [] tags: - name: assistantActions description: Audit log of individual tool calls made by the Navigator AI assistant during a conversation paths: /assistantActions: get: summary: List assistant actions operationId: assistantActionsList tags: - assistantActions parameters: - name: assistantInstance in: query description: ID of the assistant instance (conversation). schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 - name: functionName in: query schema: type: string - name: status in: query schema: type: string enum: - success - failure - pending - $ref: '#/components/parameters/userParam' - $ref: '#/components/parameters/deletedParam' - $ref: '#/components/parameters/createdByParam' - $ref: '#/components/parameters/updatedByParam' - $ref: '#/components/parameters/createdAtParam' - $ref: '#/components/parameters/updatedAtParam' - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/populateParam' - $ref: '#/components/parameters/selectParam' responses: '200': description: List of assistant actions content: application/json: schema: type: object required: - response - page - size properties: response: type: array minItems: 0 items: $ref: '#/components/schemas/AssistantActionResponse' page: type: integer format: int32 minimum: 1 size: type: integer format: int32 minimum: 0 additionalProperties: false '401': description: Not authenticated '403': description: Access token does not have the required scope post: summary: Create an assistant action operationId: assistantActionCreate tags: - assistantActions requestBody: description: Create an assistant action required: true content: application/json: schema: $ref: '#/components/schemas/AssistantActionRequestCreate' responses: '201': description: Successful creation content: application/json: schema: $ref: '#/components/schemas/AssistantActionResponse' '401': description: Not authenticated '403': description: Access token does not have the required scope /assistantActions/{assistantActionId}: get: summary: Get assistant action by id operationId: assistantActionGet tags: - assistantActions parameters: - name: assistantActionId in: path required: true description: AssistantAction's unique identifier in Luma's database. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 responses: '200': description: AssistantAction content: application/json: schema: $ref: '#/components/schemas/AssistantActionResponse' '401': description: Not authenticated '403': description: Access token does not have the required scope put: summary: Update an assistant action operationId: assistantActionUpdate tags: - assistantActions parameters: - name: assistantActionId in: path required: true description: AssistantAction's unique identifier in Luma's database. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 requestBody: description: An assistant action (full or partial) to be updated required: true content: application/json: schema: $ref: '#/components/schemas/AssistantActionRequestUpdate' responses: '200': description: AssistantAction content: application/json: schema: $ref: '#/components/schemas/AssistantActionResponse' '401': description: Not authenticated '403': description: Access token does not have the required scope delete: summary: Delete an assistant action operationId: assistantActionDelete tags: - assistantActions parameters: - name: assistantActionId in: path required: true description: AssistantAction's unique identifier in Luma's database. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 responses: '200': description: Deleted assistant action content: application/json: schema: $ref: '#/components/schemas/AssistantActionResponse' '401': description: Not authenticated '403': description: Access token does not have the required scope components: parameters: pageParam: in: query name: page required: false type: integer format: int32 default: 1 minimum: 1 schema: type: integer format: int32 default: 1 minimum: 1 createdAtParam: in: query name: createdAt type: string format: date-time schema: type: string format: date-time required: false description: The date/time when this object was created. updatedAtParam: in: query name: updatedAt type: string format: date-time schema: type: string format: date-time required: false description: The date/time when this object was updated. updatedByParam: in: query name: updatedBy required: false type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 description: The ID of the user who updated this object. createdByParam: in: query name: createdBy type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 required: false description: The ID of the user who created this object. populateParam: name: _populate in: query description: Response properties which will be replaced by the referenced objects, separated by commas. required: false type: string schema: type: string selectParam: name: _select in: query description: Response properties that should be returned, separated by commas. required: false type: string schema: type: string deletedParam: in: query name: deleted required: false type: number enum: - 0 - 1 schema: type: number enum: - 0 - 1 description: Flag for logical deletion where 1 means deleted. limitParam: name: limit in: query description: How many items to fetch per page required: false type: integer format: int32 default: 500 minimum: 1 maximum: 1000 schema: type: integer format: int32 default: 500 minimum: 1 maximum: 1000 userParam: in: query name: user required: false type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 description: The ID of the root account user. schemas: userParam: in: query name: user required: false type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 description: The ID of the root account user. AssistantActionRequestCreate: type: object required: - description - status - functionName - parameters - response - assistantInstance properties: _id: $ref: '#/components/schemas/idParam' user: $ref: '#/components/schemas/userParam' deleted: $ref: '#/components/schemas/deletedParam' createdBy: $ref: '#/components/schemas/createdByParam' updatedBy: $ref: '#/components/schemas/updatedByParam' createdAt: $ref: '#/components/schemas/createdAtParam' updatedAt: $ref: '#/components/schemas/updatedAtParam' description: type: string description: Free-form description of the action taken. status: type: string description: Outcome of the underlying API call this action made. enum: - success - failure - pending functionName: type: string description: Name of the tool/function called, for example `cancelAppointment` or `listAvailabilities`. parameters: description: The parameters passed to the underlying API call. response: description: The raw response returned by the underlying API call. assistantInstance: type: string description: ID of the AssistantInstance (conversation) this action was taken during. pattern: '[0-9a-f]' minLength: 24 maxLength: 24 AssistantActionRequestUpdate: type: object properties: _id: $ref: '#/components/schemas/idParam' user: $ref: '#/components/schemas/userParam' deleted: $ref: '#/components/schemas/deletedParam' createdBy: $ref: '#/components/schemas/createdByParam' updatedBy: $ref: '#/components/schemas/updatedByParam' createdAt: $ref: '#/components/schemas/createdAtParam' updatedAt: $ref: '#/components/schemas/updatedAtParam' description: type: string description: Free-form description of the action taken. status: type: string description: Outcome of the underlying API call this action made. enum: - success - failure - pending functionName: type: string description: Name of the tool/function called, for example `cancelAppointment` or `listAvailabilities`. parameters: description: The parameters passed to the underlying API call. response: description: The raw response returned by the underlying API call. assistantInstance: type: string description: ID of the AssistantInstance (conversation) this action was taken during. pattern: '[0-9a-f]' minLength: 24 maxLength: 24 AssistantActionResponse: type: object description: An AssistantAction is an audit-log record of a single tool or function call made by the Navigator AI assistant during a conversation, such as listing appointments, canceling an appointment, or confirming an appointment. It captures the function name, the parameters passed in, the raw response, and whether the call succeeded, failed, or is still pending, and is linked to the parent AssistantInstance conversation it occurred during. properties: _id: $ref: '#/components/schemas/idParam' user: $ref: '#/components/schemas/userParam' deleted: $ref: '#/components/schemas/deletedParam' createdBy: $ref: '#/components/schemas/createdByParam' updatedBy: $ref: '#/components/schemas/updatedByParam' createdAt: $ref: '#/components/schemas/createdAtParam' updatedAt: $ref: '#/components/schemas/updatedAtParam' description: type: string description: Free-form description of the action taken. status: type: string description: Outcome of the underlying API call this action made. enum: - success - failure - pending functionName: type: string description: Name of the tool/function called, for example `cancelAppointment` or `listAvailabilities`. parameters: description: The parameters passed to the underlying API call. response: description: The raw response returned by the underlying API call. assistantInstance: type: string description: ID of the AssistantInstance (conversation) this action was taken during. pattern: '[0-9a-f]' minLength: 24 maxLength: 24 idParam: in: query name: _id type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 required: false schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 description: Luma's internal ID of an object. updatedAtParam: in: query name: updatedAt type: string format: date-time schema: type: string format: date-time required: false description: The date/time when this object was updated. createdAtParam: in: query name: createdAt type: string format: date-time schema: type: string format: date-time required: false description: The date/time when this object was created. updatedByParam: in: query name: updatedBy required: false type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 description: The ID of the user who updated this object. deletedParam: in: query name: deleted required: false type: number enum: - 0 - 1 schema: type: number enum: - 0 - 1 description: Flag for logical deletion where 1 means deleted. createdByParam: in: query name: createdBy type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 required: false description: The ID of the user who created this object. securitySchemes: Bearer: type: http scheme: bearer bearerFormat: JWT