OpenReplay · Capability

OpenReplay API

The OpenReplay Public REST API (v2) provides programmatic access to projects, sessions, events, users, background jobs, and live Assist sessions (Enterprise Edition). All endpoints accept and return JSON, with successful responses wrapped as `{ "data": ... }` and errors as `{ "error": "..." }`.

Run with Naftiko OpenreplayAPI

What You Can Do

GET
Listprojects — List projects
/public/projects
POST
Createproject — Create project
/public/projects
GET
Getproject — Get project
/public/projects/{projectKey}
POST
Searchusers — Search users
/public/{projectKey}/users
GET
Getuser — Get user
/public/{projectKey}/users/{userId}
DELETE
Deleteuser — Delete user
/public/{projectKey}/users/{userId}
POST
Listusersessions — List user sessions
/public/{projectKey}/users/{userId}/sessions
POST
Listsessionevents — List session events
/public/{projectKey}/sessions/{sessionId}/events
GET
Listjobs — List jobs
/public/{projectKey}/jobs
GET
Getjob — Get job
/public/{projectKey}/jobs/{jobId}
DELETE
Canceljob — Cancel job
/public/{projectKey}/jobs/{jobId}
GET
Listlivesessions — List live sessions
/public/{projectKey}/assist/sessions
POST
Searchlivesessions — Search live sessions
/public/{projectKey}/assist/sessions

MCP Tools

listprojects

List projects

read-only idempotent
createproject

Create project

getproject

Get project

read-only idempotent
searchusers

Search users

getuser

Get user

read-only idempotent
deleteuser

Delete user

idempotent
listusersessions

List user sessions

listsessionevents

List session events

listjobs

List jobs

read-only idempotent
getjob

Get job

read-only idempotent
canceljob

Cancel job

idempotent
listlivesessions

List live sessions

read-only idempotent
searchlivesessions

Search live sessions

Capability Spec

