APIClarity API Events API

Captured API traffic events.

Operations 4

GET /apiEvents Get API events
GET /apiEvents/{eventId} Get API event
GET /apiEvents/{eventId}/reconstructedSpecDiff Get API event reconstructed spec diff
GET /apiEvents/{eventId}/providedSpecDiff Get API event provided spec diff

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/apiclarity-api-events-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

apiclarity-api-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: APIClarity API Events API
  description: APIClarity is an open source API security and observability tool that analyzes API traffic to reconstruct OpenAPI specifications, detect shadow and zombie APIs, identify API differences and changes, and provide API security alerts. This is the REST API exposed by an APIClarity deployment.
  version: 1.0.0
  contact:
    name: OpenClarity
    url: https://github.com/openclarity/apiclarity
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: http://localhost:8080/api
  description: Local APIClarity deployment
tags:
- name: API Events
  description: Captured API traffic events.
paths:
  /apiEvents:
    get:
      summary: Get API events
      tags:
      - API Events
      parameters:
      - $ref: '#/components/parameters/startTime'
      - $ref: '#/components/parameters/endTime'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/apiEventSortKey'
      - $ref: '#/components/parameters/sortDir'
      - $ref: '#/components/parameters/showNonApi'
      - $ref: '#/components/parameters/apiInfoIdIsFilter'
      - $ref: '#/components/parameters/methodIsFilter'
      - $ref: '#/components/parameters/pathIsFilter'
      - $ref: '#/components/parameters/pathIsNotFilter'
      - $ref: '#/components/parameters/pathStartsWithFilter'
      - $ref: '#/components/parameters/pathEndsWithFilter'
      - $ref: '#/components/parameters/pathContainsFilter'
      - $ref: '#/components/parameters/statusCodeIsFilter'
      - $ref: '#/components/parameters/statusCodeIsNotFilter'
      - $ref: '#/components/parameters/statusCodeGteFilter'
      - $ref: '#/components/parameters/statusCodeLteFilter'
      - $ref: '#/components/parameters/sourceIPIsFilter'
      - $ref: '#/components/parameters/sourceIPIsNotFilter'
      - $ref: '#/components/parameters/destinationIPIsFilter'
      - $ref: '#/components/parameters/destinationIPIsNotFilter'
      - $ref: '#/components/parameters/destinationPortIsFilter'
      - $ref: '#/components/parameters/destinationPortIsNotFilter'
      - $ref: '#/components/parameters/hasSpecDiffFilter'
      - $ref: '#/components/parameters/specDiffTypeIsFilter'
      - $ref: '#/components/parameters/specIsFilter'
      - $ref: '#/components/parameters/specIsNotFilter'
      - $ref: '#/components/parameters/specStartsWithFilter'
      - $ref: '#/components/parameters/specEndsWithFilter'
      - $ref: '#/components/parameters/specContainsFilter'
      - $ref: '#/components/parameters/alertIsFilter'
      - $ref: '#/components/parameters/alertIsType'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - total
                properties:
                  total:
                    type: integer
                    description: Total events count in the given time range and filters
                  items:
                    type: array
                    description: List of API events in the given time range, filters and page. List length must be lower or equal to pageSize
                    items:
                      $ref: '#/components/schemas/ApiEvent'
        default:
          description: Response
  /apiEvents/{eventId}:
    get:
      summary: Get API event
      tags:
      - API Events
      parameters:
      - name: eventId
        in: path
        required: true
        description: API event ID
        schema:
          type: integer
          format: uint32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEvent'
        default:
          description: Response
  /apiEvents/{eventId}/reconstructedSpecDiff:
    get:
      summary: Get API event reconstructed spec diff
      tags:
      - API Events
      parameters:
      - name: eventId
        in: path
        required: true
        description: API event ID
        schema:
          type: integer
          format: uint32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEventSpecDiff'
        default:
          description: Response
  /apiEvents/{eventId}/providedSpecDiff:
    get:
      summary: Get API event provided spec diff
      tags:
      - API Events
      parameters:
      - name: eventId
        in: path
        required: true
        description: API event ID
        schema:
          type: integer
          format: uint32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEventSpecDiff'
        default:
          description: Response
