/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/api/health": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** API and databases status */ get: operations["HealthController_check"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/config": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** How to sign in with Pireon (null when not configured) */ get: operations["AuthController_config"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/token": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Exchange a grant for Pireon tokens (proxy of Pireon /oauth/token) * @description For browsers (Pireon has no CORS) and Swagger UI: adds the client secret server-side. Apps with their own Pireon OAuth client can get tokens from Pireon directly; any valid Pireon access token is accepted by this API. */ post: operations["AuthController_token"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/me": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** The user behind the access token */ get: operations["UsersController_me"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Search Pireon users (to assign tickets or add members) * @description Needs the `users:read` scope in the access token. */ get: operations["UsersController_search"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** A Pireon user */ get: operations["UsersController_findOne"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/webhooks/pireon": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Pireon events (called by Pireon, not by apps) * @description `user.deactivated` closes the user's sessions; `token.revoked` forgets the token. Disabled unless PIREON_WEBHOOK_SECRET is set. */ post: operations["PireonWebhookController_receive"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Projects where I am a member */ get: operations["ProjectsController_mine"]; put?: never; /** Create a project (you become its owner) */ post: operations["ProjectsController_create"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** A project with its members and settings */ get: operations["ProjectsController_findOne"]; put?: never; post?: never; /** * Delete a project (owner only) * @description Deletes the project and, right after (asynchronously, through a saga), its tickets, comments and releases; links from tickets of other projects are removed and the key becomes free. Cannot be undone from the API. `confirm` must be the project key. */ delete: operations["ProjectsController_remove"]; options?: never; head?: never; /** Rename, describe or make public/private a project (owner/admin) */ patch: operations["ProjectsController_update"]; trace?: never; }; "/api/projects/{project}/settings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** * Statuses, transitions, ticket types and areas (owner/admin) * @description Replaces the whole configuration (send what GET /projects/{project} returns, changed). Values can be added, renamed, reordered or archived, never removed: tickets and statistics keep referring to them. */ put: operations["ProjectsController_updateSettings"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/board": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Kanban board: one column per status */ get: operations["ProjectsController_board"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/stats": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Tracking dashboard: counts by status, type, person… */ get: operations["ProjectsController_stats"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/analytics": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Statistics of the last `days` days * @description Created vs resolved per week, cumulative flow per day, cycle and lead time, throughput per person and QA pass/fail. */ get: operations["ProjectsController_analytics"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/activity": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Activity feed (newest first) */ get: operations["ProjectsController_activity"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/members": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Add a Pireon user to the project (owner/admin) * @description The user must exist and be active in Pireon. */ post: operations["ProjectsController_addMember"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/members/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Remove a member (owner/admin, or yourself to leave) */ delete: operations["ProjectsController_removeMember"]; options?: never; head?: never; /** Change a member's role (owner/admin) */ patch: operations["ProjectsController_changeMemberRole"]; trace?: never; }; "/api/me/issues": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * My work: tickets across all my projects * @description Assigned to me by default; with assignedToMe=false, any ticket of my projects (e.g. waiting for QA). */ get: operations["IssuesController_mine"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/issues": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Search the tickets of a project */ get: operations["IssuesController_search"]; put?: never; /** * Create a ticket * @description Starts in the project's first active TODO-category status (BACKLOG by default). The response carries its key (e.g. WEB-13). */ post: operations["IssuesController_create"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** A ticket */ get: operations["IssuesController_findOne"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** Edit title, description, type, priority, area, labels… */ patch: operations["IssuesController_update"]; trace?: never; }; "/api/issues/{issue}/status": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** * Move the ticket through the workflow (incl. QA) * @description Only the transitions in `allowedTransitions` are accepted (422 otherwise). QA_FAILED and CANCELLED need a reason. */ put: operations["IssuesController_changeStatus"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/assignee": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Assign to a project member (null to unassign) */ put: operations["IssuesController_assign"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/release": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Put the ticket in a planned release (null takes it out) */ put: operations["IssuesController_setRelease"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/links": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Relate tickets (FE ↔ BE ↔ QA) * @description e.g. WEB-3 DEPENDS_ON API-7, WEB-9 TESTS WEB-3. May cross projects. */ post: operations["IssuesController_link"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/links/{type}/{target}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Remove a relation */ delete: operations["IssuesController_unlink"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/comments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Comments of the ticket (oldest first) */ get: operations["IssuesController_listComments"]; put?: never; /** Comment on the ticket */ post: operations["IssuesController_addComment"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/history": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** History of the ticket (newest first) */ get: operations["IssuesController_history"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/attachments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Attach a file to a ticket (members) * @description Multipart with the file as `file` and, optionally, `commentId` to place it under a comment. Up to ATTACHMENTS_MAX_MB megabytes (25 by default) and 50 files per ticket. */ post: operations["AttachmentsController_attach"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/issues/{issue}/attachments/{attachmentId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Download one of a ticket's files */ get: operations["AttachmentsController_download"]; put?: never; post?: never; /** Remove a file (whoever uploaded it, or an owner/admin) */ delete: operations["AttachmentsController_remove"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/comments/{commentId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Delete a comment (author or project admin) */ delete: operations["CommentsController_delete"]; options?: never; head?: never; /** Edit a comment (author only) */ patch: operations["CommentsController_edit"]; trace?: never; }; "/api/me/releases": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Planned releases of all my projects, soonest target date first */ get: operations["ReleasesController_upcoming"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/projects/{project}/releases": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Releases of a project */ get: operations["ReleasesController_list"]; put?: never; /** Plan a release (owner/admin) */ post: operations["ReleasesController_create"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/releases/{releaseId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** A release */ get: operations["ReleasesController_findOne"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** Rename, describe or move the target date */ patch: operations["ReleasesController_update"]; trace?: never; }; "/api/releases/{releaseId}/progress": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Finished tickets out of the total */ get: operations["ReleasesController_progress"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/releases/{releaseId}/burnup": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Burnup: tickets in the release and finished ones, day by day */ get: operations["ReleasesController_burnup"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/releases/{releaseId}/issues": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Tickets included in the release */ get: operations["ReleasesController_issuesOf"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/releases/{releaseId}/publish": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Ship the release * @description Fails (422) while it has unfinished tickets unless `force` is true. */ post: operations["ReleasesController_publish"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/releases/{releaseId}/archive": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Archive a planned release (its tickets leave it) */ post: operations["ReleasesController_archive"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/explore/projects": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Public projects (no token needed) * @description Their board, tickets, comments, releases, activity and statistics can be read without a token too. */ get: operations["ExploreController_publicProjects"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/me/notifications": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** My notifications, newest first */ get: operations["NotificationsController_mine"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/me/notifications/read": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Mark notifications as read (all of them without `ids`) */ post: operations["NotificationsController_markRead"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/me/notification-settings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Whether I get copies by e-mail */ get: operations["NotificationsController_settings"]; /** Turn e-mail copies on or off */ put: operations["NotificationsController_updateSettings"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { AuthorizationConfigDto: { /** @example https://oauth.pireon.dev/oauth/authorize */ authorizeUrl: string; /** @description Public id of the authorization_code client ("Sign in with Pireon"); null when only email + password is configured */ clientId: string | null; /** * @example [ * "users:read" * ] */ scopes: string[]; /** @description Whether email + password sign-in is allowed */ passwordGrant: boolean; }; IssueTokenDto: { /** @enum {string} */ grant_type: "authorization_code" | "password" | "refresh_token"; /** @description authorization_code: code returned by Pireon */ code?: string; /** @description authorization_code: PKCE verifier */ code_verifier?: string; /** @description authorization_code: redirect URI used to authorize */ redirect_uri?: string; /** @description password: Pireon email */ username?: string; /** @description password: Pireon password */ password?: string; /** @description refresh_token */ refresh_token?: string; }; TokenResponseDto: { access_token: string; refresh_token: string | null; /** @description Seconds */ expires_in: number; /** @example Bearer */ token_type: string; }; MeDto: { /** @description Pireon user id */ id: string; name: string; email: string; isActive: boolean; /** @description Global roles in Pireon */ roles: string[]; /** @description Roles inside the task-stream OAuth client */ appRoles: string[]; }; ApiErrorDto: { /** @example 404 */ statusCode: number; /** * @description Domain error code * @enum {string} */ code?: "NOT_FOUND" | "FORBIDDEN" | "VALIDATION" | "CONFLICT" | "BUSINESS_RULE"; /** * @description Human message (a list of messages for invalid input) * @example Issue not found */ message: string | string[]; }; UserDto: { /** @description Pireon user id */ id: string; name: string; email: string; isActive: boolean; }; UserRefDto: { /** @description Pireon user id */ id: string; name: string; }; /** @enum {string} */ ProjectRole: "OWNER" | "ADMIN" | "MEMBER" | "VIEWER"; ProjectMemberDto: { user: components["schemas"]["UserRefDto"]; role: components["schemas"]["ProjectRole"]; }; /** @enum {string} */ StatusCategory: "TODO" | "IN_PROGRESS" | "QA" | "DONE" | "CANCELLED"; /** @enum {string} */ SettingColor: "slate" | "stone" | "violet" | "blue" | "sky" | "teal" | "green" | "amber" | "orange" | "red" | "pink"; WorkflowStatusDto: { /** * @description Stable id on tickets * @example IN_REVIEW */ id: string; /** @example En revisión */ name: string; category: components["schemas"]["StatusCategory"]; color: components["schemas"]["SettingColor"]; /** @description Entering it needs a reason */ requiresReason: boolean; /** @description No new tickets or transitions into it */ archived: boolean; }; StatusTransitionsDto: { /** @example IN_QA */ from: string; /** * @example [ * "DONE", * "QA_FAILED" * ] */ to: string[]; }; /** @enum {string} */ TypeIcon: "bug" | "feature" | "palette" | "task" | "qa" | "flag" | "star-fill" | "rocket" | "document" | "light-bulb" | "key" | "support"; IssueTypeOptionDto: { /** @example BUG */ id: string; /** @example Bug */ name: string; icon: components["schemas"]["TypeIcon"]; color: components["schemas"]["SettingColor"]; archived: boolean; }; AreaOptionDto: { /** @example FRONTEND */ id: string; /** @example Frontend */ name: string; archived: boolean; }; ProjectSettingsDto: { /** @description In board order */ statuses: components["schemas"]["WorkflowStatusDto"][]; transitions: components["schemas"]["StatusTransitionsDto"][]; issueTypes: components["schemas"]["IssueTypeOptionDto"][]; areas: components["schemas"]["AreaOptionDto"][]; }; ProjectDto: { /** Format: uuid */ id: string; /** * @description Prefix of the ticket keys * @example WEB */ key: string; /** @example Checkout revamp */ name: string; description: string | null; /** @description Readable by anyone, also without a token */ isPublic: boolean; owner: components["schemas"]["UserRefDto"]; members: components["schemas"]["ProjectMemberDto"][]; settings: components["schemas"]["ProjectSettingsDto"]; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; /** @description Version of the aggregate (event count) */ version: number; }; CreateProjectDto: { /** * @description 2-10 letters/digits starting with a letter → tickets WEB-1, WEB-2… * @example WEB */ key: string; /** @example Checkout revamp */ name: string; description?: string | null; /** * @description Anyone can read it without signing in (board, tickets, comments, releases, activity, statistics) * @default false */ isPublic: boolean; }; CommandResultDto: { /** @description Id of the aggregate written */ id: string; /** * @description Human key when one was assigned (project or issue) * @example WEB-13 */ key?: string; /** @description Version after the write. Writes are acknowledged at once and the read model catches up asynchronously: a GET may briefly return the previous version (or 404 right after a create). */ version: number; }; UpdateProjectDto: { /** @example Checkout revamp */ name?: string; description?: string | null; /** * @description Anyone can read it without signing in (board, tickets, comments, releases, activity, statistics) * @default false */ isPublic: boolean; }; WorkflowStatusBodyDto: { /** * @description Never change an existing id * @example IN_REVIEW */ id: string; /** @example En revisión */ name: string; category: components["schemas"]["StatusCategory"]; color: components["schemas"]["SettingColor"]; /** @default false */ requiresReason: boolean; /** @default false */ archived: boolean; }; StatusTransitionsBodyDto: { /** @example IN_QA */ from: string; /** * @example [ * "DONE", * "QA_FAILED" * ] */ to: string[]; }; IssueTypeOptionBodyDto: { /** @example SPIKE */ id: string; /** @example Spike */ name: string; icon: components["schemas"]["TypeIcon"]; color: components["schemas"]["SettingColor"]; /** @default false */ archived: boolean; }; AreaOptionBodyDto: { /** @example DATA */ id: string; /** @example Datos */ name: string; /** @default false */ archived: boolean; }; ProjectSettingsBodyDto: { /** @description In board order. Values cannot be removed: archive them instead. */ statuses: components["schemas"]["WorkflowStatusBodyDto"][]; transitions: components["schemas"]["StatusTransitionsBodyDto"][]; issueTypes: components["schemas"]["IssueTypeOptionBodyDto"][]; areas: components["schemas"]["AreaOptionBodyDto"][]; }; /** @enum {string} */ IssuePriority: "LOWEST" | "LOW" | "MEDIUM" | "HIGH" | "CRITICAL"; ReleaseRefDto: { /** Format: uuid */ id: string; /** @example v1.4.0 */ name: string; }; /** @enum {string} */ IssueLinkType: "BLOCKS" | "DEPENDS_ON" | "TESTS" | "DUPLICATES" | "RELATES_TO"; /** * @description OUTWARD: this issue → other. INWARD: other → this issue. * @enum {string} */ LinkDirection: "OUTWARD" | "INWARD"; IssueLinkDto: { type: components["schemas"]["IssueLinkType"]; /** @description OUTWARD: this issue → other. INWARD: other → this issue. */ direction: components["schemas"]["LinkDirection"]; /** Format: uuid */ issueId: string; /** @example WEB-3 */ issueKey: string; }; AttachmentDto: { /** Format: uuid */ id: string; /** @example captura-login.png */ fileName: string; /** @example image/png */ mimeType: string; /** * @description Bytes * @example 48213 */ size: number; uploadedBy: components["schemas"]["UserRefDto"]; /** Format: date-time */ uploadedAt: string; /** * Format: uuid * @description The comment it was attached to, if any */ commentId: string | null; }; IssueDto: { /** Format: uuid */ id: string; /** Format: uuid */ projectId: string; /** @example WEB */ projectKey: string; /** @example 12 */ number: number; /** * @description Human key * @example WEB-12 */ key: string; /** * @description A ticket type id * @example BUG */ type: string; /** @example FRONTEND */ area: string | null; title: string; description: string | null; /** * @description A status id * @example IN_PROGRESS */ status: string; statusCategory: components["schemas"]["StatusCategory"]; /** @description Statuses this ticket can move to next (project's workflow) */ allowedTransitions: string[]; priority: components["schemas"]["IssuePriority"]; reporter: components["schemas"]["UserRefDto"]; assignee: components["schemas"]["UserRefDto"] | null; release: components["schemas"]["ReleaseRefDto"] | null; labels: string[]; /** @description Figma frame */ figmaUrl: string | null; storyPoints: number | null; /** Format: date */ dueDate: string | null; links: components["schemas"]["IssueLinkDto"][]; attachments: components["schemas"]["AttachmentDto"][]; commentCount: number; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; version: number; }; BoardColumnDto: { /** @example IN_PROGRESS */ status: string; issues: components["schemas"]["IssueDto"][]; /** @description Tickets in the column (may exceed `issues`) */ total: number; }; CountByStatusDto: { /** * @description Status id * @example IN_PROGRESS */ key: string; count: number; }; CountByKeyDto: { /** @description Type, priority or area ("NONE" = unset) */ key: string; count: number; }; CountByAssigneeDto: { /** @description Null = unassigned */ user: components["schemas"]["UserRefDto"] | null; count: number; }; ProjectStatsDto: { total: number; /** @description Not done nor cancelled */ open: number; byStatus: components["schemas"]["CountByStatusDto"][]; byType: components["schemas"]["CountByKeyDto"][]; byPriority: components["schemas"]["CountByKeyDto"][]; byArea: components["schemas"]["CountByKeyDto"][]; /** @description Open tickets per person */ byAssignee: components["schemas"]["CountByAssigneeDto"][]; }; CreatedResolvedDto: { /** * Format: date * @description Monday of the week */ week: string; created: number; resolved: number; }; FlowSeriesDto: { /** @example IN_PROGRESS */ status: string; /** @description One value per date */ counts: number[]; }; CumulativeFlowDto: { dates: string[]; series: components["schemas"]["FlowSeriesDto"][]; }; DurationStatsDto: { count: number; averageDays: number | null; /** @description 85% of tickets take at most this long */ p85Days: number | null; }; ThroughputDto: { /** Format: date */ week: string; user: components["schemas"]["UserRefDto"] | null; count: number; }; QaStatsDto: { /** @description Left QA to a done status */ passed: number; /** @description Left QA back to work */ failed: number; failureRate: number | null; }; ProjectAnalyticsDto: { /** Format: date-time */ from: string; /** Format: date-time */ to: string; createdVsResolved: components["schemas"]["CreatedResolvedDto"][]; /** @description Tickets in each status at the end of every day */ cumulativeFlow: components["schemas"]["CumulativeFlowDto"]; /** @description Start of work → done */ cycleTime: components["schemas"]["DurationStatsDto"]; /** @description Creation → done */ leadTime: components["schemas"]["DurationStatsDto"]; throughput: components["schemas"]["ThroughputDto"][]; qa: components["schemas"]["QaStatsDto"]; }; ActivityDto: { id: string; /** @example IssueStatusChanged */ type: string; /** Format: uuid */ projectId: string; issueId: string | null; /** @example WEB-12 */ issueKey: string | null; actor: components["schemas"]["UserRefDto"]; /** @example Ana movió WEB-12 de En curso a En revisión */ summary: string; /** Format: date-time */ occurredAt: string; }; AddMemberDto: { /** @description Pireon user id (see GET /users) */ userId: string; /** @default MEMBER */ role: components["schemas"]["ProjectRole"]; }; ChangeMemberRoleDto: { role: components["schemas"]["ProjectRole"]; }; IssuePageDto: { items: components["schemas"]["IssueDto"][]; /** @description Total matches (for pagination) */ total: number; }; CreateIssueDto: { description?: string | null; /** * @description An area id of the project's settings * @example FRONTEND */ area?: string | null; priority?: components["schemas"]["IssuePriority"]; labels?: string[]; /** @description Figma frame (https) for UI changes */ figmaUrl?: string | null; storyPoints?: number | null; /** Format: date */ dueDate?: string | null; /** * @description A ticket type id of the project's settings * @example BUG */ type: string; /** @example El botón de pagar no responde en Safari */ title: string; /** @description Pireon user id */ assigneeId?: string | null; /** Format: uuid */ releaseId?: string | null; }; UpdateIssueDto: { description?: string | null; /** * @description An area id of the project's settings * @example FRONTEND */ area?: string | null; priority?: components["schemas"]["IssuePriority"]; labels?: string[]; /** @description Figma frame (https) for UI changes */ figmaUrl?: string | null; storyPoints?: number | null; /** Format: date */ dueDate?: string | null; /** * @description A ticket type id * @example FEATURE */ type?: string; title?: string; }; ChangeStatusDto: { /** * @description A status id of the project's settings, among the ticket's allowedTransitions * @example IN_REVIEW */ status: string; /** @description Required by statuses with requiresReason (e.g. QA_FAILED) */ reason?: string | null; }; AssignIssueDto: { /** @description Pireon user id of a project member, or null to unassign */ assigneeId: string | null; }; SetIssueReleaseDto: { /** * Format: uuid * @description Planned release, or null to take the ticket out */ releaseId: string | null; }; LinkIssueDto: { type: components["schemas"]["IssueLinkType"]; /** * @description Other ticket: id or key * @example API-3 */ targetIssue: string; }; CommentDto: { /** Format: uuid */ id: string; /** Format: uuid */ issueId: string; author: components["schemas"]["UserRefDto"]; body: string; /** Format: date-time */ createdAt: string; /** Format: date-time */ editedAt: string | null; version: number; }; CommentPageDto: { items: components["schemas"]["CommentDto"][]; total: number; }; CommentBodyDto: { /** @example Reproducido en Safari 17. */ body: string; }; AttachFileDto: { /** * Format: binary * @description The file */ file: string; /** * Format: uuid * @description One of the ticket's comments, to show the file under it */ commentId?: string; }; /** @enum {string} */ ReleaseStatus: "PLANNED" | "RELEASED" | "ARCHIVED"; ReleaseDto: { /** Format: uuid */ id: string; /** Format: uuid */ projectId: string; /** @example v1.4.0 */ name: string; description: string | null; /** Format: date */ targetDate: string | null; status: components["schemas"]["ReleaseStatus"]; /** Format: date-time */ releasedAt: string | null; /** Format: date-time */ createdAt: string; version: number; }; CreateReleaseDto: { /** @example v1.4.0 */ name: string; description?: string | null; /** * Format: date * @example 2026-11-14 */ targetDate?: string | null; }; UpdateReleaseDto: { /** @example v1.4.0 */ name?: string; description?: string | null; /** * Format: date * @example 2026-11-14 */ targetDate?: string | null; }; ReleaseProgressDto: { total: number; finished: number; percent: number; byStatus: components["schemas"]["CountByStatusDto"][]; }; ReleaseBurnupDto: { /** Format: uuid */ releaseId: string; /** Format: date */ targetDate: string | null; dates: string[]; /** @description Tickets in the release (not cancelled) */ scope: number[]; done: number[]; }; PublishReleaseDto: { /** * @description Publish even with unfinished tickets * @default false */ force: boolean; }; Object: Record; /** @enum {string} */ NotificationKind: "ASSIGNED" | "STATUS_CHANGED" | "QA_FAILED" | "COMMENTED" | "MENTIONED" | "WATCHED" | "ADDED_TO_PROJECT" | "REMINDER"; NotificationDto: { id: string; kind: components["schemas"]["NotificationKind"]; /** Format: uuid */ projectId: string; /** @example WEB */ projectKey: string; /** Format: uuid */ issueId: string | null; /** @example WEB-12 */ issueKey: string | null; actor: components["schemas"]["UserRefDto"]; /** @example Ana te asignó WEB-12: Login roto en Safari */ summary: string; /** * Format: date-time * @description Null: unread */ readAt: string | null; /** Format: date-time */ createdAt: string; }; MyNotificationsDto: { items: components["schemas"]["NotificationDto"][]; /** @description All my unread ones, not just these */ unread: number; }; MarkNotificationsReadDto: { /** @description Omit to mark all of them */ ids?: string[]; }; NotificationSettingsResponseDto: { /** @description Copies by e-mail */ email: boolean; /** @description Whether this installation can send e-mail */ emailAvailable: boolean; }; NotificationSettingsDto: { /** @description Copies by e-mail */ email: boolean; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { HealthController_check: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description A database is down */ 503: { headers: { [name: string]: unknown; }; content?: never; }; }; }; AuthController_config: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthorizationConfigDto"]; }; }; }; }; AuthController_token: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["IssueTokenDto"]; "application/x-www-form-urlencoded": components["schemas"]["IssueTokenDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TokenResponseDto"]; }; }; /** @description Pireon rejected the grant */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; UsersController_me: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; UsersController_search: { parameters: { query?: { /** @description Name or email */ search?: string; limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserDto"][]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; UsersController_findOne: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; PireonWebhookController_receive: { parameters: { query?: never; header: { "x-webhook-signature": string; /** @description HMAC-SHA256 of the raw body with PIREON_WEBHOOK_SECRET (hex) */ "X-Webhook-Signature": string; }; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Processed */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Missing or invalid signature */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; ProjectsController_mine: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectDto"][]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_create: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateProjectDto"]; }; }; responses: { 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_findOne: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_remove: { parameters: { query: { /** @description The project key, to confirm the deletion */ confirm: string; }; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_update: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateProjectDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_updateSettings: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ProjectSettingsBodyDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_board: { parameters: { query?: { /** @description Only this release */ releaseId?: string; /** @description Only this person (Pireon user id) */ assigneeId?: string; /** @description An area id */ area?: string; perColumn?: number; }; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["BoardColumnDto"][]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_stats: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectStatsDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_analytics: { parameters: { query?: { days?: number; }; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectAnalyticsDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_activity: { parameters: { query?: { /** @description Only this ticket */ issueId?: string; limit?: number; /** @description Cursor: entries older than this date */ before?: string; }; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ActivityDto"][]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_addMember: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AddMemberDto"]; }; }; responses: { 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_removeMember: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; userId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ProjectsController_changeMemberRole: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; userId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ChangeMemberRoleDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_mine: { parameters: { query?: { limit?: number; offset?: number; /** @description true: tickets assigned to me. false: any ticket of my projects (e.g. ?assignedToMe=false&category=QA) */ assignedToMe?: boolean; /** @description Status ids. Repeat the parameter or separate with commas */ status?: string[]; /** @description Whatever each project calls its statuses */ category?: components["schemas"]["StatusCategory"][]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["IssuePageDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_search: { parameters: { query?: { limit?: number; offset?: number; /** @description Status ids. Repeat the parameter or separate with commas */ status?: string[]; category?: components["schemas"]["StatusCategory"][]; /** @description Ticket type ids */ type?: string[]; /** @description Area ids */ area?: string[]; priority?: components["schemas"]["IssuePriority"][]; /** @description Pireon user id */ assigneeId?: string; /** @description Only tickets without assignee */ unassigned?: boolean; releaseId?: string; label?: string[]; /** @description Matches key, title or description */ search?: string; }; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["IssuePageDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_create: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateIssueDto"]; }; }; responses: { 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_findOne: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["IssueDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_update: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateIssueDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_changeStatus: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ChangeStatusDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_assign: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AssignIssueDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_setRelease: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SetIssueReleaseDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_link: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["LinkIssueDto"]; }; }; responses: { 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_unlink: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; type: components["schemas"]["IssueLinkType"]; /** @description Other ticket: id or key */ target: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_listComments: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommentPageDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_addComment: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CommentBodyDto"]; }; }; responses: { 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; IssuesController_history: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ActivityDto"][]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; AttachmentsController_attach: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; }; cookie?: never; }; requestBody: { content: { "multipart/form-data": components["schemas"]["AttachFileDto"]; }; }; responses: { 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; AttachmentsController_download: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; attachmentId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description The file */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/octet-stream": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/octet-stream": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/octet-stream": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/octet-stream": components["schemas"]["ApiErrorDto"]; }; }; }; }; AttachmentsController_remove: { parameters: { query?: never; header?: never; path: { /** @description Ticket id or key */ issue: string; attachmentId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; CommentsController_delete: { parameters: { query?: never; header?: never; path: { commentId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; CommentsController_edit: { parameters: { query?: never; header?: never; path: { commentId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CommentBodyDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_upcoming: { parameters: { query?: { limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ReleaseDto"][]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_list: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ReleaseDto"][]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_create: { parameters: { query?: never; header?: never; path: { /** @description Project id or key */ project: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateReleaseDto"]; }; }; responses: { 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_findOne: { parameters: { query?: never; header?: never; path: { releaseId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ReleaseDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_update: { parameters: { query?: never; header?: never; path: { releaseId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateReleaseDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_progress: { parameters: { query?: never; header?: never; path: { releaseId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ReleaseProgressDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_burnup: { parameters: { query?: never; header?: never; path: { releaseId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ReleaseBurnupDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_issuesOf: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path: { releaseId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["IssuePageDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_publish: { parameters: { query?: never; header?: never; path: { releaseId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["PublishReleaseDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ReleasesController_archive: { parameters: { query?: never; header?: never; path: { releaseId: string; }; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommandResultDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; ExploreController_publicProjects: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectDto"][]; }; }; }; }; NotificationsController_mine: { parameters: { query?: { /** @description Only unread ones */ unreadOnly?: components["schemas"]["Object"]; limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MyNotificationsDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; NotificationsController_markRead: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["MarkNotificationsReadDto"]; }; }; responses: { /** @description Done */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; NotificationsController_settings: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["NotificationSettingsResponseDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; NotificationsController_updateSettings: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["NotificationSettingsDto"]; }; }; responses: { 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["NotificationSettingsResponseDto"]; }; }; /** @description Invalid input */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Missing or rejected Pireon token */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not a member of the project (or not allowed) */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Someone changed it at the same time: retry */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; /** @description Business rule (e.g. a transition the workflow forbids) */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiErrorDto"]; }; }; }; }; }