Qualio Audit Trail API

The Audit Trail API from Qualio — 1 operation(s) for audit trail.

Operations 2

GET /v1/audit-trail/audits Query the audit trail #
OPTIONS /v1/audit-trail/audits #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/qualio-audit-trail-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

qualio-audit-trail-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Qualio Developer Audit Trail API
  version: '0.1'
  description: "Whether you're streamlining document control, automating quality event management, integrating training records, or syncing supplier data across systems, the Qualio API provides secure and scalable solutions. Getting started is easy: generate an API key, authenticate your requests, explore example code, and start building. Follow the steps below to integrate with Qualio quickly and efficiently.\n\n  This portal includes everything you need to build with confidence:\n- Secure, token-based authentication\n- Full reference documentation for each endpoint\n- Example code in multiple programming languages\n- \"Try it out\" functionality to test requests live\n- Fair usage rate limits to ensure system stability\n \n\n #### Generate Your API Key \n To access the API, you’ll need an API key:\n\n- Log in to the [Qualio admin panel](https://app.qualio.com/user-management/admin).\n\n- Navigate to Admin Settings > [Developer API tokens](https://app.qualio.com/user-management/admin/dev-api).\n\n- Click Create token and save the key securely.\n\n- Only users with administrative privileges can generate API keys. \n\n\n\nIf you don’t have admin access, please ask your Qualio administrator to create a key for you.\n \n\n #### Authenticate Your Requests\n\nQualio uses API key authentication using the X-Api-Key header. Add your API key in the authentication panel to the right to see examples of how to use it in a language of your choice.\n \n\n #### Make Your First API Call\n\nHere is an easy place to get started: [fetching all your effective documents](#tag/documents/GET/v1/documents/query)\n \n\n #### Respect Rate Limits\n\nTo ensure fair use and maintain performance, API requests are subject to rate limits:\n\n- Each API key has a request threshold of maximum 200 requests per minute\n- If you exceed this limit, you'll receive an HTTP 429 (Too Many Requests) response.\n- We recommend implementing retry logic in your client applications, if this is a concern for you.\n\n \n\n #### Explore and Build\nUse the navigation panel to browse available API endpoints, such as:\n- Documents — Create, query, and manage your controlled documents\n- User Management — Invite users, update roles, or sync user data\n- Audit Trail — Retrieve historical changes for compliance reporting\n- You’ll find example code in Python, JavaScript, C#, Ruby, PHP, Go, and Shell for each endpoint. Click “Try it out” to test requests directly from the browser.\n \n\n #### How is this API versioned? \n We prefix each URL with the major version of the API. Within this major version, we promise to not make any breaking changes, which are:\n - Changes to the datatype of request or response payload attribute. \n - Removal of an attribute or parameter. \n - Changes to a URL. \n\n We do not consider the following to be breaking changes: \n - Additional attributes on return payloads  \n - Additional optional attributes on request payloads \n\n \n#### Where can I get an OpenApi spec for this? \n You can [find it here](/download-openapi), but bear in mind that this API is updated regularly, so be sure to fetch it afresh for the latest features\n"
