openapi: 3.2.0 info: version: 2.0.0 title: Rest-Service System Audits 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: systemAudits description: Audit logs for certain system events in a given account paths: /systemAudits: get: summary: list operationId: listSystemAudits tags: - systemAudits parameters: - name: createdAt in: query description: "The date/time in which the log was created, in ISO format, including timezone information.\nExample: `2022-09-09T23:59:59-03:00`. Because this is such a specific time, it is recommended \nto use this query parameter twice, combined with `greater than` and `lower than` operators.\nExample: `/systemAudits?createdAt=>2022-09-09T00:00:00-03:00&createdAt=<2022-09-09T23:59:59-03:00`\n" schema: type: string format: date-time - name: appointment in: query description: The ID of an `appointment` related to this log message. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 - name: patient in: query description: The ID of a `patient` related to this log message. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 - name: provider in: query description: The ID of a `provider`/doctor related to this log message. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 - name: appointmentType in: query description: The ID of an `appointmentType` related to this log message. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 - name: facility in: query description: The ID of a `facility` related to this log message. schema: type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 - name: tags in: query description: A keyword used to label a log message. schema: type: string - $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: Returns a list of systemAudits content: application/json: schema: type: object required: - response - page - size properties: response: type: array minItems: 0 items: $ref: '#/components/schemas/SystemAuditResponse' 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 default: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' 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. Error: type: object required: - code - message properties: code: type: integer format: int32 message: type: string 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. SystemAuditResponse: type: object description: Represents a system audit log entry that records actions or changes affecting a patient, appointment, provider, or other resource for compliance and traceability purposes. It links to the related entities involved and stores arbitrary key-value metadata about the event, with entries expiring after 90 days. 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' tags: description: List of labels attached to a log message. type: array items: description: Descriptive label used to group logs of the same kind. type: string log: description: A somewhat friendly log message about a system event. type: string dataPoints: description: A JSON containing key/values of data related to this log message. patient: description: The ID of patient related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 appointment: description: The ID of an `appointment` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 provider: description: The ID of a `provider` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 facility: description: The ID of a `facility` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 referral: description: The ID of a `referral` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 followup: description: The ID of a `followup` (custom action) related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 recall: description: The ID of a `recall` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 message: description: 'The ID of a `message` related to this log message. ATTENTION: old logs generated by followups (custom actions) before Aug 25th, 2022, use `message` as a generic container which may hold the ID of any kind of object, not only messages. ' type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 broadcast: description: The ID of a `broadcast` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 fileUpload: description: 'The ID of a generic `fileUpload` related to this log message. ' type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 upload: description: 'The ID of an `upload` related to this log. Uploads differ from FileUploads because they usually consist of CSV files which are processed in batch to synchronize patients, appointments, providers, facilities and other EHR data that couldn''t be synchronized by other means. ' type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 integrator: description: The ID of an `integrator` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 setting: description: The ID of a `setting` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 patientForm: description: The ID of a `patientForm` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 patientFormTemplate: description: The ID of a `patientFormTemplate` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 billingCopay: description: The ID of a `billingCopay` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 billingTransaction: description: The ID of a `billingTransaction` related to this log message. type: string pattern: '[0-9a-f]' minLength: 24 maxLength: 24 securitySchemes: Bearer: type: http scheme: bearer bearerFormat: JWT