Qualio Compliance Intelligence API

The Compliance Intelligence API from Qualio — 11 operation(s) for compliance intelligence.

OpenAPI Specification

qualio-compliance-intelligence-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Qualio Developer Compliance Intelligence 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: Compliance Intelligence
paths:
  /v1/compliance/frameworks:
    get:
      summary: List frameworks
      description: 'Lists the compliance frameworks in your Qualio instance. A framework is a compliance standard (for example ISO 13485, ISO 9001, or GDPR) that groups the requirements your organisation has committed to meet. Each framework has a status: disabled (not currently in use), implementing (controls are being set up), or monitoring (actively tracking compliance against the standard). Results are ordered by framework id. Use the offset and limit parameters to page through large sets; the total field in the response reports the full count of matching frameworks before pagination is applied. Filter by status to return only frameworks in a particular state; omit the parameter to return frameworks in any state.'
      operationId: listComplianceFrameworks
      tags:
      - Compliance Intelligence
      security:
      - api_key: []
      parameters:
      - in: query
        name: status
        schema:
          description: 'Filter results to only frameworks with this status. Accepted values: disabled, implementing, monitoring. Omit to return frameworks in any state.'
          example: monitoring
          type: string
          enum:
          - disabled
          - implementing
          - monitoring
        description: 'Filter results to only frameworks with this status. Accepted values: disabled, implementing, monitoring. Omit to return frameworks in any state.'
      - in: query
        name: offset
        schema:
          description: Number of items to skip before collecting results. Use with limit to page through results. Defaults to 0.
          example: 0
          type: integer
          minimum: 0
          maximum: 9007199254740991
        description: Number of items to skip before collecting results. Use with limit to page through results. Defaults to 0.
      - in: query
        name: limit
        schema:
          description: Maximum number of items to return in a single response. Minimum 1, maximum 100. Defaults to 25.
          example: 25
          type: integer
          minimum: 1
          maximum: 100
        description: Maximum number of items to return in a single response. Minimum 1, maximum 100. Defaults to 25.
      responses:
        '200':
          description: Successful retrieval of compliance frameworks.
          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:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          exclusiveMinimum: 0
                          maximum: 9007199254740991
                          description: The unique numeric identifier of the framework.
                          example: 1
                        name:
                          type: string
                          description: The display name of the compliance framework.
                          example: ISO 13485
                        description:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: An optional human-readable description of the framework.
                          example: 'Medical devices: Quality management systems'
                        status:
                          type: string
                          enum:
                          - disabled
                          - implementing
                          - monitoring
                          description: 'The current status of the framework. disabled: not currently in use. implementing: controls are being set up. monitoring: actively tracking compliance.'
                          example: monitoring
                      required:
                      - id
                      - name
                      - description
                      - status
                      additionalProperties: false
                  total:
                    type: number
                required:
                - items
                - total
                additionalProperties: false
                description: A paginated list of compliance frameworks.
                example:
                  total: 2
                  items:
                  - id: 1
                    name: ISO 13485
                    description: 'Medical devices: Quality management systems'
                    status: monitoring
                  - id: 2
                    name: ISO 9001
                    description: null
                    status: implementing
                ref: complianceFrameworkListResponse
        '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: 'Lists the compliance frameworks in your Qualio instance. A framework is a compliance standard (for example ISO 13485, ISO 9001, or GDPR) that groups the requirements your organisation has committed to meet. Each framework has a status: disabled (not currently in use), implementing (controls are being set up), or monitoring (actively tracking compliance against the standard). Results are ordered by framework id. Use the offset and limit parameters to page through large sets; the total field in the response reports the full count of matching frameworks before pagination is applied. Filter by status to return only frameworks in a particular state; omit the parameter to return frameworks in any state.'
      operationId: listComplianceFrameworksOptions
      tags:
      - Compliance Intelligence
      x-scalar-ignore: true
      parameters:
      - in: query
        name: status
        schema:
          description: 'Filter results to only frameworks with this status. Accepted values: disabled, implementing, monitoring. Omit to return frameworks in any state.'
          example: monitoring
          type: string
          enum:
          - disabled
          - implementing
          - monitoring
        description: 'Filter results to only frameworks with this status. Accepted values: disabled, implementing, monitoring. Omit to return frameworks in any state.'
      - in: query
        name: offset
        schema:
          description: Number of items to skip before collecting results. Use with limit to page through results. Defaults to 0.
          example: 0
          type: integer
          minimum: 0
          maximum: 9007199254740991
        description: Number of items to skip before collecting results. Use with limit to page through results. Defaults to 0.
      - in: query
        name: limit
        schema:
          description: Maximum number of items to return in a single response. Minimum 1, maximum 100. Defaults to 25.
          example: 25
          type: integer
          minimum: 1
          maximum: 100
        description: Maximum number of items to return in a single response. Minimum 1, maximum 100. Defaults to 25.
      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
    post:
      summary: Create a framework
      description: Creates a new compliance framework in your Qualio instance. Provide a name and an optional description. The framework is created with a disabled status and must be activated in the Qualio application before requirements can be tracked against it. The id returned in the response can be used to retrieve or update the framework via the other Compliance Intelligence endpoints.
      operationId: createComplianceFramework
      tags:
      - Compliance Intelligence
      security:
      - api_key: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  description: The display name of the new compliance framework.
                  example: ISO 13485
                description:
                  description: An optional human-readable description of the framework.
                  example: 'Medical devices: Quality management systems'
                  anyOf:
                  - type: string
                  - type: 'null'
              required:
              - name
              description: The framework to create.
              example:
                name: ISO 13485
                description: 'Medical devices: Quality management systems'
              ref: createComplianceFrameworkRequest
      responses:
        '201':
          description: Framework created successfully.
          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:
                type: object
                properties:
                  id:
                    type: integer
                    exclusiveMinimum: 0
                    maximum: 9007199254740991
                    description: The unique numeric identifier of the framework.
                    example: 1
                  name:
                    type: string
                    description: The display name of the compliance framework.
                    example: ISO 13485
                  description:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: An optional human-readable description of the framework.
                    example: 'Medical devices: Quality management systems'
                  status:
                    type: string
                    enum:
                    - disabled
                    - implementing
                    - monitoring
                    description: 'The current status of the framework. disabled: not currently in use. implementing: controls are being set up. monitoring: actively tracking compliance.'
                    example: monitoring
                  stats:
                    anyOf:
                    - type: object
                      properties:
                        total_requirements:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Total number of requirements in the framework.
                          example: 42
                        passed:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Number of requirements with a met assessment.
                          example: 30
                        failed:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Number of requirements flagged as attention required.
                          example: 5
                        not_assessed:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Number of requirements that have not yet been fully assessed. Includes requirements in not_started and in_progress states.
                          example: 7
                      required:
                      - total_requirements
                      - passed
                      - failed
                      - not_assessed
                      additionalProperties: false
                    - type: 'null'
                required:
                - id
                - name
                - description
                - status
                additionalProperties: false
                description: The newly created framework.
                example:
                  id: 10
                  name: ISO 13485
                  description: 'Medical devices: Quality management systems'
                  status: disabled
                  stats: null
                ref: createdComplianceFramework
        '400':
          description: The request has malformed body
          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/genericBadRequestResponse'
        '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'
  /v1/compliance/frameworks/{frameworkId}:
    put:
      summary: Update a framework
      description: 'Updates a compliance framework identified by its numeric id. This is a partial update: include only the fields you want to change. Omitting a field leaves its current value unchanged. Pass null for description to clear it. To change the framework lifecycle status, use PATCH /v1/compliance/frameworks/{frameworkId}/status.'
      operationId: updateComplianceFramework
      tags:
      - Compliance Intelligence
      security:
      - api_key: []
      parameters:
      - in: path
        name: frameworkId
        schema:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
          description: The numeric id of the compliance framework.
          example: 1
        required: true
        description: The numeric id of the compliance framework.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: New display name for the framework. Omit to leave unchanged.
                  example: ISO 13485 (2016)
                  type: string
                  minLength: 1
                description:
                  description: New description for the framework. Omit to leave unchanged. Pass null to clear an existing description.
                  example: 'Medical devices: Quality management systems'
                  anyOf:
                  - type: string
                  - type: 'null'
              description: Fields to update on the framework.
              example:
                name: ISO 13485 (2016)
                description: 'Medical devices: Quality management systems'
              ref: updateComplianceFrameworkRequest
      responses:
        '200':
          description: Framework updated successfully.
          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:
                type: object
                properties:
                  id:
                    type: integer
                    exclusiveMinimum: 0
                    maximum: 9007199254740991
                    description: The unique numeric identifier of the framework.
                    example: 1
                  name:
                    type: string
                    description: The display name of the compliance framework.
                    example: ISO 13485
                  description:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: An optional human-readable description of the framework.
                    example: 'Medical devices: Quality management systems'
                  status:
                    type: string
                    enum:
                    - disabled
                    - implementing
                    - monitoring
                    description: 'The current status of the framework. disabled: not currently in use. implementing: controls are being set up. monitoring: actively tracking compliance.'
                    example: monitoring
                  stats:
                    description: Assessment statistics for the framework. Populated when the framework status is implementing or monitoring. null or absent when the framework is disabled.
                    example: null
                    anyOf:
                    - type: object
                      properties:
                        total_requirements:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Total number of requirements in the framework.
                          example: 42
                        passed:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Number of requirements with a met assessment.
                          example: 30
                        failed:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Number of requirements flagged as attention required.
                          example: 5
                        not_assessed:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                          description: Number of requirements that have not yet been fully assessed. Includes requirements in not_started and in_progress states.
                          example: 7
                      required:
                      - total_requirements
                      - passed
                      - failed
                      - not_assessed
                      additionalProperties: false
                    - type: 'null'
                required:
                - id
                - name
                - description
                - status
                additionalProperties: false
                description: The updated framework.
                example:
                  id: 1
                  name: ISO 13485 (2016)
                  description: 'Medical devices: Quality management systems'
                  status: monitoring
                  stats: null
                ref: updatedComplianceFramework
        '400':
          description: The request has malformed path 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/genericBadRequest400PathResponse'
        '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'
        '404':
          description: Framework not found.
          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/generic404'
        '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: 'Updates a compliance framework identified by its numeric id. This is a partial update: include only the fields you want to change. Omitting a field leaves its current value unchanged. Pass null for description to clear it. To change the framework lifecycle status, use PATCH /v1/compliance/frameworks/{frameworkId}/status.'
      operationId: updateComplianceFrameworkOptions
      tags:
      - Compliance Intelligence
      x-scalar-ignore: true
      parameters:
      - in: path
        name: frameworkId
        schema:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
          description: The numeric id of the compliance framework.
          example: 1
        required: true
        description: The numeric id of the compliance framework.
      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
    get:
      summary: Get a framework
      description: 'Returns the details of a single compliance framework identified by its numeric id. The stats field is populated when the framework status is implementing or monitoring, and is null when the framework is disabled. Stats break down the framework requirements by assessment outcome: passed counts requirements with a met assessment, failed counts requirements flagged as attention required, and not_assessed counts requirements that are not_started or in_progress. The sum of passed, failed, and not_assessed equals total_requirements.'
      operationId: getComplianceFramework
      tags:
      - Compliance Intelligence
      security:
      - api_key: []
      parameters:
      - in: path
        name: frameworkId
        schema:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
          description: The numeric id of the compliance framework.
          example: 1
        required: true
        description: The numeric id of the compliance framework.
      responses:
        '200':
          description: Successful retrieval of the compliance framework.
          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: 

# --- truncated at 32 KB (189 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/qualio/refs/heads/main/openapi/qualio-compliance-intelligence-api-openapi.yml