/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/dw/rest/v1/roles": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List all roles. * @description Retrieve a paginated list of all roles. Use the roleTargetType parameter to filter by target type. */ get: operations["getRoles"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/dw/rest/v1/roles/{roleId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get role by ID. * @description Retrieve a specific role by ID. */ get: operations["getRole"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { /** @description A role defines permissions and access levels that can be assigned to Users and API Clients. */ Role: { /** @description Description of the role. */ description?: string; /** @description Enumeration name of the role. */ roleEnumName?: string; /** @description List of permissions granted by this role. */ permissions?: string[]; /** * @description Scope level of the role (global or instance-specific). * @enum {string} */ scope?: "GLOBAL" | "INSTANCE"; /** * @description Type of entity the role can be assigned to. * @enum {string|null} */ targetType?: "ApiClient" | "User" | null; /** @description Indicates if two-factor authentication is required for the role. */ twoFAEnabled?: boolean; /** @description Unique identifier of the role. */ id?: string; }; /** @description A paginated collection of roles. */ RoleCollection: { content?: components["schemas"]["Role"][]; }; /** @description Pagination parameters for list operations. */ Pageable: { /** * Format: int32 * @description Zero-based page index. */ page?: number; /** * Format: int32 * @description Number of items to return per page. * @default 20 */ size: number; }; /** @description Standard error response format returned when API requests fail. */ ErrorResponse: { /** @description The list of errors */ errors?: { /** @description Error message */ message?: string; /** @description Error code */ code?: string; /** @description Field-specific errors */ fieldErrors?: { /** @description The field that contained the erroneous value */ field?: string; /** @description The value that was rejected */ rejectedValue?: Record; /** @description Whether this error was caused by failed binding (e.g. type mismatch) */ bindingFailure?: boolean; }[] | null; }[]; }; }; responses: { /** @description Access token is missing or invalid */ UnauthorizedError: { headers: { [name: string]: unknown; }; content: { /** * @example { * "errors": [ * { * "message": "Full authentication is required to access this resource", * "code": "InsufficientAuthenticationException", * "fieldErrors": null * } * ] * } */ "application/json": { /** @description The list of errors */ errors?: { /** @description Error message */ message?: string; /** @description Error code */ code?: string; /** @description Field-specific errors. */ fieldErrors?: { /** @description The field that contained the erroneous value. */ field?: string; /** @description The value that was rejected. */ rejectedValue?: Record; /** @description Whether this error was caused by failed binding (e.g. type mismatch). */ bindingFailure?: boolean; }[] | null; }[]; }; }; }; /** @description Request has been rate-limited. The X-RateLimit-* headers can be used to improve retry behavior. */ RateLimitedError: { headers: { "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"]; "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"]; "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"]; [name: string]: unknown; }; content?: never; }; }; parameters: never; requestBodies: never; headers: { /** @description Rate limit per minute. */ "X-RateLimit-Limit": number; /** @description The number of requests left in the current time window. */ "X-RateLimit-Remaining": number; /** @description The UTC timestamp at which the current rate limit window resets. */ "X-RateLimit-Reset": string; }; pathItems: never; } export type $defs = Record; export interface operations { getRoles: { parameters: { query?: { pageable?: components["schemas"]["Pageable"]; roleTargetType?: "ApiClient" | "User"; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"]; "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"]; "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"]; [name: string]: unknown; }; content: { /** * @example { * "content": [ * { * "description": "Business Manager User", * "roleEnumName": "ECOM_USER", * "permissions": [], * "scope": "INSTANCE", * "targetType": "User", * "id": "bm-user" * }, * { * "description": "Business Manager Administrator", * "roleEnumName": "ECOM_ADMIN", * "permissions": [], * "scope": "INSTANCE", * "targetType": "User", * "id": "bm-admin" * } * ] * } */ "application/json": components["schemas"]["RoleCollection"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Access token is missing or invalid. */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; 429: components["responses"]["RateLimitedError"]; }; }; getRole: { parameters: { query?: never; header?: never; path: { roleId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"]; "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"]; "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"]; [name: string]: unknown; }; content: { /** * @example { * "description": "Business Manager User", * "roleEnumName": "ECOM_USER", * "permissions": [], * "scope": "INSTANCE", * "targetType": "User", * "id": "bm-user" * } */ "application/json": components["schemas"]["Role"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Access token is missing or invalid. */ 401: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ErrorResponse"]; }; }; /** @description A role with this ID was not found. */ 404: { headers: { [name: string]: unknown; }; content?: never; }; 429: components["responses"]["RateLimitedError"]; }; }; }