/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

export interface paths {
    "/api/events/{eventId}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /** Delete a single event */
        delete: operations["deleteEvent"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/delete": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** Bulk delete events */
        post: operations["bulkDeleteEvents"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/status": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /** Bulk update event status */
        put: operations["bulkUpdateEventStatus"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/{eventId}/status": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /** Update status of a single event */
        put: operations["updateEventStatus"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/workspaces/{workspaceId}/events": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get workspace events
         * @description Gets events for a workspace.
         */
        get: operations["getEventsOfWorkspace"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Get events aggregate summary */
        get: operations["getEventsAggregate"];
        put?: never;
        /** Create a new event */
        post: operations["createEvent"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/list": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Get events list */
        get: operations["getEvents"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/summary": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Get event summary by user */
        get: operations["getEventSummaryByUser"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/api/events/types": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /** Get event types */
        get: operations["getEventTypes"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        /** @description Payload for creating a new event. */
        EventPayload: {
            /**
             * Format: uuid
             * @description UUID of the user associated with the event.
             */
            owner?: string;
            /** @description The category of the event. */
            category?: string;
            /** @description The action of the event. */
            action?: string;
            /** @description Description of the event. */
            description?: string;
        } & {
            [key: string]: unknown;
        };
        /** @description Payload for updating the status of a single event. */
        UpdateEventStatusRequest: {
            /**
             * @description Current status of the event.
             * @example completed
             */
            status: string;
        };
        /** @description Response body returned after updating an event's status. */
        UpdateEventStatusResponse: {
            /** @description Human-readable status message. */
            message?: string;
            /**
             * Format: uuid
             * @description UUID of the event whose status was updated.
             */
            eventId?: string;
            /** @description Updated status of the event. */
            status?: string;
        };
        /** @description Payload for bulk-deleting events by ID. */
        BulkDeleteRequest: {
            /** @description UUIDs of the events to delete. */
            ids: string[];
        };
        /** @description Response body returned after bulk event deletion. */
        BulkDeleteResponse: {
            /** @description UUIDs of events that were deleted. */
            deleted?: string[];
        };
        /** @description Payload for bulk-updating the status of events. */
        BulkUpdateStatusRequest: {
            /** @description UUIDs of the events to update. */
            ids: string[];
            /**
             * @description New status to apply to the selected events.
             * @example failed
             */
            status: string;
        };
        /** @description Response body returned after bulk event status update. */
        BulkUpdateStatusResponse: {
            /** @description UUIDs of events whose status was updated. */
            updated?: string[];
        };
        /** @description EventResult entity schema. */
        EventResult: {
            /**
             * Format: uuid
             * @description UUID of the user associated with the event.
             */
            owner: string;
            /** @description System identifier of the event source. */
            systemId?: string;
            /** @description The category of the event. */
            category: string;
            /** @description The action of the event. */
            action: string;
            /** @description Description of the event. */
            description?: string;
            /** @description The first name of the user associated with the event. */
            firstName?: string;
            /** @description The last name of the user associated with the event. */
            lastName?: string;
            /**
             * Format: email
             * @description Email address of the user associated with the event.
             */
            email?: string;
            /** @description Authentication provider of the user associated with the event. */
            provider?: string;
            /**
             * Format: date-time
             * @description Timestamp when the event was recorded.
             */
            createdAt?: string;
        };
        /** @description Paginated list of events. */
        EventsPage: {
            /** @description Zero-based page index returned in this response. */
            page?: number;
            /** @description Maximum number of items returned on each page. */
            pageSize?: number;
            /** @description Total number of items across all pages. */
            totalCount?: number;
            /** @description The events returned on the current page. */
            data?: {
                /**
                 * Format: uuid
                 * @description UUID of the user associated with the event.
                 */
                owner: string;
                /** @description System identifier of the event source. */
                systemId?: string;
                /** @description The category of the event. */
                category: string;
                /** @description The action of the event. */
                action: string;
                /** @description Description of the event. */
                description?: string;
                /** @description The first name of the user associated with the event. */
                firstName?: string;
                /** @description The last name of the user associated with the event. */
                lastName?: string;
                /**
                 * Format: email
                 * @description Email address of the user associated with the event.
                 */
                email?: string;
                /** @description Authentication provider of the user associated with the event. */
                provider?: string;
                /**
                 * Format: date-time
                 * @description Timestamp when the event was recorded.
                 */
                createdAt?: string;
            }[];
        };
        /** @description Aggregated event counts across categories. */
        EventsAggregate: {
            /** @description Count of audit-category events. */
            audit?: number;
        } & {
            [key: string]: unknown;
        };
        /** @description Per-user event summary entry. */
        EventSummary: {
            [key: string]: unknown;
        };
        /** @description Paginated list of per-user event summaries. */
        EventSummaryPage: {
            /** @description Current page number of the result set. */
            page?: number;
            /** @description Number of items per page. */
            pageSize?: number;
            /** @description Total number of items available. */
            totalCount?: number;
            /** @description The event summaries returned on the current page. */
            data?: {
                [key: string]: unknown;
            }[];
        };
        /** @description A category/action pair describing one kind of event. */
        EventType: {
            /** @description The category of the event type. */
            category?: string;
            /** @description The action of the event type. */
            action?: string;
        };
        /** @description Generic error envelope returned for non-2xx responses. */
        ErrorResponse: {
            /** @description Human-readable error message. */
            error?: string;
        };
    };
    responses: {
        /** @description Invalid request body or request param */
        400: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Expired JWT token used or insufficient privilege */
        401: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Result not found */
        404: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
        /** @description Internal server error */
        500: {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "text/plain": string;
            };
        };
    };
    parameters: {
        /** @description ID of the event. */
        eventId: string;
        /** @description Workspace ID */
        workspaceId: string;
        /** @description Get responses by page */
        page: number;
        /** @description Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`. */
        pageSize: number;
        /** @description Get responses by pagesize */
        pagesize: number;
        /**
         * @deprecated
         * @description Get responses by pagesize. Deprecated alias of pageSize.
         */
        pagesizeLegacy: number;
        /** @description Get responses that match search param value */
        search: string;
        /** @description Get ordered responses */
        order: string;
        /** @description When true, return cumulative aggregate counts across all time. */
        cumulative: boolean;
        /** @description Get filtered reponses */
        filter: string;
        /** @description Get filtered reponses */
        eventsFilter: string;
    };
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    deleteEvent: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description ID of the event. */
                eventId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Event deleted */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Result not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    bulkDeleteEvents: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    /** @description UUIDs of the events to delete. */
                    ids: string[];
                };
            };
        };
        responses: {
            /** @description Events deleted */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description UUIDs of events that were deleted. */
                        deleted?: string[];
                    };
                };
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    bulkUpdateEventStatus: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    /** @description UUIDs of the events to update. */
                    ids: string[];
                    /**
                     * @description New status to apply to the selected events.
                     * @example failed
                     */
                    status: string;
                };
            };
        };
        responses: {
            /** @description Events updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description UUIDs of events whose status was updated. */
                        updated?: string[];
                    };
                };
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    updateEventStatus: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description ID of the event. */
                eventId: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    /**
                     * @description Current status of the event.
                     * @example completed
                     */
                    status: string;
                };
            };
        };
        responses: {
            /** @description Event status updated */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Human-readable status message. */
                        message?: string;
                        /**
                         * Format: uuid
                         * @description UUID of the event whose status was updated.
                         */
                        eventId?: string;
                        /** @description Updated status of the event. */
                        status?: string;
                    };
                };
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Result not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    getEventsOfWorkspace: {
        parameters: {
            query?: {
                /** @description Get responses by page */
                page?: number;
                /** @description Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`. */
                pageSize?: number;
                /**
                 * @deprecated
                 * @description Get responses by pagesize. Deprecated alias of pageSize.
                 */
                pagesize?: number;
                /** @description Get responses that match search param value */
                search?: string;
                /** @description Get ordered responses */
                order?: string;
            };
            header?: never;
            path: {
                /** @description Workspace ID */
                workspaceId: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Workspace events */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Zero-based page index returned in this response. */
                        page?: number;
                        /** @description Maximum number of items returned on each page. */
                        pageSize?: number;
                        /** @description Total number of items across all pages. */
                        totalCount?: number;
                        /** @description The events returned on the current page. */
                        data?: {
                            /**
                             * Format: uuid
                             * @description UUID of the user associated with the event.
                             */
                            owner: string;
                            /** @description System identifier of the event source. */
                            systemId?: string;
                            /** @description The category of the event. */
                            category: string;
                            /** @description The action of the event. */
                            action: string;
                            /** @description Description of the event. */
                            description?: string;
                            /** @description The first name of the user associated with the event. */
                            firstName?: string;
                            /** @description The last name of the user associated with the event. */
                            lastName?: string;
                            /**
                             * Format: email
                             * @description Email address of the user associated with the event.
                             */
                            email?: string;
                            /** @description Authentication provider of the user associated with the event. */
                            provider?: string;
                            /**
                             * Format: date-time
                             * @description Timestamp when the event was recorded.
                             */
                            createdAt?: string;
                        }[];
                    };
                };
            };
            /** @description Invalid request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Human-readable error message. */
                        error?: string;
                    };
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Workspace not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    getEventsAggregate: {
        parameters: {
            query?: {
                /** @description When true, return cumulative aggregate counts across all time. */
                cumulative?: boolean;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Events aggregate */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Count of audit-category events. */
                        audit?: number;
                    } & {
                        [key: string]: unknown;
                    };
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    createEvent: {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    /**
                     * Format: uuid
                     * @description UUID of the user associated with the event.
                     */
                    owner?: string;
                    /** @description The category of the event. */
                    category?: string;
                    /** @description The action of the event. */
                    action?: string;
                    /** @description Description of the event. */
                    description?: string;
                } & {
                    [key: string]: unknown;
                };
            };
        };
        responses: {
            /** @description Event created */
            201: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Invalid request body or request param */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Expired JWT token used or insufficient privilege */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
            /** @description Internal server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/plain": string;
                };
            };
        };
    };
    getEvents: {
        parameters: {
            query?: {
                /** @description Get responses by page */
                page?: number;
                /** @description Get responses by pagesize */
                pagesize?: number;
                /** @description Get responses that match search param value */
                search?: string;
                /** @description Get ordered responses */
                order?: string;
                /** @description Get filtered reponses */
                filter?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Events page */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Zero-based page index returned in this response. */
                        page?: number;
                        /** @description Maximum number of items returned on each page. */
                        pageSize?: number;
                        /** @description Total number of items across all pages. */
                        totalCount?: number;
                        /** @description The events returned on the current page. */
                        data?: {
                            /**
                             * Format: uuid
                             * @description UUID of the user associated with the event.
                             */
                            owner: string;
                            /** @description System identifier of the event source. */
                            systemId?: string;
                            /** @description The category of the event. */
                            category: string;
                            /** @description The action of the event. */
                            action: string;
                            /** @description Description of the event. */
                            description?: string;
                            /** @description The first name of the user associated with the event. */
                            firstName?: string;
                            /** @description The last name of the user associated with the event. */
                            lastName?: string;
                            /**
                             * Format: email
                             * @description Email address of the user associated with the event.
                             */
                            email?: string;
                            /** @description Authentication provider of the user associated with the event. */
                            provider?: string;
                            /**
                             * Format: date-time
                             * @description Timestamp when the event was recorded.
                             */
                            createdAt?: string;
                        }[];
                    };
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    getEventSummaryByUser: {
        parameters: {
            query?: {
                /** @description Get responses by page */
                page?: number;
                /** @description Get responses by pagesize */
                pagesize?: number;
                /** @description Get responses that match search param value */
                search?: string;
                /** @description Get ordered responses */
                order?: string;
                /** @description Get filtered reponses */
                filter?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Event summary page */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description Current page number of the result set. */
                        page?: number;
                        /** @description Number of items per page. */
                        pageSize?: number;
                        /** @description Total number of items available. */
                        totalCount?: number;
                        /** @description The event summaries returned on the current page. */
                        data?: {
                            [key: string]: unknown;
                        }[];
                    };
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
    getEventTypes: {
        parameters: {
            query?: {
                /** @description Get responses by page */
                page?: number;
                /** @description Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`. */
                pageSize?: number;
                /**
                 * @deprecated
                 * @description Get responses by pagesize. Deprecated alias of pageSize.
                 */
                pagesize?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Event types */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description The category of the event type. */
                        category?: string;
                        /** @description The action of the event type. */
                        action?: string;
                    }[];
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Server error */
            500: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
        };
    };
}
