OpenAPI Specification
openapi: 3.1.0
info:
title: OpenPanel Event Manage API
version: 1.0.0
description: Legacy event ingestion (deprecated, use /track)
tags:
- name: Manage
description: Manage projects and clients
paths:
/manage/projects:
get:
tags:
- Manage
description: List all projects for the organization.
responses:
'200':
description: Default Response
post:
tags:
- Manage
description: Create a new project and its first write client.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
domain:
anyOf:
- anyOf:
- type: string
format: uri
- type: string
const: ''
- type: 'null'
cors:
default: []
type: array
items:
type: string
crossDomain:
default: false
type: boolean
types:
default: []
type: array
items:
type: string
enum:
- website
- app
- backend
required:
- name
responses:
'200':
description: Default Response
/manage/projects/{id}:
get:
tags:
- Manage
description: Get a single project by ID.
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
patch:
tags:
- Manage
description: Update project settings (name, domain, CORS, tracking options).
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
domain:
anyOf:
- anyOf:
- type: string
format: uri
- type: string
const: ''
- type: 'null'
cors:
type: array
items:
type: string
crossDomain:
type: boolean
allowUnsafeRevenueTracking:
type: boolean
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
delete:
tags:
- Manage
description: Soft-delete a project (scheduled for removal in 24 hours).
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
/manage/clients:
get:
tags:
- Manage
description: List all API clients for the organization, optionally filtered by project.
responses:
'200':
description: Default Response
post:
tags:
- Manage
description: Create a new API client (read, write, or root type) and return its generated secret.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
projectId:
type: string
type:
default: write
type: string
enum:
- read
- write
- root
required:
- name
responses:
'200':
description: Default Response
/manage/clients/{id}:
get:
tags:
- Manage
description: Get a single API client by ID.
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
patch:
tags:
- Manage
description: Update an API client name.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
delete:
tags:
- Manage
description: Delete an API client.
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
/manage/references:
get:
tags:
- Manage
description: List annotation references for a project.
responses:
'200':
description: Default Response
post:
tags:
- Manage
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
title:
type: string
minLength: 1
description:
type: string
datetime:
type: string
required:
- projectId
- title
- datetime
responses:
'200':
description: Default Response
/manage/references/{id}:
get:
tags:
- Manage
description: Get a single annotation reference by ID.
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
patch:
tags:
- Manage
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
datetime:
type: string
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
delete:
tags:
- Manage
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
/manage/projects/{projectId}/dashboards:
get:
tags:
- Manage
description: List all dashboards for a project.
parameters:
- schema:
type: string
in: path
name: projectId
required: true
responses:
'200':
description: Default Response
/manage/projects/{projectId}/dashboards/{dashboardId}/reports:
get:
tags:
- Manage
description: List all reports in a dashboard.
parameters:
- schema:
type: string
in: path
name: projectId
required: true
- schema:
type: string
in: path
name: dashboardId
required: true
responses:
'200':
description: Default Response