/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/api/auth/register": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Register */
post: operations["register_api_auth_register_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/auth/login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Login */
post: operations["login_api_auth_login_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/auth/logout": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Logout */
post: operations["logout_api_auth_logout_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/auth/me": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Me */
get: operations["me_api_auth_me_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/projects": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List Projects */
get: operations["list_projects_api_projects_get"];
put?: never;
/** Create Project */
post: operations["create_project_api_projects_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/projects/{project_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/** Delete Project */
delete: operations["delete_project_api_projects__project_id__delete"];
options?: never;
head?: never;
/** Update Project */
patch: operations["update_project_api_projects__project_id__patch"];
trace?: never;
};
"/api/projects/{project_id}/share/rotate": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Rotate Project Share */
post: operations["rotate_project_share_api_projects__project_id__share_rotate_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/projects/{project_id}/reports": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List Project Reports */
get: operations["list_project_reports_api_projects__project_id__reports_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/projects/by-token/{token}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Project By Token */
get: operations["get_project_by_token_api_projects_by_token__token__get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/projects/{project_id}/share": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Project */
get: operations["get_project_api_projects__project_id__share_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/reports": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create Report */
post: operations["create_report_api_reports_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/reports/by-token/{token}/files/{file_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Download Report File
* @description File download scoped under the report share token — the token IS the authorization.
*/
get: operations["download_report_file_api_reports_by_token__token__files__file_id__get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/reports/{token}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get Report */
get: operations["get_report_api_reports__token__get"];
put?: never;
post?: never;
/** Delete Report */
delete: operations["delete_report_api_reports__token__delete"];
options?: never;
head?: never;
/** Update Report */
patch: operations["update_report_api_reports__token__patch"];
trace?: never;
};
"/api/reports/{token}/share/rotate": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Rotate Report Share */
post: operations["rotate_report_share_api_reports__token__share_rotate_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/reports/{token}/steps": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Append Step */
post: operations["append_step_api_reports__token__steps_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/reports/{token}/steps/{step_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post?: never;
/** Delete Step */
delete: operations["delete_step_api_reports__token__steps__step_id__delete"];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/uploads": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Upload File */
post: operations["upload_file_api_uploads_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/uploads/{file_id}": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** File Meta */
get: operations["file_meta_api_uploads__file_id__get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/healthz": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Healthz */
get: operations["healthz_api_healthz_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** AttachmentOut */
AttachmentOut: {
/**
* Id
* Format: uuid
*/
id: string;
/**
* File Id
* Format: uuid
*/
file_id: string;
/** Kind */
kind: string;
/** Filename */
filename: string;
/** Mime */
mime: string;
/** Size */
size: number;
/** Annotation Shapes */
annotation_shapes: unknown[] | null;
};
/** AuthorOut */
AuthorOut: {
/**
* Id
* Format: uuid
*/
id: string;
/** Nickname */
nickname: string;
};
/** Body_upload_file_api_uploads_post */
Body_upload_file_api_uploads_post: {
/** File */
file: string;
};
/** ElementContextIn */
ElementContextIn: {
/** Selector */
selector?: string | null;
/** Unique Selector */
unique_selector?: string | null;
/** Tag */
tag?: string | null;
/** Id */
id?: string | null;
/** Classes */
classes?: string[] | null;
/** Text Snippet */
text_snippet?: string | null;
/** Aria Label */
aria_label?: string | null;
/** Test Attributes */
test_attributes?: {
[key: string]: string;
} | null;
/** Rect */
rect?: {
[key: string]: unknown;
} | null;
/** Screenshot Rel */
screenshot_rel?: {
[key: string]: unknown;
} | null;
/** Extra */
extra?: {
[key: string]: unknown;
} | null;
};
/** EnvironmentIn */
EnvironmentIn: {
/** User Agent */
user_agent?: string | null;
/** Browser */
browser?: string | null;
/** Browser Version */
browser_version?: string | null;
/** Os */
os?: string | null;
/** Viewport */
viewport?: {
[key: string]: unknown;
} | null;
/** Dpr */
dpr?: number | null;
/** Language */
language?: string | null;
/** Captured At */
captured_at?: string | null;
/** Extra */
extra?: {
[key: string]: unknown;
} | null;
};
/** HTTPValidationError */
HTTPValidationError: {
/** Detail */
detail?: components["schemas"]["ValidationError"][];
};
/** LoginIn */
LoginIn: {
/**
* Email
* Format: email
*/
email: string;
/** Password */
password: string;
};
/** ProjectCreateIn */
ProjectCreateIn: {
/** Name */
name: string;
/** Description */
description?: string | null;
};
/** ProjectDetailOut */
ProjectDetailOut: {
/**
* Id
* Format: uuid
*/
id: string;
/** Name */
name: string;
/** Description */
description: string | null;
/** Share Token */
share_token: string;
/**
* Created At
* Format: date-time
*/
created_at: string;
/** Owner Nickname */
owner_nickname: string;
report_counts: components["schemas"]["ProjectReportCounts"];
};
/** ProjectOut */
ProjectOut: {
/**
* Id
* Format: uuid
*/
id: string;
/** Name */
name: string;
/** Description */
description: string | null;
/** Share Token */
share_token: string;
/**
* Created At
* Format: date-time
*/
created_at: string;
};
/** ProjectReportCounts */
ProjectReportCounts: {
/** Total */
total: number;
/** Open */
open: number;
};
/** ProjectUpdateIn */
ProjectUpdateIn: {
/** Name */
name?: string | null;
/** Description */
description?: string | null;
};
/** RegisterIn */
RegisterIn: {
/** Nickname */
nickname: string;
/**
* Email
* Format: email
*/
email: string;
/** Password */
password: string;
};
/** ReportCreateIn */
ReportCreateIn: {
/**
* Project Id
* Format: uuid
*/
project_id: string;
/** Type */
type: string;
/** Title */
title: string;
/** Description */
description?: string | null;
/** Page Url */
page_url?: string | null;
/** Page Title */
page_title?: string | null;
environment?: components["schemas"]["EnvironmentIn"] | null;
element?: components["schemas"]["ElementContextIn"] | null;
/** Attachment Ids */
attachment_ids?: string[] | null;
/** Annotation Shapes */
annotation_shapes?: {
[key: string]: unknown[];
} | null;
/** Steps */
steps?: components["schemas"]["StepIn"][] | null;
};
/** ReportDetailOut */
ReportDetailOut: {
/**
* Id
* Format: uuid
*/
id: string;
/** Type */
type: string;
/** Title */
title: string;
/** Description */
description: string | null;
/** Status */
status: string;
/** Page Url */
page_url: string | null;
/** Page Title */
page_title: string | null;
/** Environment */
environment: {
[key: string]: unknown;
};
/** Element */
element: {
[key: string]: unknown;
} | null;
/** Share Token */
share_token: string;
/**
* Created At
* Format: date-time
*/
created_at: string;
/**
* Updated At
* Format: date-time
*/
updated_at: string;
author: components["schemas"]["AuthorOut"];
/** Attachments */
attachments: components["schemas"]["AttachmentOut"][];
/** Steps */
steps: components["schemas"]["StepOut"][];
};
/** ReportUpdateIn */
ReportUpdateIn: {
/** Title */
title?: string | null;
/** Description */
description?: string | null;
/** Status */
status?: string | null;
};
/** StepIn */
StepIn: {
/** Type */
type: string;
/** Offset Ms */
offset_ms: number;
/**
* Data
* @default {}
*/
data: {
[key: string]: unknown;
};
/** Attachment Id */
attachment_id?: string | null;
};
/** StepOut */
StepOut: {
/**
* Id
* Format: uuid
*/
id: string;
/** Step Index */
step_index: number;
/** Type */
type: string;
/** Offset Ms */
offset_ms: number;
/** Data */
data: {
[key: string]: unknown;
};
/** Screenshot Attachment Id */
screenshot_attachment_id: string | null;
};
/** TokenOut */
TokenOut: {
/** Token */
token: string;
/**
* Expires At
* Format: date-time
*/
expires_at: string;
};
/** UploadOut */
UploadOut: {
/**
* File Id
* Format: uuid
*/
file_id: string;
/** Mime */
mime: string;
/** Size */
size: number;
/** Filename */
filename: string;
};
/** UserOut */
UserOut: {
/**
* Id
* Format: uuid
*/
id: string;
/** Email */
email: string;
/** Nickname */
nickname: string;
/**
* Created At
* Format: date-time
*/
created_at: string;
};
/** ValidationError */
ValidationError: {
/** Location */
loc: (string | number)[];
/** Message */
msg: string;
/** Error Type */
type: string;
/** Input */
input?: unknown;
/** Context */
ctx?: Record<string, never>;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
register_api_auth_register_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["RegisterIn"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
login_api_auth_login_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["LoginIn"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserOut"] | components["schemas"]["TokenOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
logout_api_auth_logout_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
me_api_auth_me_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserOut"];
};
};
};
};
list_projects_api_projects_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProjectOut"][];
};
};
};
};
create_project_api_projects_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ProjectCreateIn"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProjectOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
delete_project_api_projects__project_id__delete: {
parameters: {
query?: never;
header?: never;
path: {
project_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
update_project_api_projects__project_id__patch: {
parameters: {
query?: never;
header?: never;
path: {
project_id: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ProjectUpdateIn"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProjectOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
rotate_project_share_api_projects__project_id__share_rotate_post: {
parameters: {
query?: never;
header?: never;
path: {
project_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProjectOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
list_project_reports_api_projects__project_id__reports_get: {
parameters: {
query?: {
limit?: number;
offset?: number;
report_type?: string | null;
report_status?: string | null;
};
header?: never;
path: {
project_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_project_by_token_api_projects_by_token__token__get: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProjectDetailOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_project_api_projects__project_id__share_get: {
parameters: {
query?: never;
header?: never;
path: {
project_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProjectOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
create_report_api_reports_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ReportCreateIn"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ReportDetailOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
download_report_file_api_reports_by_token__token__files__file_id__get: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
file_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
get_report_api_reports__token__get: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ReportDetailOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
delete_report_api_reports__token__delete: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
update_report_api_reports__token__patch: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["ReportUpdateIn"];
};
};
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ReportDetailOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
rotate_report_share_api_reports__token__share_rotate_post: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ReportDetailOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
append_step_api_reports__token__steps_post: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["StepIn"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["StepOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
delete_step_api_reports__token__steps__step_id__delete: {
parameters: {
query?: never;
header?: never;
path: {
token: string;
step_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
204: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
upload_file_api_uploads_post: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody: {
content: {
"multipart/form-data": components["schemas"]["Body_upload_file_api_uploads_post"];
};
};
responses: {
/** @description Successful Response */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UploadOut"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
file_meta_api_uploads__file_id__get: {
parameters: {
query?: never;
header?: never;
path: {
file_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
healthz_api_healthz_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
[key: string]: unknown;
};
};
};
};
};
}