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