openreplay-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenReplay API
  description: 'The OpenReplay Public REST API (v2) provides programmatic access to projects, sessions, events, users, background
    jobs, and live Assist sessions (Enterprise Edition). All endpoints accept and return JSON, with successful responses wrapped
    as `{ "data": ... }` and errors as `{ "error": "..." }`.'
  tags:
  - Openreplay
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: openreplay
    baseUri: https://api.openreplay.com/v2
    description: OpenReplay API HTTP API.
    authentication:
      type: bearer
      token: '{{OPENREPLAY_TOKEN}}'
    resources:
    - name: public-projects
      path: /public/projects
      operations:
      - name: listprojects
        method: GET
        description: List projects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createproject
        method: POST
        description: Create project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projects-projectkey
      path: /public/projects/{projectKey}
      operations:
      - name: getproject
        method: GET
        description: Get project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projectkey-users
      path: /public/{projectKey}/users
      operations:
      - name: searchusers
        method: POST
        description: Search users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projectkey-users-userid
      path: /public/{projectKey}/users/{userId}
      operations:
      - name: getuser
        method: GET
        description: Get user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteuser
        method: DELETE
        description: Delete user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projectkey-users-userid-sessions
      path: /public/{projectKey}/users/{userId}/sessions
      operations:
      - name: listusersessions
        method: POST
        description: List user sessions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projectkey-sessions-sessionid-events
      path: /public/{projectKey}/sessions/{sessionId}/events
      operations:
      - name: listsessionevents
        method: POST
        description: List session events
        inputParameters:
        - name: sessionId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projectkey-jobs
      path: /public/{projectKey}/jobs
      operations:
      - name: listjobs
        method: GET
        description: List jobs
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: page
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projectkey-jobs-jobid
      path: /public/{projectKey}/jobs/{jobId}
      operations:
      - name: getjob
        method: GET
        description: Get job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: canceljob
        method: DELETE
        description: Cancel job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: public-projectkey-assist-sessions
      path: /public/{projectKey}/assist/sessions
      operations:
      - name: listlivesessions
        method: GET
        description: List live sessions
        inputParameters:
        - name: userId
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: searchlivesessions
        method: POST
        description: Search live sessions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: openreplay-rest
    description: REST adapter for OpenReplay API.
    resources:
    - path: /public/projects
      name: listprojects
      operations:
      - method: GET
        name: listprojects
        description: List projects
        call: openreplay.listprojects
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/projects
      name: createproject
      operations:
      - method: POST
        name: createproject
        description: Create project
        call: openreplay.createproject
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/projects/{projectKey}
      name: getproject
      operations:
      - method: GET
        name: getproject
        description: Get project
        call: openreplay.getproject
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/users
      name: searchusers
      operations:
      - method: POST
        name: searchusers
        description: Search users
        call: openreplay.searchusers
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/users/{userId}
      name: getuser
      operations:
      - method: GET
        name: getuser
        description: Get user
        call: openreplay.getuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/users/{userId}
      name: deleteuser
      operations:
      - method: DELETE
        name: deleteuser
        description: Delete user
        call: openreplay.deleteuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/users/{userId}/sessions
      name: listusersessions
      operations:
      - method: POST
        name: listusersessions
        description: List user sessions
        call: openreplay.listusersessions
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/sessions/{sessionId}/events
      name: listsessionevents
      operations:
      - method: POST
        name: listsessionevents
        description: List session events
        call: openreplay.listsessionevents
        with:
          sessionId: rest.sessionId
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/jobs
      name: listjobs
      operations:
      - method: GET
        name: listjobs
        description: List jobs
        call: openreplay.listjobs
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/jobs/{jobId}
      name: getjob
      operations:
      - method: GET
        name: getjob
        description: Get job
        call: openreplay.getjob
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/jobs/{jobId}
      name: canceljob
      operations:
      - method: DELETE
        name: canceljob
        description: Cancel job
        call: openreplay.canceljob
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/assist/sessions
      name: listlivesessions
      operations:
      - method: GET
        name: listlivesessions
        description: List live sessions
        call: openreplay.listlivesessions
        outputParameters:
        - type: object
          mapping: $.
    - path: /public/{projectKey}/assist/sessions
      name: searchlivesessions
      operations:
      - method: POST
        name: searchlivesessions
        description: Search live sessions
        call: openreplay.searchlivesessions
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: openreplay-mcp
    transport: http
    description: MCP adapter for OpenReplay API for AI agent use.
    tools:
    - name: listprojects
      description: List projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openreplay.listprojects
      outputParameters:
      - type: object
        mapping: $.
    - name: createproject
      description: Create project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openreplay.createproject
      outputParameters:
      - type: object
        mapping: $.
    - name: getproject
      description: Get project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openreplay.getproject
      outputParameters:
      - type: object
        mapping: $.
    - name: searchusers
      description: Search users
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openreplay.searchusers
      outputParameters:
      - type: object
        mapping: $.
    - name: getuser
      description: Get user
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openreplay.getuser
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteuser
      description: Delete user
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: openreplay.deleteuser
      outputParameters:
      - type: object
        mapping: $.
    - name: listusersessions
      description: List user sessions
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openreplay.listusersessions
      outputParameters:
      - type: object
        mapping: $.
    - name: listsessionevents
      description: List session events
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openreplay.listsessionevents
      with:
        sessionId: tools.sessionId
      inputParameters:
      - name: sessionId
        type: string
        description: sessionId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listjobs
      description: List jobs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openreplay.listjobs
      with:
        limit: tools.limit
        page: tools.page
      inputParameters:
      - name: limit
        type: integer
        description: limit
      - name: page
        type: integer
        description: page
      outputParameters:
      - type: object
        mapping: $.
    - name: getjob
      description: Get job
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openreplay.getjob
      outputParameters:
      - type: object
        mapping: $.
    - name: canceljob
      description: Cancel job
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: openreplay.canceljob
      outputParameters:
      - type: object
        mapping: $.
    - name: listlivesessions
      description: List live sessions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openreplay.listlivesessions
      with:
        userId: tools.userId
      inputParameters:
      - name: userId
        type: string
        description: userId
      outputParameters:
      - type: object
        mapping: $.
    - name: searchlivesessions
      description: Search live sessions
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openreplay.searchlivesessions
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    OPENREPLAY_TOKEN: OPENREPLAY_TOKEN