RomM Audit API

The audit API from RomM — 1 operation(s) for audit.

Operations 1

GET /api/audit-events Get Audit Events #

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/romm:romm-audit-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

romm-audit-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RomM Audit API
  version: 5.4.0
tags:
- name: Audit
paths:
  /api/audit-events:
    get:
      tags:
      - Audit
      summary: Get Audit Events
      description: 'The audit log, newest first: everyone''s for an admin, the caller''s own otherwise.'
      operationId: get_audit_events_api_audit_events_get
      security:
      - OAuth2PasswordBearer:
        - me.read
      - HTTPBasic: []
      parameters:
      - name: actor_id
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          description: Only these users' events; ignored unless the caller is an admin.
          title: Actor Id
        description: Only these users' events; ignored unless the caller is an admin.
      - name: action
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Only these actions.
          title: Action
        description: Only these actions.
      - name: category
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              $ref: '#/components/schemas/AuditCategory'
          - type: 'null'
          description: Only actions in these groups.
          title: Category
        description: Only actions in these groups.
      - name: target_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Type
      - name: target_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Id
      - name: since
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Inclusive.
          title: Since
        description: Inclusive.
      - name: until
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Exclusive.
          title: Until
        description: Exclusive.
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Substring match on the actor, target name or IP address.
          title: Search
        description: Substring match on the actor, target name or IP address.
      - name: max_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Pins later pages to the events the first one saw.
          title: Max Id
        description: Pins later pages to the events the first one saw.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          description: Page size limit
          default: 50
          title: Limit
        description: Page size limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Page offset
          default: 0
          title: Offset
        description: Page offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditPage_AuditEventSchema_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AuditCategory:
      type: string
      enum:
      - consumption
      - library
      - collections
      - operations
      - security
      title: AuditCategory
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AuditEventSchema:
      properties:
        id:
          type: integer
          title: Id
        action:
          anyOf:
          - $ref: '#/components/schemas/AuditAction'
          - type: string
          title: Action
        category:
          anyOf:
          - $ref: '#/components/schemas/AuditCategory'
          - type: 'null'
        occurred_at:
          type: string
          title: Occurred At
        actor_kind:
          anyOf:
          - $ref: '#/components/schemas/AuditActorKind'
          - type: string
          title: Actor Kind
        actor:
          anyOf:
          - $ref: '#/components/schemas/NotificationActorSchema'
          - type: 'null'
        actor_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Actor Name
        target_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Type
        target_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Id
        target_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Name
        ip_address:
          anyOf:
          - type: string
          - type: 'null'
          title: Ip Address
        device_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Id
        device_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Device Name
        data:
          additionalProperties: true
          type: object
          title: Data
      type: object
      required:
      - id
      - action
      - category
      - occurred_at
      - actor_kind
      - actor
      - actor_name
      - target_type
      - target_id
      - target_name
      - ip_address
      - device_id
      - device_name
      - data
      title: AuditEventSchema
    NotificationActorSchema:
      properties:
        id:
          type: integer
          title: Id
        username:
          type: string
          title: Username
        avatar_path:
          type: string
          title: Avatar Path
        updated_at:
          type: string
          title: Updated At
      type: object
      required:
      - id
      - username
      - avatar_path
      - updated_at
      title: NotificationActorSchema
    AuditAction:
      type: string
      enum:
      - rom.download
      - rom.bulk_download
      - rom.player_load
      - rom.play
      - rom.upload
      - rom.create
      - rom.edit
      - rom.match
      - rom.unmatch
      - rom.delete
      - rom.file_delete
      - platform.create
      - platform.edit
      - platform.delete
      - firmware.upload
      - firmware.delete
      - config.update
      - collection.create
      - collection.edit
      - collection.delete
      - collection.add_roms
      - collection.remove_roms
      - smart_collection.create
      - smart_collection.edit
      - smart_collection.delete
      - scan.start
      - scan.finish
      - scan.stop
      - task.run
      - auth.login
      - auth.login_failed
      - auth.password_reset_request
      - auth.password_reset
      - user.create
      - user.register
      - user.edit
      - user.delete
      - user.permissions_edit
      - permission_group.create
      - permission_group.edit
      - permission_group.delete
      - visibility.hide
      - visibility.unhide
      - client_token.create
      - client_token.regenerate
      - client_token.revoke
      - device.approve
      title: AuditAction
      description: What someone, or a background job, did; the client builds its sentence from `data`.
    AuditPage_AuditEventSchema_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/AuditEventSchema'
          type: array
          title: Items
        total:
          type: integer
          minimum: 0.0
          title: Total
        limit:
          type: integer
          minimum: 1.0
          title: Limit
        offset:
          type: integer
          minimum: 0.0
          title: Offset
        max_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Id
      type: object
      required:
      - items
      - total
      - limit
      - offset
      title: AuditPage[AuditEventSchema]
    AuditActorKind:
      type: string
      enum:
      - user
      - anonymous
      - system
      title: AuditActorKind
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes:
            me.read: View your profile
            roms.read: View ROMs
            platforms.read: View platforms
            assets.read: View assets
            devices.read: View devices
            firmware.read: View firmware
            roms.user.read: View user-rom properties
            collections.read: View collections
            playlists.read: View music playlists
            me.write: Modify your profile
            assets.write: Modify assets
            devices.write: Modify devices
            roms.user.write: Modify user-rom properties
            collections.write: Modify collections
            playlists.write: Modify music playlists
            roms.write: Modify ROMs
            platforms.write: Modify platforms
            firmware.write: Modify firmware
            users.read: View users
            users.write: Modify users
            tasks.run: Run tasks
            logs.read: View backend logs
          tokenUrl: /token
    HTTPBasic:
      type: http
      scheme: basic