import { ApiClient, ClientOptions, ExceptProject, ApiClientError } from '@uniformdev/context/api'; export { ApiClientError } from '@uniformdev/context/api'; import { AssetGetResponseSingle, AssetDefinitionType, AssetParamValue, AssetParamValueItem } from '@uniformdev/assets'; export { AssetParamValue, AssetParamValueItem } from '@uniformdev/assets'; import { EndpointOut, EndpointHeadersOut, EndpointTransformationOut } from 'svix'; import { Quirks, StorageCommands, PersonalizedVariant, VariationMatchMetadata, TestVariant } from '@uniformdev/context'; import { Options as Options$1 } from 'p-retry'; import { Options } from 'p-throttle'; import { RichTextBuiltInElement as RichTextBuiltInElement$1, RichTextBuiltInFormat as RichTextBuiltInFormat$1, RichTextParamConfiguration as RichTextParamConfiguration$1, ParameterRichTextValue } from '@uniformdev/richtext'; interface paths$n { "/api/v1/canvas-definitions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: { parameters: { query: { /** @description The project ID to get component definitions for */ projectId: string; /** @description Limit the list to one result by ID (response remains an array) */ componentId?: string; /** @description Number of records to skip */ offset?: number; /** @description Maximum number of records to return */ limit?: number; /** @description Whether to fetch system meta-component definitions (personalize, test, etc.) */ includeSystem?: boolean; /** @description Filter by category ID */ categories?: string[]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { /** @description Component definitions that match the query */ componentDefinitions: components$r["schemas"]["ComponentDefinition"][]; }; }; }; 400: components$r["responses"]["BadRequestError"]; 401: components$r["responses"]["UnauthorizedError"]; 403: components$r["responses"]["ForbiddenError"]; 429: components$r["responses"]["RateLimitError"]; 500: components$r["responses"]["InternalServerError"]; }; }; /** @description Upserts a component definition */ put: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": { /** * Format: uuid * @description The project ID to upsert the component definition to */ projectId: string; componentDefinition: components$r["schemas"]["ComponentDefinition"]; }; }; }; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content?: never; }; 400: components$r["responses"]["BadRequestError"]; 401: components$r["responses"]["UnauthorizedError"]; 403: components$r["responses"]["ForbiddenError"]; 429: components$r["responses"]["RateLimitError"]; 500: components$r["responses"]["InternalServerError"]; }; }; post?: never; /** @description Deletes a component definition */ delete: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": { /** @description The public ID of the component definition to delete */ componentId: string; /** * Format: uuid * @description The project ID the component definition to delete belongs to */ projectId: string; }; }; }; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content?: never; }; 400: components$r["responses"]["BadRequestError"]; 401: components$r["responses"]["UnauthorizedError"]; 403: components$r["responses"]["ForbiddenError"]; 429: components$r["responses"]["RateLimitError"]; 500: components$r["responses"]["InternalServerError"]; }; }; /** @description Handles preflight requests. This endpoint allows CORS */ options: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content?: never; }; }; }; head?: never; patch?: never; trace?: never; }; } interface components$r { schemas: { /** @description Public ID (used in code). Do not change after creation */ PublicIdProperty: string; /** @description The definition of a component parameter */ ComponentDefinitionParameter: { id: components$r["schemas"]["PublicIdProperty"]; /** @description Friendly name of the parameter */ name: string; /** @description Appears next to the parameter in the Composition editor */ helpText?: string; /** @description Context provided to AI when generating content for this parameter. May also be shown to humans. */ guidance?: string; /** @description Type name of the parameter (provided by a Uniform integration) */ type: string; /** @description If true, this property can have locale-specific values. If false or not defined, * this property will have a single value that is shared for all locales * */ localizable?: boolean; /** @description When `localizable` is true, this property controls the default localizability of the property. * true - when the property has no existing value, it will be in 'single value' mode and not store locale specific values * false/undefined - when the property has no existing value, it will store separate values for each enabled locale * * If `localized` is false, this has no effect. * */ notLocalizedByDefault?: boolean; /** @description Enables creating additional conditional values for the parameter based on criteria such as dynamic inputs. * When combined with a localized value, each locale has independent conditional values. * * When not defined, conditional values are not allowed. * */ allowConditionalValues?: boolean; /** @description The configuration object for the type (type-specific) */ typeConfig?: unknown; }; /** @description Permission set for a component definition */ ComponentDefinitionPermission: { roleId: components$r["schemas"]["PublicIdProperty"]; /** * @description Permission type for this permission ComponentDefinition: * read | write | create | delete * * @enum {string} */ permission: "read" | "write" | "create" | "delete"; /** @description State of the component that this permission applies to */ state: number; }; /** @description The definition of a named component slot that can contain other components */ ComponentDefinitionSlot: { id: components$r["schemas"]["PublicIdProperty"]; /** @description Friendly name of the slot */ name: string; /** @description A list of component definition public IDs that are allowed in this named slot */ allowedComponents: string[]; /** * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, `allowedComponents` is irrelevant. * If `allowAllComponents` is true, this value is ignored * * @default false */ inheritAllowedComponents: boolean; /** @description When false or not defined, only components in `allowedComponents` may be added to this slot - and if `allowedComponents` is empty, nothing can be added. * When true, every component and pattern that is defined may be added to this slot regardless of any other setting including `inheritAllowedComponents` * */ allowAllComponents?: boolean; /** @description When not defined, or false: all patterns for components listed in `allowedComponents` are automatically allowed in the slot. * When true: patterns for components listed in `allowedComponents` are not allowed in the slot unless explicitly added to `allowedComponents` as `$p:` * */ patternsInAllowedComponents?: boolean; /** @description Minimum valid number of components in this slot */ minComponents?: number; /** @description Maximum valid number of components in this slot */ maxComponents?: number; }; /** @description The definition of a composition's slug settings */ ComponentDefinitionSlugSettings: { /** * @description Whether the slug is required * no: slug is optional * yes: slug is required * disabled: slug is disabled and will not be shown in the editor * * @default no * @enum {string} */ required?: "no" | "yes" | "disabled"; /** * @description Slug uniqueness configuration. * no = no unique constraint * local = must be unique within this component type * global = must be unique across all component types * * @enum {string} */ unique?: "no" | "local" | "global"; /** @description Regular expression slugs must match */ regularExpression?: string; /** @description Custom error message when regular expression validation fails. * Has no effect if `regularExpression` is not set * */ regularExpressionMessage?: string; }; /** @description Defines a connection to a dynamic token on a data resource * */ DataElementConnectionDefinition: { /** @description A JSON Pointer expression that defines the data resource dynamic token value */ pointer: string; /** * @description The syntax used to select the dynamic token to bind to * @enum {string} */ syntax: "jptr"; /** * @description The action to take if the dynamic token cannot be resolved * - t: TOKEN: Removes the failed dynamic token value, leaving the rest of the property value, if any, intact [default] * NOTE: If the _only_ value in the property is a dynamic token, the property value is removed (as with 'p' below) * NOTE: If the _failureDefault_ property is also set, that default value will be used instead of removing the token. * this only applies when the failureAction is 't' or undefined, the default is otherwise ignored * - p: PROPERTY: Removes the entire property value, including any other dynamic tokens or static values in the property * - c: COMPONENT: Removes the whole parent component or block that contains the property. * NOTE: If a 'component' failure occurs on the root component of a composition, or an entry, * it is treated as an 'a' failure because removing the root means we must remove all * - a: ALL: Fails the whole entry or composition. This will result in the item returning a 404 from APIs, and being removed from API list responses * * @enum {string} */ failureAction?: "t" | "p" | "c" | "a"; /** * @description How to report when the dynamic token cannot be resolved * - e: ERROR: Report an error message (this will prevent publishing) * - w: WARNING: Report a warning message [default] * - i: INFO: Log an informative message (failure is expected/normal, i.e. optional data) * * @enum {string} */ failureLogLevel?: "e" | "w" | "i"; /** @description The default value to use if the dynamic token cannot be resolved. * This is only used if the failureAction is the default (undefined, or explicitly token) * */ failureDefault?: string; }; /** * @deprecated * @description beta functionality subject to change */ VisibilityCriteria: { /** @description The rule type to execute */ rule: string; /** @description The source value of the rule. * For rules which have multiple classes of match, for example a dynamic input matches on a named DI, the rule is dynamic input and the DI name is the source. * */ source?: string; /** @description The rule-definition-specific operator to test against */ op: string; /** @description The value, or if an array several potential values, to test against. In most rules, multiple values are OR'd together ('any of') but this is not a hard requirement. */ value: string | string[]; }; /** * @deprecated * @description beta functionality subject to change */ VisibilityCriteriaGroup: { /** * @description The boolean operator to join the clauses with. Defaults to & if not specified. * @enum {string} */ op?: "&" | "|"; clauses: (components$r["schemas"]["VisibilityCriteria"] | components$r["schemas"]["VisibilityCriteriaGroup"])[]; }; /** @description Defines a conditional value for a component parameter * */ ComponentParameterConditionalValue: { when: components$r["schemas"]["VisibilityCriteriaGroup"]; /** @description The value of the parameter. Any JSON-serializable value is acceptable. * A value of `null` will cause the parameter value to be removed, if it matches. * */ value: unknown; /** @description Unique sequence identifier of the conditional value within the component parameter. * This value must be unique within the conditional values array, and it should not change after a condition is created. * */ id: number; }; /** @description Array of alternate values which are based on conditions. * * When requested with an explicit locale parameter, or via the route API: * * Conditions are evaluated sequentially and the first match is used. If a match is found, the conditions are eliminated. * * If no conditions match, the `value` property is used. * * If a condition cannot be evaluated yet (i.e. a client-side criteria), it is left alone. * * When no locale is passed to a non-route API, conditions are not processed and all conditions are returned. * */ ComponentParameterConditions: components$r["schemas"]["ComponentParameterConditionalValue"][]; /** @description Defines an editable parameter on a component */ ComponentParameter: { /** @description The value of the parameter. Any JSON-serializable value is acceptable */ value?: unknown; /** @description The type of the parameter. Determines how it is displayed when editing and tells the consumer how to process it */ type: string; /** @deprecated */ connectedData?: components$r["schemas"]["DataElementConnectionDefinition"]; /** @description Locale-specific values for this parameter. Keys are locale codes, and values are the `value` in that locale. * Note that locales must be registered on the entry/composition `_locales` before being used * */ locales?: { [key: string]: unknown; }; conditions?: components$r["schemas"]["ComponentParameterConditions"]; /** @description Locale-specific conditional values for this parameter. Keys are locale codes, and values are the `conditions` for that locale. * */ localesConditions?: { [key: string]: components$r["schemas"]["ComponentParameterConditions"]; }; }; /** @description Defines the shape of a component instance served by the composition API */ ComponentInstance: { /** @description Type of the component instance (public_id of its definition) */ type: string; /** @description Component parameter values for the component instance */ parameters?: { [key: string]: components$r["schemas"]["ComponentParameter"]; }; /** @description Public ID of alternate visual appearance for this component, if any selected */ variant?: string; /** @description Slots containing any child components */ slots?: { [key: string]: components$r["schemas"]["ComponentInstance"][]; }; /** @description Unique identifier of the component within the composition. * No assumptions should be made about the format of this value other than "it will be unique." * This is not returned in GET replies unless specifically requested via `withComponentIDs` API parameter. * When updating or creating a composition, if you do not specify an _id for each component, one will be created and stored for you * */ _id?: string; /** @description Indicates this component instance should be sourced from a pattern library pattern */ _pattern?: string; _dataResources?: components$r["schemas"]["DataResourceDefinitions"]; /** @description Data definitions coming from a pattern resolved for this component. Merged with _dataResources during resolution. * Means nothing for PUTs; it will be ignored * */ _patternDataResources?: { [key: string]: components$r["schemas"]["DataResourceDefinition"]; }; _patternError?: components$r["schemas"]["PatternError"]; /** @description Defines patch overrides to component IDs that live in the composition. * This can be used to override parameters that are defined on patterns, * including nested patterns, with values that are specific to this composition. * The keys in this object are component IDs. * Overrides are applied from the top down, so for example if both the composition * and a pattern on the composition define an override on a nested pattern, * the composition's override replaces the pattern's. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ _overrides?: { [key: string]: components$r["schemas"]["ComponentOverride"]; }; /** @description Overrides coming from a pattern resolved for this component. Merged with _overrides during resolution. * Means nothing for PUTs; it will be ignored * */ _patternOverrides?: { [key: string]: components$r["schemas"]["ComponentOverride"]; }; /** @description When used on a pattern, defines how the pattern's parameters may be overridden * by consumers of the pattern. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ _overridability?: components$r["schemas"]["ComponentOverridability"]; /** @description Array of locales that have data defined. Only set for pattern references or composition defaults */ _locales?: string[]; }; /** @description Variable values for a data resource */ DataResourceVariables: { [key: string]: string; }; /** @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters */ DataResourceDefinition: { /** @description Public ID of the data type that provides this data */ type: string; /** @description Whether this data is a pattern data resource that can be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false */ isPatternParameter?: boolean; /** @description When true, the default data resource of a pattern data parameter (isPatternParameter=true) will be ignored when the pattern is referenced. * Unless specifically overridden, the pattern data parameter will be provided with a null default value - leaving any data connections to it unresolvable. * If isPatternParameter is false or undefined, this has no meaning * */ ignorePatternParameterDefault?: boolean; /** @description When true, the data resource does not create an error forcing the choosing of override value when there is no default. * If isPatternParameter is false or undefined, or if ignorePatternParameterDefault is false, this has no meaning * */ optionalPatternParameter?: boolean; variables?: components$r["schemas"]["DataResourceVariables"]; }; /** @description Data definitions attached to this component. The property name is the key of the data in the data document. * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key) * */ DataResourceDefinitions: { [key: string]: components$r["schemas"]["DataResourceDefinition"]; }; /** * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored. * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop. * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, en published yet. * Means nothing for PUTs; it will be ignored * * @enum {string} */ PatternError: "NOTFOUND" | "CYCLIC"; /** @description Defines how to override a specific component. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ ComponentOverride: { parameters?: { [key: string]: components$r["schemas"]["ComponentParameter"]; }; slots?: { [key: string]: components$r["schemas"]["ComponentInstance"][]; }; variant?: string; /** @description Overrides data resource definitions for a pattern component. * Object keys defined under this property override the corresponding keys in the pattern's data resources. * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component. * */ dataResources?: { [key: string]: components$r["schemas"]["DataResourceDefinition"]; }; }; /** * @description Whether a parameter is overridable * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * * @enum {string} */ OverrideOptions: "yes" | "no"; /** @description Defines how a component on a pattern may have its values overridden. * NOTE: Data resources' overridability is defined in the data resource definition, not here. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ ComponentOverridability: { /** @description Defines component parameter value overrides. Keys are the parameter public ID */ parameters?: { [key: string]: components$r["schemas"]["OverrideOptions"]; }; /** @description Allows overriding a display variant is allowed if it is defined on the component the pattern is derived from. Default = false */ variants?: boolean; /** @description If true, parameters that are not overridable will be hidden by default on pattern instances' editors. * If false, all parameters will be shown on pattern instances' editors, but locked parameters will be read-only. * If not set, the default is false * */ hideLockedParameters?: boolean; }; /** @description The definition of a component variant */ ComponentDefinitionVariant: { id: components$r["schemas"]["PublicIdProperty"]; /** @description Friendly name of the variant */ name: string; }; /** @description Defines a component type that can live on a Composition */ ComponentDefinition: { id: components$r["schemas"]["PublicIdProperty"]; /** @description Friendly name of the component definition */ name: string; /** * @description Icon name for the component definition (e.g. 'screen') * @default screen */ icon?: string; /** * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI. * The parameter type must support being used as a title parameter for this to work * * @default null */ titleParameter?: string | null; /** * @description The public ID of the parameter whose value should be used as a thumbnail for compositions of this component in the UI * * @default null */ thumbnailParameter?: string | null; /** * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components * @default false */ canBeComposition?: boolean; /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries */ parameters?: components$r["schemas"]["ComponentDefinitionParameter"][]; /** * Format: uuid * @description Reference to the category this component definition belongs to * @default null */ categoryId?: string | null; /** @description Description of the component definition */ description?: string; /** @description Preview image URL for the component definition (shown in the UI) */ previewImageUrl?: string; /** * @description if this component uses team permissions or custom permissions * @default true */ useTeamPermissions?: boolean; /** @description Custom role permissions for this component definition */ permissions?: components$r["schemas"]["ComponentDefinitionPermission"][]; /** @description The named slots for this component; placement areas where arrays of other components can be added */ slots?: components$r["schemas"]["ComponentDefinitionSlot"][]; slugSettings?: components$r["schemas"]["ComponentDefinitionSlugSettings"]; /** @description Default component instance value */ defaults?: components$r["schemas"]["ComponentInstance"] | null; /** @description Named variants for this component; enables the creation of visual variants that use the same parameter data */ variants?: components$r["schemas"]["ComponentDefinitionVariant"][]; /** @description Created date string for this definition (ignored for writes) */ created?: string; /** @description Last modified date string for this definition (ignored for writes) */ updated?: string; /** * Format: uuid * @description ID of the workflow that instances of this component definition will use by default. When not set, no workflow is attached */ workflowId?: string; }; Error: { /** @description Error message(s) that occurred while processing the request */ errorMessage?: string[] | string; }; }; responses: { /** @description Request input validation failed */ BadRequestError: { headers: { [name: string]: unknown; }; content: { "application/json": components$r["schemas"]["Error"]; }; }; /** @description API key or token was not valid */ UnauthorizedError: { headers: { [name: string]: unknown; }; content: { "application/json": components$r["schemas"]["Error"]; }; }; /** @description Permission was denied */ ForbiddenError: { headers: { [name: string]: unknown; }; content: { "application/json": components$r["schemas"]["Error"]; }; }; /** @description Too many requests in allowed time period */ RateLimitError: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Execution error occurred */ InternalServerError: { headers: { [name: string]: unknown; }; content?: never; }; }; parameters: never; requestBodies: never; headers: never; pathItems: never; } interface components$q { schemas: { /** @description Public ID (used in code). Do not change after creation */ PublicIdProperty: string; /** @description The definition of a component parameter */ ComponentDefinitionParameter: { id: components$q["schemas"]["PublicIdProperty"]; /** @description Friendly name of the parameter */ name: string; /** @description Appears next to the parameter in the Composition editor */ helpText?: string; /** @description Context provided to AI when generating content for this parameter. May also be shown to humans. */ guidance?: string; /** @description Type name of the parameter (provided by a Uniform integration) */ type: string; /** @description If true, this property can have locale-specific values. If false or not defined, * this property will have a single value that is shared for all locales * */ localizable?: boolean; /** @description When `localizable` is true, this property controls the default localizability of the property. * true - when the property has no existing value, it will be in 'single value' mode and not store locale specific values * false/undefined - when the property has no existing value, it will store separate values for each enabled locale * * If `localized` is false, this has no effect. * */ notLocalizedByDefault?: boolean; /** @description Enables creating additional conditional values for the parameter based on criteria such as dynamic inputs. * When combined with a localized value, each locale has independent conditional values. * * When not defined, conditional values are not allowed. * */ allowConditionalValues?: boolean; /** @description The configuration object for the type (type-specific) */ typeConfig?: unknown; }; /** @description The definition of a named component slot that can contain other components */ ComponentDefinitionSlot: { id: components$q["schemas"]["PublicIdProperty"]; /** @description Friendly name of the slot */ name: string; /** @description A list of component definition public IDs that are allowed in this named slot */ allowedComponents: string[]; /** * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, `allowedComponents` is irrelevant. * If `allowAllComponents` is true, this value is ignored * * @default false */ inheritAllowedComponents: boolean; /** @description When false or not defined, only components in `allowedComponents` may be added to this slot - and if `allowedComponents` is empty, nothing can be added. * When true, every component and pattern that is defined may be added to this slot regardless of any other setting including `inheritAllowedComponents` * */ allowAllComponents?: boolean; /** @description When not defined, or false: all patterns for components listed in `allowedComponents` are automatically allowed in the slot. * When true: patterns for components listed in `allowedComponents` are not allowed in the slot unless explicitly added to `allowedComponents` as `$p:` * */ patternsInAllowedComponents?: boolean; /** @description Minimum valid number of components in this slot */ minComponents?: number; /** @description Maximum valid number of components in this slot */ maxComponents?: number; }; /** @description The definition of a composition's slug settings */ ComponentDefinitionSlugSettings: { /** * @description Whether the slug is required * no: slug is optional * yes: slug is required * disabled: slug is disabled and will not be shown in the editor * * @default no * @enum {string} */ required?: "no" | "yes" | "disabled"; /** * @description Slug uniqueness configuration. * no = no unique constraint * local = must be unique within this component type * global = must be unique across all component types * * @enum {string} */ unique?: "no" | "local" | "global"; /** @description Regular expression slugs must match */ regularExpression?: string; /** @description Custom error message when regular expression validation fails. * Has no effect if `regularExpression` is not set * */ regularExpressionMessage?: string; }; /** @description The definition of a component variant */ ComponentDefinitionVariant: { id: components$q["schemas"]["PublicIdProperty"]; /** @description Friendly name of the variant */ name: string; }; /** @description Permission set for a component definition */ ComponentDefinitionPermission: { roleId: components$q["schemas"]["PublicIdProperty"]; /** * @description Permission type for this permission ComponentDefinition: * read | write | create | delete * * @enum {string} */ permission: "read" | "write" | "create" | "delete"; /** @description State of the component that this permission applies to */ state: number; }; /** @description Defines a component type that can live on a Composition */ ComponentDefinition: { id: components$q["schemas"]["PublicIdProperty"]; /** @description Friendly name of the component definition */ name: string; /** * @description Icon name for the component definition (e.g. 'screen') * @default screen */ icon?: string; /** * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI. * The parameter type must support being used as a title parameter for this to work * * @default null */ titleParameter?: string | null; /** * @description The public ID of the parameter whose value should be used as a thumbnail for compositions of this component in the UI * * @default null */ thumbnailParameter?: string | null; /** * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components * @default false */ canBeComposition?: boolean; /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries */ parameters?: components$q["schemas"]["ComponentDefinitionParameter"][]; /** * Format: uuid * @description Reference to the category this component definition belongs to * @default null */ categoryId?: string | null; /** @description Description of the component definition */ description?: string; /** @description Preview image URL for the component definition (shown in the UI) */ previewImageUrl?: string; /** * @description if this component uses team permissions or custom permissions * @default true */ useTeamPermissions?: boolean; /** @description Custom role permissions for this component definition */ permissions?: components$q["schemas"]["ComponentDefinitionPermission"][]; /** @description The named slots for this component; placement areas where arrays of other components can be added */ slots?: components$q["schemas"]["ComponentDefinitionSlot"][]; slugSettings?: components$q["schemas"]["ComponentDefinitionSlugSettings"]; /** @description Default component instance value */ defaults?: components$q["schemas"]["ComponentInstance"] | null; /** @description Named variants for this component; enables the creation of visual variants that use the same parameter data */ variants?: components$q["schemas"]["ComponentDefinitionVariant"][]; /** @description Created date string for this definition (ignored for writes) */ created?: string; /** @description Last modified date string for this definition (ignored for writes) */ updated?: string; /** * Format: uuid * @description ID of the workflow that instances of this component definition will use by default. When not set, no workflow is attached */ workflowId?: string; }; /** @description Defines a content type */ ContentType: { id: components$q["schemas"]["PublicIdProperty"]; /** @description Friendly name of the content type */ name: string; /** @description The public ID of the field whose value should be used to create a display name for entries of this content type in the UI. * The field type must support being used as an entry name for this to work * */ entryName?: string | null; /** * @description The public ID of the field whose value should be used as a thumbnail for entries of this content type in the UI * * @default null */ thumbnailField?: string | null; /** @description The fields for this content type. Fields are key-value pairs that can be text, numbers, JSON objects, etc. */ fields?: components$q["schemas"]["ComponentDefinitionParameter"][]; /** @description Description of the content type */ description?: string; /** * @description Icon name for the content type (e.g. 'screen') * @default file-document */ icon?: string; /** @description Created date string for this content type (ignored for writes) */ created?: string; /** @description Last modified date string for this content type (ignored for writes) */ updated?: string; slugSettings?: components$q["schemas"]["ComponentDefinitionSlugSettings"]; /** * @description The definition type of this content type (block or content type) * @default contentType * @enum {string} */ type?: "contentType" | "block"; /** * @description if this content type uses team permissions or custom permissions * @default true */ useTeamPermissions?: boolean; /** @description Custom role permissions for this content type */ permissions?: components$q["schemas"]["ComponentDefinitionPermission"][]; /** * Format: uuid * @description ID of the workflow that instances of this content type will use by default. When not set, no workflow is attached */ workflowId?: string; /** @description Configurations for previewing an entry on a consuming pattern or composition. */ previewConfigurations?: components$q["schemas"]["ContentTypePreviewConfiguration"][]; }; /** @description Defines a configuration for previewing an entry on a consuming pattern or composition. */ ContentTypePreviewConfiguration: { /** * @description The type of preview configuration * @enum {string} */ type: "pattern" | "project-map"; /** @description Display label for the preview configuration */ label: string; /** * Format: uuid * @description Target preview entity ID (project map node ID or pattern ID) */ id: string; /** @description Optional mapping of dynamic input names to their values */ dynamicInputs?: { [key: string]: string; }; }; /** @description Defines an editable parameter on a component */ ComponentParameter: { /** @description The value of the parameter. Any JSON-serializable value is acceptable */ value?: unknown; /** @description The type of the parameter. Determines how it is displayed when editing and tells the consumer how to process it */ type: string; /** @deprecated */ connectedData?: components$q["schemas"]["DataElementConnectionDefinition"]; /** @description Locale-specific values for this parameter. Keys are locale codes, and values are the `value` in that locale. * Note that locales must be registered on the entry/composition `_locales` before being used * */ locales?: { [key: string]: unknown; }; conditions?: components$q["schemas"]["ComponentParameterConditions"]; /** @description Locale-specific conditional values for this parameter. Keys are locale codes, and values are the `conditions` for that locale. * */ localesConditions?: { [key: string]: components$q["schemas"]["ComponentParameterConditions"]; }; }; /** @description Array of alternate values which are based on conditions. * * When requested with an explicit locale parameter, or via the route API: * * Conditions are evaluated sequentially and the first match is used. If a match is found, the conditions are eliminated. * * If no conditions match, the `value` property is used. * * If a condition cannot be evaluated yet (i.e. a client-side criteria), it is left alone. * * When no locale is passed to a non-route API, conditions are not processed and all conditions are returned. * */ ComponentParameterConditions: components$q["schemas"]["ComponentParameterConditionalValue"][]; /** @description Defines a conditional value for a component parameter * */ ComponentParameterConditionalValue: { when: components$q["schemas"]["VisibilityCriteriaGroup"]; /** @description The value of the parameter. Any JSON-serializable value is acceptable. * A value of `null` will cause the parameter value to be removed, if it matches. * */ value: unknown; /** @description Unique sequence identifier of the conditional value within the component parameter. * This value must be unique within the conditional values array, and it should not change after a condition is created. * */ id: number; }; /** * @deprecated * @description beta functionality subject to change */ VisibilityCriteriaGroup: { /** * @description The boolean operator to join the clauses with. Defaults to & if not specified. * @enum {string} */ op?: "&" | "|"; clauses: (components$q["schemas"]["VisibilityCriteria"] | components$q["schemas"]["VisibilityCriteriaGroup"])[]; }; /** * @deprecated * @description beta functionality subject to change */ VisibilityCriteria: { /** @description The rule type to execute */ rule: string; /** @description The source value of the rule. * For rules which have multiple classes of match, for example a dynamic input matches on a named DI, the rule is dynamic input and the DI name is the source. * */ source?: string; /** @description The rule-definition-specific operator to test against */ op: string; /** @description The value, or if an array several potential values, to test against. In most rules, multiple values are OR'd together ('any of') but this is not a hard requirement. */ value: string | string[]; }; /** @description Defines a connection to a dynamic token on a data resource * */ DataElementConnectionDefinition: { /** @description A JSON Pointer expression that defines the data resource dynamic token value */ pointer: string; /** * @description The syntax used to select the dynamic token to bind to * @enum {string} */ syntax: "jptr"; /** * @description The action to take if the dynamic token cannot be resolved * - t: TOKEN: Removes the failed dynamic token value, leaving the rest of the property value, if any, intact [default] * NOTE: If the _only_ value in the property is a dynamic token, the property value is removed (as with 'p' below) * NOTE: If the _failureDefault_ property is also set, that default value will be used instead of removing the token. * this only applies when the failureAction is 't' or undefined, the default is otherwise ignored * - p: PROPERTY: Removes the entire property value, including any other dynamic tokens or static values in the property * - c: COMPONENT: Removes the whole parent component or block that contains the property. * NOTE: If a 'component' failure occurs on the root component of a composition, or an entry, * it is treated as an 'a' failure because removing the root means we must remove all * - a: ALL: Fails the whole entry or composition. This will result in the item returning a 404 from APIs, and being removed from API list responses * * @enum {string} */ failureAction?: "t" | "p" | "c" | "a"; /** * @description How to report when the dynamic token cannot be resolved * - e: ERROR: Report an error message (this will prevent publishing) * - w: WARNING: Report a warning message [default] * - i: INFO: Log an informative message (failure is expected/normal, i.e. optional data) * * @enum {string} */ failureLogLevel?: "e" | "w" | "i"; /** @description The default value to use if the dynamic token cannot be resolved. * This is only used if the failureAction is the default (undefined, or explicitly token) * */ failureDefault?: string; }; /** @description Defines the shape of a component instance served by the composition API */ ComponentInstance: { /** @description Type of the component instance (public_id of its definition) */ type: string; /** @description Component parameter values for the component instance */ parameters?: { [key: string]: components$q["schemas"]["ComponentParameter"]; }; /** @description Public ID of alternate visual appearance for this component, if any selected */ variant?: string; /** @description Slots containing any child components */ slots?: { [key: string]: components$q["schemas"]["ComponentInstance"][]; }; /** @description Unique identifier of the component within the composition. * No assumptions should be made about the format of this value other than "it will be unique." * This is not returned in GET replies unless specifically requested via `withComponentIDs` API parameter. * When updating or creating a composition, if you do not specify an _id for each component, one will be created and stored for you * */ _id?: string; /** @description Indicates this component instance should be sourced from a pattern library pattern */ _pattern?: string; _dataResources?: components$q["schemas"]["DataResourceDefinitions"]; /** @description Data definitions coming from a pattern resolved for this component. Merged with _dataResources during resolution. * Means nothing for PUTs; it will be ignored * */ _patternDataResources?: { [key: string]: components$q["schemas"]["DataResourceDefinition"]; }; _patternError?: components$q["schemas"]["PatternError"]; /** @description Defines patch overrides to component IDs that live in the composition. * This can be used to override parameters that are defined on patterns, * including nested patterns, with values that are specific to this composition. * The keys in this object are component IDs. * Overrides are applied from the top down, so for example if both the composition * and a pattern on the composition define an override on a nested pattern, * the composition's override replaces the pattern's. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ _overrides?: { [key: string]: components$q["schemas"]["ComponentOverride"]; }; /** @description Overrides coming from a pattern resolved for this component. Merged with _overrides during resolution. * Means nothing for PUTs; it will be ignored * */ _patternOverrides?: { [key: string]: components$q["schemas"]["ComponentOverride"]; }; /** @description When used on a pattern, defines how the pattern's parameters may be overridden * by consumers of the pattern. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ _overridability?: components$q["schemas"]["ComponentOverridability"]; /** @description Array of locales that have data defined. Only set for pattern references or composition defaults */ _locales?: string[]; }; /** @description Defines the shape of the root component in a composition */ RootComponentInstance: { /** @description Type of the component instance (public_id of its definition) */ type: string; /** @description Component parameter values for the component instance */ parameters?: { [key: string]: components$q["schemas"]["ComponentParameter"]; }; /** @description Public ID of alternate visual appearance for this component, if any selected */ variant?: string; /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated */ projectMapNodes?: components$q["schemas"]["CompositionProjectMapNodeInfo"][]; /** @description Slots containing any child components */ slots?: { [key: string]: components$q["schemas"]["ComponentInstance"][]; }; /** @description The ID of the composition */ _id: string; /** @description Slug pattern of this component */ _slug?: string | null; /** @description Friendly name of this component */ _name: string; /** @description Name of the author of the most recent change */ _author?: string; /** @description Identity subject of the author of the most recent change */ _authorSubject?: string; /** @description Name of the original creator */ _creator?: string; /** @description Identity subject of the original creator */ _creatorSubject?: string; /** @description Indicates this component instance should be sourced from a pattern library pattern */ _pattern?: string; /** @description Data definitions coming from a pattern resolved for this component. Merged with _dataResources during resolution. * Means nothing for PUTs; it will be ignored * */ _patternDataResources?: { [key: string]: components$q["schemas"]["DataResourceDefinition"]; }; _dataResources?: components$q["schemas"]["DataResourceDefinitions"]; _patternError?: components$q["schemas"]["PatternError"]; /** @description Defines patch overrides to component IDs that live in the composition. * This can be used to override parameters that are defined on patterns, * including nested patterns, with values that are specific to this composition. * The keys in this object are component IDs. * Overrides are applied from the top down, so for example if both the composition * and a pattern on the composition define an override on a nested pattern, * the composition's override replaces the pattern's. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ _overrides?: { [key: string]: components$q["schemas"]["ComponentOverride"]; }; /** @description Overrides coming from a pattern resolved for this component. Merged with _overrides during resolution. * Means nothing for PUTs; it will be ignored * */ _patternOverrides?: { [key: string]: components$q["schemas"]["ComponentOverride"]; }; /** @description When used on a pattern, defines how the pattern's parameters may be overridden * by consumers of the pattern. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ _overridability?: components$q["schemas"]["ComponentOverridability"]; /** @description Array of locales which have data defined on the composition. If empty, the current default locale implicitly has data */ _locales?: string[]; }; /** @description Defines how to override a specific component. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ ComponentOverride: { parameters?: { [key: string]: components$q["schemas"]["ComponentParameter"]; }; slots?: { [key: string]: components$q["schemas"]["ComponentInstance"][]; }; variant?: string; /** @description Overrides data resource definitions for a pattern component. * Object keys defined under this property override the corresponding keys in the pattern's data resources. * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component. * */ dataResources?: { [key: string]: components$q["schemas"]["DataResourceDefinition"]; }; }; /** @description Defines how a component on a pattern may have its values overridden. * NOTE: Data resources' overridability is defined in the data resource definition, not here. * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * */ ComponentOverridability: { /** @description Defines component parameter value overrides. Keys are the parameter public ID */ parameters?: { [key: string]: components$q["schemas"]["OverrideOptions"]; }; /** @description Allows overriding a display variant is allowed if it is defined on the component the pattern is derived from. Default = false */ variants?: boolean; /** @description If true, parameters that are not overridable will be hidden by default on pattern instances' editors. * If false, all parameters will be shown on pattern instances' editors, but locked parameters will be read-only. * If not set, the default is false * */ hideLockedParameters?: boolean; }; /** * @description Whether a parameter is overridable * * NOTE: This is considered an internal data structure and is not guaranteed to be stable. * Future updates that do not break the overrides-applied state of a composition may be made without notice * * @enum {string} */ OverrideOptions: "yes" | "no"; /** @description Additional set of headers, parameters, variables, etc to be used for data resolving in the context like e.g. Unpublished Data. * */ AlternativeDataSourceData: { /** @description Base resource URL of the data source. No trailing slash */ baseUrl: string; /** @description HTTP headers to pass with requests to the data source */ headers?: { key: string; value: string; omitIfEmpty?: boolean; }[]; /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys */ parameters?: { key: string; value: string; omitIfEmpty?: boolean; }[]; /** @description Variables needed to make calls to the data source */ variables?: { [key: string]: components$q["schemas"]["DataVariableDefinition"]; }; }; /** @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset"). * These are created in the UI and shared across a whole project. * NOTE: If you acquire a list of data sources or do not have manage permissions, you will receive "SECRET" * for all header, parameter, and variable values to obscure the actual encrypted secret value * */ DataSource: { /** @description Public ID of the data source */ id: string; /** @description Display name of the data source */ displayName: string; /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an installed integration) */ connectorType: string; /** @description Base resource URL of the data source. No trailing slash */ baseUrl: string; /** @description HTTP headers to pass with requests to the data source */ headers?: { key: string; value: string; }[]; /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys */ parameters?: { key: string; value: string; }[]; /** @description Variables needed to make calls to the data source */ variables?: { [key: string]: components$q["schemas"]["DataVariableDefinition"]; }; /** @description Mapping of locale codes to data source locale codes. Keys are Uniform locale codes, values are data source locale codes. * If a locale is not mapped, it will be passed through to the data source as-is * */ localeMapping?: { [key: string]: string; }; /** @description If true, data source will require additional credentials to access unpublished data. * If false, no additional data source credentials are required and data resources of this data source won't be able to access unpublished data. * */ enableUnpublishedMode?: boolean; /** @description Custom configuration accessible to all data connector UIs (data source, data type, and data resource editors) and custom edgehancers. This data should not contain secrets */ customPublic?: { [key: string]: unknown; }; /** @description Custom configuration accessible to the data source editor UI and custom edgehancer that may contain secrets. This cannot be read by the data type or data resource editors */ custom?: { [key: string]: unknown; }; /** @description Different connector detail variants to use in the different contexts like e.g. Unpublished Data */ variants?: { unpublished?: components$q["schemas"]["AlternativeDataSourceData"]; }; }; /** @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project */ DataType: { /** @description Public ID of the data type */ id: string; /** @description Display name of the data type */ displayName: string; /** @description Public ID of the associated data source */ dataSourceId: string; /** @description A connector-specific archetype for this data type; used to select UI as well as perform any * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if * no special UI or processing is required * */ archetype?: string; allowedOnComponents?: string[]; /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have a leading slash */ path: string; /** @description Time-to-live (in seconds) for the resource data cache */ ttl?: number; /** @description A key for the resource data cache purging */ purgeKey?: string; /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons */ badgeIconUrl?: string; /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys */ headers?: { key: string; value: string; omitIfEmpty?: boolean; }[]; /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys */ parameters?: { key: string; value: string; omitIfEmpty?: boolean; }[]; /** @description Body to pass with requests to the data type (ignored unless the method is POST) */ body?: string; /** * @description HTTP method to use with requests to the data type * @default GET * @enum {string} */ method: "GET" | "POST" | "HEAD"; /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys */ variables?: { [key: string]: components$q["schemas"]["DataVariableDefinition"]; }; /** @description Custom configuration specific to the data source being defined */ custom?: { [key: string]: unknown; }; }; /** @description Defines the shape of a data variable on a Data Source or Data Type */ DataVariableDefinition: { /** @description Display name of the data variable */ displayName?: string; /** @description Explanatory text that is provided to the data resource editor to explain what this variable does */ helpText?: string; /** * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable * @default text */ type?: string; /** @description Default value of the data variable */ default: string; /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list */ order?: number; /** @description An optional arbitrary human readable source identifier to describe where this variable is from. * Some user interfaces may group variables by source value, for example 'From URL' or 'My Integration' * */ source?: string; }; /** @description Data definitions attached to this component. The property name is the key of the data in the data document. * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key) * */ DataResourceDefinitions: { [key: string]: components$q["schemas"]["DataResourceDefinition"]; }; /** @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters */ DataResourceDefinition: { /** @description Public ID of the data type that provides this data */ type: string; /** @description Whether this data is a pattern data resource that can be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false */ isPatternParameter?: boolean; /** @description When true, the default data resource of a pattern data parameter (isPatternParameter=true) will be ignored when the pattern is referenced. * Unless specifically overridden, the pattern data parameter will be provided with a null default value - leaving any data connections to it unresolvable. * If isPatternParameter is false or undefined, this has no meaning * */ ignorePatternParameterDefault?: boolean; /** @description When true, the data resource does not create an error forcing the choosing of override value when there is no default. * If isPatternParameter is false or undefined, or if ignorePatternParameterDefault is false, this has no meaning * */ optionalPatternParameter?: boolean; variables?: components$q["schemas"]["DataResourceVariables"]; }; /** @description Variable values for a data resource */ DataResourceVariables: { [key: string]: string; }; /** * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored. * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop. * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, en published yet. * Means nothing for PUTs; it will be ignored * * @enum {string} */ PatternError: "NOTFOUND" | "CYCLIC"; HistoryApiResponse: { /** @description If there are more results, this will be populated with a token to pass in the next request to get the next page of results. * If this is undefined then no more results are available * */ cursor?: string; /** @description If more history is available than your plan allows, and additional entries are available by upgrading, this will be true */ truncated?: boolean; /** @description Version history entries */ results?: components$q["schemas"]["HistoryEntry"][]; }; HistoryEntry: { /** @description The version ID of the entity. This can be used to fetch the version's data via the entity API */ versionId: string; /** @description The timestamp when the version was created in epoch milliseconds */ timestamp: number; /** @description The name (full name) of the user who created the version */ authorName: string; authorIsApiKey: boolean; /** @description The state of the entity when the history entry was made */ state: number; }; /** @description Category for tagging canvas entities */ Category: { /** * Format: uuid * @description Unique identifier for the category */ id: string; /** @description Display name of the category */ name: string; /** * @description Sets the order of the category when displayed in a list with other categories. If not set, the order defaults to alphabetical with any explicitly set orders first in the list * @default 0 */ order?: number; }; /** @description Project map node information related to a component */ CompositionProjectMapNodeInfo: { /** * Format: uuid * @description Unique identifier for the project map node */ id: string; /** @description Fallback path of the project map node. * Note that the node may have matched via a locale-specific path which is in the `locales` object * */ path: string; /** * Format: uuid * @description Unique identifier for the project map that this node belongs to */ projectMapId: string; data?: components$q["schemas"]["ProjectMapNodeData"]; /** @description Locale-specific paths of the project map node. * Keys are locale codes * */ locales?: { [key: string]: { /** @description Locale-specific path of the project map node */ path: string; /** @description Whether the path is inherited from a parent node which defined a path segment in this locale * */ inherited: boolean; }; }; }; /** @description AI Prompt definition */ Prompt: { /** * Format: uuid * @description Unique identifier for the prompt */ id: string; /** @description Unique identifier for the integration that this prompt belongs to */ integrationType: string; /** @description Name for the prompt */ name?: string | null; /** @description Text for the prompt */ text?: string | null; /** @description Data for the prompt */ data?: { [key: string]: unknown; } | null; /** @description Turn off/on prompt */ enabled?: boolean | null; /** @description Integration default prompt */ builtIn?: boolean | null; /** @description Supported parameter types */ parameterTypes?: string[] | null; }; /** @description Definition of a workflow that can be assigned to entities */ WorkflowDefinition: { /** * Format: uuid * @description Unique identifier of the workflow definition */ id: string; /** @description Workflow name */ name: string; /** * Format: uuid * @description The ID of the initial stage in the stages object. */ initialStage: string; /** @description All stages of the workflow */ stages: { [key: string]: components$q["schemas"]["WorkflowStage"]; }; /** @description Last modified ISO date string for this definition (ignored for writes) */ modified?: string; /** @description Created ISO date string for this definition (ignored for writes) */ created?: string; /** @description Name of the original creator of the workflow. * If undefined, the user has been removed from the team. * Ignored for writes * */ createdBy?: string; /** @description Name of the last modifier of the workflow. * If undefined, the user has been removed from the team. * Ignored for writes * */ modifiedBy?: string; }; /** @description Definition of a stage in a workflow */ WorkflowStage: { /** @description Name of the stage */ name: string; /** @description Defines roles which have permissions to this workflow stage * NOTE: Being able to write or publish to entities in a workflow stage requires both core write or publish permissions, * as well as membership in a role which grants the explicit rights to the stage. If a user is not a member of any role * listed here, the stage is read-only and publishing is disabled * */ permissions: { [key: string]: components$q["schemas"]["WorkflowStagePermission"]; }; /** @description When true, transitioning into this stage from a different stage will automatically publish the entity. * If the user making the transition does not have publish permissions to the stage as well as publish permission on the entity, the action will not run. * Setting this to true is equivalent to setting requireValidity to true, as publishing cannot be performed with validation errors. * NOTE: This is not executed by direct API calls. Only the Uniform UI performs this action * */ autoPublish?: boolean; /** @description When true, transitioning into this stage from a different stage will require the entity to have no validation errors. * If the entity is not valid, the transition will not be allowed. * NOTE: This is not executed by direct API calls. Only the Uniform UI performs this action * */ requireValidity?: boolean; /** @description Defines transitions to other stages * Every stage must define at least one transition, to avoid creating a workflow that * has a stage that can never be escaped * */ transitions: components$q["schemas"]["WorkflowStageTransition"][]; /** * @description Icon name for the stage (e.g. 'chevron-double-right-o') * @default chevron-double-right-o */ icon?: string; /** @description Sets the order of the stage when displayed in a list with other stages. If not set, the order defaults to alphabetical with any explicitly set orders first in the list */ order?: number; }; /** @description Definition of a transition from one stage to another in a workflow */ WorkflowStageTransition: { /** * Format: uuid * @description The target stage to transition to */ to: string; /** @description Name shown to the user when they execute this transition. * If not provided, a default name will be assigned automatically based on the target stage * */ name: string; /** @description Permissions for the stage transition. * NOTE: Users without membership in any role listed here will be unable to execute the transition unless they are team admins * */ permissions: { [key: string]: components$q["schemas"]["WorkflowStageTransitionPermission"]; }; }; /** @description Permissions for a workflow stage */ WorkflowStagePermission: { /** @description Allows writing to entities assigned to this stage. When false or unspecified the data is read-only */ write?: boolean; /** @description Allows publishing entities assigned to this stage. When false or unspecified publishing is disabled */ publish?: boolean; }; /** @description Permissions for a workflow stage transition */ WorkflowStageTransitionPermission: { /** @description Allows executing the transition for a role. Note that write permissions to the destination stage are NOT required to execute a transition to it */ execute?: boolean; }; /** @enum {string} */ ReleaseState: "open" | "locked" | "queued" | "launching" | "launched" | "deleting"; /** @enum {string} */ ReleaseScheduleState: "scheduled" | "unscheduled"; ProjectMapNodeAllowedQueryString: { /** @description The name of the query string parameter */ name: string; /** @description The default value of the query string if it is not provided by an incoming route path */ value?: string; /** @description Help text for authors who might be setting up a preview value for this query string */ helpText?: string; /** @description Configuration for providing a list of allowed values for this query string */ optionsSource?: { /** * @description The source type for the options * @enum {string} */ source: "static"; options: { /** @description Display name for the option */ name: string; /** @description The actual value to be used */ value: string; }[]; }; }; ProjectMapNodeData: { /** @description While performing a search if a node is a hit, this property will return true. If it's supporting structure, like a parent of a search hit, it will return false */ isSearchHit?: boolean; /** @description Query strings that are allowed to be passed to the node */ queryStrings?: components$q["schemas"]["ProjectMapNodeAllowedQueryString"][]; /** @description For dynamic nodes, this is the preview value for the dynamic value. * The preview value is used when editing a connected composition, and is the default * dynamic node value unless the author has explicitly chosen a different value * */ previewValue?: string; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } interface paths$m { "/api/v1/categories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: { parameters: { query: { projectId: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { categories: components$p["schemas"]["Category"][]; }; }; }; 400: components$p["responses"]["BadRequestError"]; 401: components$p["responses"]["UnauthorizedError"]; 403: components$p["responses"]["ForbiddenError"]; 429: components$p["responses"]["RateLimitError"]; 500: components$p["responses"]["InternalServerError"]; }; }; put: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": { /** Format: uuid */ projectId: string; categories: components$p["schemas"]["Category"][]; }; }; }; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content?: never; }; 400: components$p["responses"]["BadRequestError"]; 401: components$p["responses"]["UnauthorizedError"]; 403: components$p["responses"]["ForbiddenError"]; 429: components$p["responses"]["RateLimitError"]; 500: components$p["responses"]["InternalServerError"]; }; }; post?: never; delete: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": { /** Format: uuid */ categoryId: string; /** Format: uuid */ projectId: string; }; }; }; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content?: never; }; 400: components$p["responses"]["BadRequestError"]; 401: components$p["responses"]["UnauthorizedError"]; 403: components$p["responses"]["ForbiddenError"]; 429: components$p["responses"]["RateLimitError"]; 500: components$p["responses"]["InternalServerError"]; }; }; options?: never; head?: never; patch?: never; trace?: never; }; } interface components$p { schemas: { /** @description Category for tagging canvas entities */ Category: { /** * Format: uuid * @description Unique identifier for the category */ id: string; /** @description Display name of the category */ name: string; /** * @description Sets the order of the category when displayed in a list with other categories. If not set, the order defaults to alphabetical with any explicitly set orders first in the list * @default 0 */ order?: number; }; Error: { /** @description Error message(s) that occurred while processing the request */ errorMessage?: string[] | string; }; }; responses: { /** @description Request input validation failed */ BadRequestError: { headers: { [name: string]: unknown; }; content: { "application/json": components$p["schemas"]["Error"]; }; }; /** @description API key or token was not valid */ UnauthorizedError: { headers: { [name: string]: unknown; }; content: { "application/json": components$p["schemas"]["Error"]; }; }; /** @description Permission was denied */ ForbiddenError: { headers: { [name: string]: unknown; }; content: { "application/json": components$p["schemas"]["Error"]; }; }; /** @description Too many requests in allowed time period */ RateLimitError: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Execution error occurred */ InternalServerError: { headers: { [name: string]: unknown; }; content?: never; }; }; parameters: never; requestBodies: never; headers: never; pathItems: never; } type SharedComponents$3 = components$q['schemas']; type Api$2 = paths$m['/api/v1/categories']; /** Shape of the GET response from /api/v1/category */ type CategoriesGetResponse = Api$2['get']['responses']['200']['content']['application/json']; /** Shape of the PUT request body for /api/v1/category */ type CategoriesPutParameters = Api$2['put']['requestBody']['content']['application/json']; /** Shape of the DELETE request body for /api/v1/category */ type CategoriesDeleteParameters = Api$2['delete']['requestBody']['content']['application/json']; /** Query parameter options for GET /api/v1/category */ type CategoriesGetParameters = Api$2['get']['parameters']['query']; /** Defines a component type that can live on a Composition */ type Category = SharedComponents$3['Category']; type SharedComponents$2 = components$q['schemas']; type Api$1 = paths$n['/api/v1/canvas-definitions']; /** Shape of the GET response from /api/v1/canvas-definitions */ type ComponentDefinitionGetResponse = Api$1['get']['responses']['200']['content']['application/json']; /** Shape of the PUT request body for /api/v1/canvas-definitions */ type ComponentDefinitionPutParameters = Api$1['put']['requestBody']['content']['application/json']; /** Shape of the DELETE request body for /api/v1/canvas-definitions */ type ComponentDefinitionDeleteParameters = Api$1['delete']['requestBody']['content']['application/json']; /** Query parameter options for GET /api/v1/canvas-definitions */ type ComponentDefinitionGetParameters = Api$1['get']['parameters']['query']; /** The definition of a component parameter */ type ComponentDefinitionParameter = Omit & { typeConfig?: TConfig; }; /** The definition of a component visual variant */ type ComponentDefinitionVariant = SharedComponents$2['ComponentDefinitionVariant']; /** The definition of a composition's slug settings */ type ComponentDefinitionSlugSettings = SharedComponents$2['ComponentDefinitionSlugSettings']; /** The definition of a named component slot that can contain other components */ type ComponentDefinitionSlot = SharedComponents$2['ComponentDefinitionSlot']; /** Permission set for a component defintion */ type ComponentDefinitionPermission = SharedComponents$2['ComponentDefinitionPermission']; /** Defines a component type that can live on a Composition */ type ComponentDefinition = SharedComponents$2['ComponentDefinition']; /** Public ID of Canvas personalization component type */ declare const CANVAS_PERSONALIZE_TYPE = "$personalization"; /** Public ID of Canvas A/B test component type */ declare const CANVAS_TEST_TYPE = "$test"; /** Public ID of Canvas localization component type */ declare const CANVAS_LOCALIZATION_TYPE = "$localization"; /** Public ID of Canvas slot section component type */ declare const CANVAS_SLOT_SECTION_TYPE = "$slotSection"; /** Public ID of the intent tag parameter on the Canvas personalization component type */ declare const CANVAS_INTENT_TAG_PARAM = "intentTag"; /** Public ID of the locale parameter on Canvas components */ declare const CANVAS_LOCALE_TAG_PARAM = "locale"; /** Parameter type for a block parameter */ declare const CANVAS_BLOCK_PARAM_TYPE = "$block"; /** Name of the slot on CANVAS_PERSONALIZE_TYPE */ declare const CANVAS_PERSONALIZE_SLOT = "pz"; /** Name of the slot on CANVAS_TEST_TYPE */ declare const CANVAS_TEST_SLOT = "test"; /** Name of the slot on CANVAS_TEST_TYPE */ declare const CANVAS_LOCALIZATION_SLOT = "localized"; /** Name of the slot on CANVAS_SLOT_SECTION_TYPE */ declare const CANVAS_SLOT_SECTION_SLOT = "$slotSectionItems"; /** Name of the 'name' parameter on CANVAS_SLOT_SECTION_TYPE */ declare const CANVAS_SLOT_SECTION_NAME_PARAM = "name"; /** Name of the 'min' parameter on CANVAS_SLOT_SECTION_TYPE */ declare const CANVAS_SLOT_SECTION_MIN_PARAM = "min"; /** Name of the 'max' parameter on CANVAS_SLOT_SECTION_TYPE */ declare const CANVAS_SLOT_SECTION_MAX_PARAM = "max"; /** Name of the 'groupType' parameter on CANVAS_SLOT_SECTION_TYPE */ declare const CANVAS_SLOT_SECTION_GROUP_TYPE_PARAM = "groupType"; /** Name of the 'specific' parameter on CANVAS_SLOT_SECTION_TYPE */ declare const CANVAS_SLOT_SECTION_SPECIFIC_PARAM = "specific"; /** Constant for a draft composition state. Subject to change. */ declare const CANVAS_DRAFT_STATE = 0; /** Constant for a published composition state. Subject to change. */ declare const CANVAS_PUBLISHED_STATE = 64; /** Constant for editor composition state. */ declare const CANVAS_EDITOR_STATE = 63; /** Public ID of the Uniform Context personalization criteria parameter on Canvas components */ declare const CANVAS_PERSONALIZATION_PARAM = "$pzCrit"; /** Public ID of the Uniform Context personalization component's event name parameter */ declare const CANVAS_PERSONALIZATION_EVENT_NAME_PARAM = "trackingEventName"; /** Public ID of the Uniform Context personalization component's algorithm parameter */ declare const CANVAS_PERSONALIZATION_ALGORITHM_PARAM = "algorithm"; /** Type value for the personalization algorithm parameter */ declare const CANVAS_PERSONALIZATION_ALGORITHM_TYPE = "pzAlgorithm"; /** Public ID of the Uniform Context personalization component's number of variants to show parameter */ declare const CANVAS_PERSONALIZATION_TAKE_PARAM = "count"; /** Public ID of the Uniform Context test variant parameter on Canvas components */ declare const CANVAS_TEST_VARIANT_PARAM = "$tstVrnt"; /** Public ID of the Uniform Context enrichment tag parameter on Canvas components */ declare const CANVAS_ENRICHMENT_TAG_PARAM = "$enr"; /** Prefix for author-reference parameters that are automatically removed during delivery from uniform.global */ declare const CANVAS_INTERNAL_PARAM_PREFIX = "$internal_"; /** Public ID of the author-reference display name parameter. This lets authors set a custom display name for the component in the editor. Not delivered via the delivery API. */ declare const CANVAS_COMPONENT_DISPLAY_NAME_PARAM = "$internal_displayName"; /** Public ID of Context hypothesis parameter. This lets authors set a custom hypothesis for A/B tests or Personalization in the editor. Not delivered via the delivery API. */ declare const CANVAS_HYPOTHESIS_PARAM = "$internal_hypothesis"; /** * @deprecated * Public ID of Contextual Editing parameter on Canvas components */ declare const CANVAS_CONTEXTUAL_EDITING_PARAM = "$contextualEditing"; /** * The name of the query string used to set a secret to protect for the preview mode. * This is not configurable at the moment. */ declare const SECRET_QUERY_STRING_PARAM = "secret"; /** The name of the query string used to detect if we are in contextual editing mode */ declare const IN_CONTEXT_EDITOR_QUERY_STRING_PARAM = "is_incontext_editing_mode"; /** The name of the query string used to indicate that we want to use the playground for preview */ declare const IN_CONTEXT_EDITOR_PLAYGROUND_QUERY_STRING_PARAM = "is_incontext_editing_playground"; /** The name of the query string used to detect if we are in contextual editing mode */ declare const IN_CONTEXT_EDITOR_FORCED_SETTINGS_QUERY_STRING_PARAM = "is_incontext_editing_forced_settings"; /** The name of the query string used to get the config from the preview url */ declare const IN_CONTEXT_EDITOR_CONFIG_CHECK_QUERY_STRING_PARAM = "is_config_check"; /** The value of "data-role" in the component start `