components:
  schemas:
    ApiEvent:
      type: object
      properties:
        id:
          type: integer
          format: uint32
        requestTime:
          type: string
          format: date-time
        time:
          type: string
          format: date-time
        method:
          $ref: '#/components/schemas/HttpMethod'
        path:
          type: string
        query:
          type: string
        statusCode:
          type: integer
        sourceIP:
          type: string
        destinationIP:
          type: string
        destinationPort:
          type: integer
        hasReconstructedSpecDiff:
          type: boolean
          default: false
        hasProvidedSpecDiff:
          type: boolean
          default: false
        specDiffType:
          $ref: '#/components/schemas/DiffType'
        hostSpecName:
          type: string
        apiInfoId:
          type: integer
          description: hold the relevant api spec info id
          format: uint32
        apiType:
          $ref: '#/components/schemas/ApiType'
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/ModuleAlert'
    ApiType:
      type: string
      enum:
      - INTERNAL
      - EXTERNAL
    HttpMethod:
      type: string
      enum:
      - GET
      - HEAD
      - POST
      - PUT
      - DELETE
      - CONNECT
      - OPTIONS
      - TRACE
      - PATCH
    DiffType:
      type: string
      default: NO_DIFF
      enum:
      - ZOMBIE_DIFF
      - SHADOW_DIFF
      - GENERAL_DIFF
      - NO_DIFF
    ApiEventSpecDiff:
      type: object
      required:
      - oldSpec
      - newSpec
      properties:
        diffType:
          $ref: '#/components/schemas/DiffType'
        oldSpec:
          description: Old spec json string
          type: string
        newSpec:
          description: New spec json string
          type: string
    ModuleAlert:
      type: object
      properties:
        moduleName:
          description: Name of the module which created this alert
          type: string
        reason:
          description: Optional description of reason of the alert
          type: string
        alert:
          $ref: '#/components/schemas/AlertSeverityEnum'
    AlertSeverityEnum:
      description: Level of alert
      type: string
      enum:
      - ALERT_INFO
      - ALERT_WARN
      - ALERT_CRITICAL
  parameters:
    apiEventSortKey:
      name: sortKey
      in: query
      required: true
      description: Sort key
      schema:
        type: string
        enum:
        - time
        - method
        - path
        - statusCode
        - sourceIP
        - destinationIP
        - destinationPort
        - specDiffType
        - hostSpecName
        - apiType
    pathIsFilter:
      name: path[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    destinationIPIsFilter:
      name: destinationIP[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    pathIsNotFilter:
      name: path[isNot]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    specContainsFilter:
      name: spec[contains]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    sortDir:
      name: sortDir
      in: query
      required: false
      description: Sorting direction
      schema:
        type: string
        enum:
        - ASC
        - DESC
        default: ASC
    pathContainsFilter:
      name: path[contains]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    specStartsWithFilter:
      name: spec[start]
      in: query
      required: false
      schema:
        type: string
    statusCodeGteFilter:
      name: statusCode[gte]
      in: query
      required: false
      description: greater than or equal
      schema:
        type: string
    alertIsFilter:
      name: alert[is]
      in: query
      required: false
      description: Alert Kind [ALERT_INFO or ALERT_WARN]
      schema:
        type: array
        items:
          type: string
          enum:
          - ALERT_INFO
          - ALERT_WARN
          - ALERT_CRITICAL
    statusCodeIsFilter:
      name: statusCode[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    sourceIPIsNotFilter:
      name: sourceIP[isNot]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    specEndsWithFilter:
      name: spec[end]
      in: query
      required: false
      schema:
        type: string
    specIsFilter:
      name: spec[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    pathEndsWithFilter:
      name: path[end]
      in: query
      required: false
      schema:
        type: string
    statusCodeIsNotFilter:
      name: statusCode[isNot]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    statusCodeLteFilter:
      name: statusCode[lte]
      in: query
      required: false
      description: less than or equal
      schema:
        type: string
    methodIsFilter:
      name: method[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
          enum:
          - GET
          - HEAD
          - POST
          - PUT
          - DELETE
          - CONNECT
          - OPTIONS
          - TRACE
          - PATCH
    destinationIPIsNotFilter:
      name: destinationIP[isNot]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    specDiffTypeIsFilter:
      name: specDiffType[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
          enum:
          - ZOMBIE_DIFF
          - SHADOW_DIFF
          - GENERAL_DIFF
          - NO_DIFF
    showNonApi:
      name: showNonApi
      in: query
      required: true
      schema:
        type: boolean
    page:
      name: page
      in: query
      required: true
      description: Page number of the query
      schema:
        type: integer
    startTime:
      name: startTime
      in: query
      required: true
      description: Start time of the query
      schema:
        type: string
        format: date-time
    alertIsType:
      name: alertType[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    hasSpecDiffFilter:
      name: hasSpecDiff[is]
      in: query
      required: false
      schema:
        type: boolean
    endTime:
      name: endTime
      in: query
      required: true
      description: End time of the query
      schema:
        type: string
        format: date-time
    pageSize:
      name: pageSize
      in: query
      required: true
      description: Maximum items to return
      schema:
        type: integer
        minimum: 1
        maximum: 50
    specIsNotFilter:
      name: spec[isNot]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    sourceIPIsFilter:
      name: sourceIP[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    destinationPortIsNotFilter:
      name: destinationPort[isNot]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
    pathStartsWithFilter:
      name: path[start]
      in: query
      required: false
      schema:
        type: string
    apiInfoIdIsFilter:
      name: apiInfoId[is]
      in: query
      required: false
      schema:
        type: integer
        format: uint32
    destinationPortIsFilter:
      name: destinationPort[is]
      in: query
      required: false
      schema:
        type: array
        items:
          type: string