/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */
export interface paths {
    "/organizations/{organizationId}/granular-processes": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /**
                 * @description An identifier for the organization the request is being made by
                 * @example f_ecom_zzxy_prd
                 */
                organizationId: components["parameters"]["organizationId"];
            };
            cookie?: never;
        };
        /** Retrieve a list of all publish processes with pagination support. */
        get: operations["listPublishProcesses"];
        put?: never;
        /**
         * Queue item for publishing
         * @description Queues items, such as products, price tables, and content assets, for the upcoming publish operation. You can have multiple items in the queue, but you must send a separate request for each item.
         *
         *     Note: The published price table is always the table with the continuously valid period.
         *
         *     ## Publishing Limit
         *     This endpoint is limited to 50 items per publish operation. The HTTP status code 409 (Conflict) is returned if the limit is exceeded.
         */
        post: operations["publishItems"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/organizations/{organizationId}/granular-processes/{id}": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /**
                 * @description An identifier for the organization the request is being made by
                 * @example f_ecom_zzxy_prd
                 */
                organizationId: components["parameters"]["organizationId"];
                /** @description Publish process ID */
                id: components["parameters"]["id"];
            };
            cookie?: never;
        };
        /** Retrieve details of a specific publish process using its ID. */
        get: operations["getPublishProcess"];
        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 An identifier for the organization the request is being made by
         * @example f_ecom_zzxy_prd
         */
        OrganizationId: string;
        /**
         * Format: int32
         * @description The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are paginated.
         * @default 0
         * @example 10
         */
        Total: number;
        /**
         * Format: int32
         * @description The offset for the search results (pagination).
         * @default 0
         * @example 0
         */
        Offset: number;
        /** @description Base type for results */
        ResultBase: {
            total: components["schemas"]["Total"];
            /** @default 20 */
            limit: number;
        };
        /** @description Paginated list of publish processes */
        PublishProcessListResponse: {
            data: components["schemas"]["PublishProcessResponse"][];
            offset: components["schemas"]["Offset"];
        } & components["schemas"]["ResultBase"];
        /**
         * @description Publish process ID of the published item
         * @example xmRhi7394HymoeRkfwAAAZeg3WiM
         */
        id: string;
        /**
         * @description The id (SKU) of the product.
         * @example apple-ipod-classic
         */
        ProductId: string;
        /** @description Details of the published product (only available if a product was published) */
        ProductItem: {
            productId: components["schemas"]["ProductId"];
        };
        /** @description Details of the published price table (only available if a price table was published) */
        PriceTableItem: {
            /**
             * @description ID of the price table
             * @example usd-list-prices
             */
            priceTableId: string;
        };
        /**
         * @description The site ID
         * @example RefArch
         */
        SiteId: string;
        ContentAssetItem: components["schemas"]["ContentAssetItemPrivate"] | components["schemas"]["ContentAssetItemShared"];
        /** @description Details of the published content asset from a private library */
        ContentAssetItemPrivate: {
            /**
             * @description ID of the content asset
             * @example homepage-hero-banner
             */
            contentId: string;
            /**
             * @description The type of library (private) from which the content asset originates.
             * @example private
             * @enum {string}
             */
            type: "private";
            siteId: components["schemas"]["SiteId"];
        };
        /** @description Details of the published content asset from a shared library */
        ContentAssetItemShared: {
            /**
             * @description ID of the content asset
             * @example homepage-hero-banner
             */
            contentId: string;
            /**
             * @description The type of library (shared) from which the content asset originates.
             * @example shared
             * @enum {string}
             */
            type: "shared";
            /**
             * @description ID of the shared library
             * @example sharedLibrary
             */
            libraryId: string;
        };
        /** @description Publish process details */
        PublishProcessResponse: {
            id: components["schemas"]["id"];
            /**
             * @description Status of the publish process
             * @example completed
             * @enum {string}
             */
            status: "pending" | "in_progress" | "completed" | "failed";
            /**
             * Format: date-time
             * @description Timestamp at which the publish process was started
             * @example 2024-03-15T10:30:00Z
             */
            startTime: string;
            /**
             * Format: date-time
             * @description Timestamp at which the publish process was completed (only available if the status is "completed" or "failed")
             * @example 2024-03-15T10:30:45Z
             */
            endTime?: string;
            /**
             * @description User or ID of the client application that initiated the publish process
             * @example user@example.com
             */
            initiatedBy: string;
            productItem?: components["schemas"]["ProductItem"];
            priceTableItem?: components["schemas"]["PriceTableItem"];
            contentAssetItem?: components["schemas"]["ContentAssetItem"];
        };
        ProductPublishRequest: {
            product: components["schemas"]["ProductItem"];
        };
        PriceTablePublishRequest: {
            priceTable: components["schemas"]["PriceTableItem"];
        };
        ContentAssetPublishRequest: {
            contentAsset: components["schemas"]["ContentAssetItemPrivate"] | components["schemas"]["ContentAssetItemShared"];
        };
        PublishItemRequest: components["schemas"]["ProductPublishRequest"] | components["schemas"]["PriceTablePublishRequest"] | components["schemas"]["ContentAssetPublishRequest"];
        /** @description Item successfully queued for publishing */
        PublishIdResponse: {
            id: components["schemas"]["id"];
        };
        /** @description Standard error response following RFC 7807 */
        ErrorResponse: {
            /**
             * @description A URI reference that identifies the problem type
             * @example https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-request-body
             */
            type: string;
            /**
             * @description A short, human-readable summary of the problem type
             * @example NotEnoughMoney
             */
            title: string;
            /**
             * @description A human-readable explanation specific to this occurrence of the problem.
             * @example Your current balance is 30, but that costs 50
             */
            detail?: string;
            /**
             * @description A URI reference that identifies the specific occurrence of the problem
             * @example /account/12345/msgs/abc
             */
            instance?: string;
        };
    };
    responses: {
        /** @description Invalid query parameter */
        "400BadRequest_GetProcesses": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/problem+json": components["schemas"]["ErrorResponse"];
            };
        };
        /**
         * @description Forbidden. Your access token is valid, but you don't have the required permissions to access the resource,
         *     or the Granular Replication feature is disabled.
         */
        "403Forbidden": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/json": components["schemas"]["ErrorResponse"];
            };
        };
        /** @description If the request was not sent to a staging instance */
        "422UnprocessableContent": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/problem+json": components["schemas"]["ErrorResponse"];
            };
        };
        /** @description Invalid request body */
        "400BadRequest_CreateProcess": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/problem+json": components["schemas"]["ErrorResponse"];
            };
        };
        /** @description The item was not found */
        "404NotFound_CreateProcess": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/problem+json": components["schemas"]["ErrorResponse"];
            };
        };
        /** @description Conflict - item already published, limit exceeded, or replication running */
        "409Conflict_CreateProcess": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/problem+json": components["schemas"]["ErrorResponse"];
            };
        };
        /** @description The item could not get processed */
        "422UnprocessableContent_CreateProcess": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/problem+json": components["schemas"]["ErrorResponse"];
            };
        };
        /** @description The publish process for given ID was not found */
        "404NotFound_GetProcess": {
            headers: {
                [name: string]: unknown;
            };
            content: {
                "application/problem+json": components["schemas"]["ErrorResponse"];
            };
        };
    };
    parameters: {
        /**
         * @description An identifier for the organization the request is being made by
         * @example f_ecom_zzxy_prd
         */
        organizationId: components["schemas"]["OrganizationId"];
        /** @description Publish process ID */
        id: components["schemas"]["id"];
    };
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    listPublishProcesses: {
        parameters: {
            query?: {
                limit?: number;
                offset?: number;
            };
            header?: never;
            path: {
                /**
                 * @description An identifier for the organization the request is being made by
                 * @example f_ecom_zzxy_prd
                 */
                organizationId: components["parameters"]["organizationId"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Retrieved list of publish processes successfully. */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PublishProcessListResponse"];
                };
            };
            400: components["responses"]["400BadRequest_GetProcesses"];
            403: components["responses"]["403Forbidden"];
            422: components["responses"]["422UnprocessableContent"];
        };
    };
    publishItems: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /**
                 * @description An identifier for the organization the request is being made by
                 * @example f_ecom_zzxy_prd
                 */
                organizationId: components["parameters"]["organizationId"];
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": components["schemas"]["PublishItemRequest"];
            };
        };
        responses: {
            /** @description Item successfully queued for publishing */
            201: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PublishIdResponse"];
                };
            };
            400: components["responses"]["400BadRequest_CreateProcess"];
            403: components["responses"]["403Forbidden"];
            404: components["responses"]["404NotFound_CreateProcess"];
            409: components["responses"]["409Conflict_CreateProcess"];
            422: components["responses"]["422UnprocessableContent_CreateProcess"];
        };
    };
    getPublishProcess: {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /**
                 * @description An identifier for the organization the request is being made by
                 * @example f_ecom_zzxy_prd
                 */
                organizationId: components["parameters"]["organizationId"];
                /** @description Publish process ID */
                id: components["parameters"]["id"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Publish process details retrieved successfully. */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PublishProcessResponse"];
                };
            };
            403: components["responses"]["403Forbidden"];
            404: components["responses"]["404NotFound_GetProcess"];
        };
    };
}