servers:
- url: https://api.qualio.com
security:
- api_key: []
tags:
- name: Audit Trail
paths:
  /v1/audit-trail/audits:
    get:
      summary: Query the audit trail
      description: 'Returns the company''s audit trail: a chronological, immutable log of significant user and system activity across the quality management system (also referred to as the activity log or history). Each entry captures the action performed, the user who performed it (or none, for automated system actions), the date, and a link to the affected object. Tracked activity includes document approvals, reviews and status changes; user and group management (invitations, account changes, group membership); tag changes; quality event, issue and task activity; periodic reviews; and configuration changes such as SSO and billing. Results are scoped to the company associated with the API key and can be filtered by user and by date range.'
      operationId: queryAuditTrail
      tags:
      - Audit Trail
      security:
      - api_key: []
      parameters:
      - in: query
        name: offset
        schema:
          $ref: '#/components/schemas/offsetParam'
        description: A start point for the batch to be returned. For example, a value of 5 will start at the 6th element in the overall population
      - in: query
        name: limit
        schema:
          $ref: '#/components/schemas/limitParam'
        required: true
        description: The maximum number of results to return. This is typically used with offset to paginate results.
      - in: query
        name: user_id
        schema:
          $ref: '#/components/schemas/userIdParam'
        description: A unique identifier for a user in Qualio
      - in: query
        name: start_date
        schema:
          $ref: '#/components/schemas/startDateParam'
        description: Filter results from this date onwards (ISO 8601 format)
      - in: query
        name: end_date
        schema:
          $ref: '#/components/schemas/endDateParam'
        description: Filter results up to this date (ISO 8601 format)
      responses:
        '200':
          description: Successful audit trail retrieval
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Content-Type:
              schema:
                type: string
            Content-Disposition:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auditTrailResp'
        '400':
          description: The request has malformed query parameters
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Content-Type:
              schema:
                type: string
            Content-Disposition:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericBadRequest400ParametersResponse'
        '403':
          description: This API key is not allowed to perform this action, or the API key is incorrect
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Content-Type:
              schema:
                type: string
            Content-Disposition:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericForbiddenResponse'
        '429':
          description: This API key has exceeded the fair usage policy in Qualio, and has it its requests restricted. This request has not been processed
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Content-Type:
              schema:
                type: string
            Content-Disposition:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/throttledResponse'
    options:
      description: 'Returns the company''s audit trail: a chronological, immutable log of significant user and system activity across the quality management system (also referred to as the activity log or history). Each entry captures the action performed, the user who performed it (or none, for automated system actions), the date, and a link to the affected object. Tracked activity includes document approvals, reviews and status changes; user and group management (invitations, account changes, group membership); tag changes; quality event, issue and task activity; periodic reviews; and configuration changes such as SSO and billing. Results are scoped to the company associated with the API key and can be filtered by user and by date range.'
      operationId: queryAuditTrailOptions
      tags:
      - Audit Trail
      x-scalar-ignore: true
      parameters:
      - in: query
        name: offset
        schema:
          $ref: '#/components/schemas/offsetParam'
        description: A start point for the batch to be returned. For example, a value of 5 will start at the 6th element in the overall population
      - in: query
        name: limit
        schema:
          $ref: '#/components/schemas/limitParam'
        required: true
        description: The maximum number of results to return. This is typically used with offset to paginate results.
      - in: query
        name: user_id
        schema:
          $ref: '#/components/schemas/userIdParam'
        description: A unique identifier for a user in Qualio
      - in: query
        name: start_date
        schema:
          $ref: '#/components/schemas/startDateParam'
        description: Filter results from this date onwards (ISO 8601 format)
      - in: query
        name: end_date
        schema:
          $ref: '#/components/schemas/endDateParam'
        description: Filter results up to this date (ISO 8601 format)
      responses:
        '200':
          description: Options 200
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Content-Type:
              schema:
                type: string
            Content-Disposition:
              schema:
                type: string
components:
  schemas:
    auditTrailResp:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              date:
                type: string
              target:
                anyOf:
                - type: string
                - type: 'null'
              audit_id:
                type: string
              action:
                type: string
              user_id:
                anyOf:
                - type: number
                - type: 'null'
            required:
            - date
            - target
            - audit_id
            - action
            - user_id
            additionalProperties: false
        total:
          type: number
      required:
      - items
      - total
      additionalProperties: false
      description: A series of audit trail entries
      example:
        items:
        - date: '2025-05-01T14:48:43.472Z'
          target: POL-1 Security Policy v1.0
          audit_id: document-aaaa04f1-01a9-43a8-ab9f-ac5c7dd1ec5c
          action: Approved
          user_id: 99
        total: 1
    userIdParam:
      description: A unique identifier for a user in Qualio
      example: 12345
      type: number
    genericForbiddenResponse:
      type: object
      properties:
        message:
          type: string
      required:
      - message
      additionalProperties: false
      example:
        message: User is not authorized to access this resource with an explicit deny
    genericBadRequest400ParametersResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              description:
                type: string
              location:
                type: string
              name:
                type: string
            required:
            - description
            additionalProperties: false
        status:
          type: string
          const: error
      required:
      - errors
      - status
      additionalProperties: false
      example:
        status: error
        errors:
        - location: query
          name: document_id
          description: document_id is not an integer
    throttledResponse:
      type: object
      properties:
        message:
          type: string
      required:
      - message
      additionalProperties: false
      example:
        message: You have exceeded what is allowed in the fair use policy for this API
    limitParam:
      type: number
      description: The maximum number of results to return. This is typically used with offset to paginate results.
      example: 30
    endDateParam:
      description: Filter results up to this date (ISO 8601 format)
      example: '2025-12-31T23:59:59Z'
      type: string
    startDateParam:
      description: Filter results from this date onwards (ISO 8601 format)
      example: '2025-01-01T00:00:00Z'
      type: string
    offsetParam:
      description: A start point for the batch to be returned. For example, a value of 5 will start at the 6th element in the overall population
      example: 0
      type: number
  securitySchemes:
    api_key:
      type: apiKey
      name: X-Api-Key
      in: header