Uniform Entries & Entry Patterns API

The Entries & Entry Patterns API from Uniform — 2 operation(s) for entries & entry patterns.

Operations 5

GET /api/v1/entries-history
OPTIONS /api/v1/entries
GET /api/v1/entries
PUT /api/v1/entries
DELETE /api/v1/entries

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/uniform-entries-entry-patterns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

uniform-entries-entry-patterns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Uniform Platform Aggregates Entries & Entry Patterns API
  version: '2.0'
servers:
- url: https://uniform.app
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Entries & Entry Patterns
paths:
  /api/v1/entries-history:
    get:
      tags:
      - Entries & Entry Patterns
      parameters:
      - in: query
        name: entryId
        description: Specify the entry ID to get history for
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: editionId
        description: 'The edition ID. When set, gets history for a child edition of the entryId.

          '
        deprecated: true
        schema:
          type: string
          deprecated: true
          format: uuid
      - in: query
        name: projectId
        description: The project the entries(s) are on.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: cursor
        description: If a request returns a cursor, pass it in this query parameter to get the next page of results.
        schema:
          type: string
          maxLength: 1024
      - in: query
        name: releaseId
        description: The release ID to get history for. Note that release history is independent of base histories.
        schema:
          type: string
          format: uuid
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HistoryApiResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          description: Entry not found
          content:
            text/plain:
              schema:
                type: string
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /api/v1/entries:
    options:
      tags:
      - Entries & Entry Patterns
      description: Handles preflight requests. This endpoint allows CORS
      responses:
        '204':
          description: OK
    get:
      tags:
      - Entries & Entry Patterns
      description: "In addition to the named parameters below, this endpoint accepts the\nfollowing query parameter conventions which are pattern-validated and\ntherefore not declared as named parameters:\n\n* `filters.<field>[<op>]` — content filtering (documented below).\n* `select.<bucket>[<op>]` — data projection (documented below).\n\n#### Content filtering (`filters.*`)\n\nFiltering narrows list results to entries matching field values. The\nallowed field names are project-specific — they come from the project's\ncontent types — which is why `filters.*` parameters are\npattern-validated rather than declared as named parameters.\n\nSyntax: `filters.<field>[<operator>]=<value>`. `<field>` is one of:\n\n* A system field: `name`, `slug`, `type`, `created`, `modified`,\n  `entityId`, `editionId`, `releaseId`, `patternId`, `creator`,\n  `creatorSubject`, `author`, `authorSubject`, `workflowId`,\n  `workflowStageId`, `categoryId`, `labels`, `labelGroups`,\n  `uiStatus`, or `locale`.\n* An entry field, addressed as `fields.<fieldId>`. Filtering by fields\n  requires also filtering to a single content type (e.g.\n  `filters.type[eq]=...`).\n* A sub-property of a field for certain field types: content\n  references (`fields.<id>.slug|name|type`), links\n  (`fields.<id>.type|projectMapNodeId`), and assets\n  (`fields.<id>.url|title|description|mediaType`).\n\n| Operator | Effect |\n|---|---|\n| `[eq]` / `[neq]` | Exact equality / inequality. |\n| `[match]` | Contains (text search) match; text-like fields only. |\n| `[starts]` | Prefix match. Value limited to letters, numbers, `_`, `.`, `-`, and spaces. |\n| `[lt]` / `[lte]` / `[gt]` / `[gte]` | Comparisons for number, date, and datetime fields (including `created` / `modified`). |\n| `[in]` / `[nin]` | Comma-separated list; matches any (OR) / none of the values. |\n| `[all]` | Comma-separated list; list-valued fields (e.g. `labels`, multi-selects) must contain every value (AND). |\n| `[def]` | `true` or `false`; whether the field has a value at all. |\n\nBehavior:\n\n* Values are single strings, or comma-separated lists for `[in]`,\n  `[nin]`, and `[all]`. Dates accept `YYYY-MM-DD` or a full datetime\n  string. An empty value is rejected — use `[def]` to test presence.\n* Not every operator is valid for every field; the allowed set depends\n  on the field's type. An unsupported combination returns HTTP 400\n  with the supported operators listed.\n* Malformed keys, unknown operators, and unknown field names return\n  HTTP 400.\n\nExamples:\n\n* `filters.type[eq]=article` — only entries of type `article`.\n* `filters.modified[gte]=2026-01-01` — modified this year.\n* `filters.type[eq]=article&filters.fields.brandName[match]=adidas` — field filter scoped to one type.\n* `filters.fields.author.slug[eq]=jane-doe` — filter by a referenced entry's slug.\n\n#### Data projection (`select.*`)\n\nProjection returns a subset of the response by pruning fields and field\ntypes before values are resolved. The allowed names are project-specific —\nthey come from the project's content types — which is why `select.*`\nparameters are pattern-validated rather than declared as named parameters.\n\nSyntax: `select.<bucket>[<operator>]=<value>`. Values are comma-separated\nlists of names. `*` is the only wildcard and matches zero or more\ncharacters (e.g. `seo_*`).\n\n| Parameter | Effect |\n|---|---|\n| `select.fields[only]=a,b` | Keep only the named fields; drop everything else. |\n| `select.fields[except]=a,b` | Drop the named fields; keep everything else. |\n| `select.fields[locales]=a,b` | For the named fields that survive filtering, return the full per-locale value map instead of only the requested locale's value. |\n| `select.fields[blockDepth]=N` | Limit how many levels of block field children are kept. `0` removes all block fields; `preserveAll` prevents projection from trimming fields inside block children. |\n| `select.fieldTypes[only]=a,b` | Keep only fields of the named types (type IDs such as `text`, `richText`, `asset`). |\n| `select.fieldTypes[except]=a,b` | Drop fields of the named types. |\n\nThe composition-oriented `select.slots.*` operators are also accepted but\nhave no effect on entry responses (entries have no slots).\n\nBehavior:\n\n* Projection applies recursively at every block in the returned entry,\n  and is forwarded into entries resolved through reference fields.\n* When operators combine, all `[only]` sets are intersected first, then\n  `[except]` sets are subtracted — exclusion always wins.\n* Unknown field or type names are silent no-ops (the entry shape is\n  preserved; non-matching content is simply absent). Unknown operators\n  return HTTP 400.\n* An empty list (`select.fields[only]=`) strips every field; `[except]=*`\n  is equivalent.\n\nExamples:\n\n* `select.fields[only]=title,coverImage` — keep only titles and cover images on every entry in the list.\n* `select.fieldTypes[except]=richText` — everything except rich-text fields.\n* `select.fields[only]=title,seo_*&select.fields[locales]=seo_*` — lean payload keeping all locales on the SEO fields.\n"
      parameters:
      - $ref: '#/components/parameters/entryIDs'
      - $ref: '#/components/parameters/versionId'
      - $ref: '#/components/parameters/slug'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/orderBy'
      - $ref: '#/components/parameters/facetBy'
      - $ref: '#/components/parameters/pattern'
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/state'
      - $ref: '#/components/parameters/type'
      - $ref: '#/components/parameters/uiStatus'
      - $ref: '#/components/parameters/updatedBy'
      - $ref: '#/components/parameters/withTotalCount'
      - $ref: '#/components/parameters/withUIStatus'
      - $ref: '#/components/parameters/withWorkflowDefinition'
      - $ref: '#/components/parameters/withComponentIDs'
      - $ref: '#/components/parameters/keyword'
      - $ref: '#/components/parameters/skipPatternResolution'
      - $ref: '#/components/parameters/skipParameterResolution'
      - $ref: '#/components/parameters/skipOverridesResolution'
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/releaseId'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/searchSemantic'
      - $ref: '#/components/parameters/editions'
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryListResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          description: Entry not found
          content:
            text/plain:
              schema:
                type: string
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    put:
      tags:
      - Entries & Entry Patterns
      description: Upserts an entry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - projectId
              - state
              - entry
              properties:
                projectId:
                  type: string
                  format: uuid
                  description: The project ID to upsert the entry to
                state:
                  type: number
                  minimum: 0
                  maximum: 64
                  description: The publishing state to upsert into. 0 = draft, 64 = published
                entry:
                  $ref: '#/components/schemas/EntryInput'
                created:
                  description: Ignored if present
                  type: string
                modified:
                  description: Ignored if present
                  type: string
                pattern:
                  description: True if the entry is a pattern (which can be referenced on other entries)
                  type: boolean
                  default: false
                releaseId:
                  type: string
                  format: uuid
                  description: The release this entry belongs to. If not set, the entry belongs to the base
                workflowId:
                  type: string
                  format: uuid
                  description: The workflow ID that this entry is assigned, if any
                workflowStageId:
                  type: string
                  format: uuid
                  description: The stage ID the entry is in on its assigned workflow. When undefined, it is implicitly in the initial stage of the workflow
                editionId:
                  type: string
                  format: uuid
                  description: 'The edition ID. When set, this is a child edition of the entry in _id.

                    '
                editionName:
                  type: string
                  maxLength: 100
                  description: 'The name of the entry or edition as shown in the editions listing.

                    Describes the purpose of an edition.

                    '
                editionPriority:
                  type: integer
                  description: 'The priority of the edition or entry. Higher numbers are higher priority.

                    When multiple editions enable the same locale, the highest priority edition is used.

                    '
              additionalProperties: false
      parameters:
      - in: header
        name: X-If-Unmodified-Since
        description: 'Optional concurrency control header. If provided, the server will check that the entry

          has not been modified since this timestamp. If the timestamp doesn''t match the current

          modified timestamp, a 409 Conflict response will be returned.

          '
        required: false
        schema:
          type: string
          example: '2024-01-15T10:30:45.123Z'
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      responses:
        '204':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '409':
          description: Conflict - Entry has been changed since being loaded
          content:
            text/plain:
              schema:
                type: string
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
      - Entries & Entry Patterns
      description: Deletes or unpublishes an entry
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - entryId
              - projectId
              properties:
                entryId:
                  type: string
                  format: uuid
                  description: 'The ID of the entry to delete.

                    When editionId is also passed, the entry remains and an edition under it is deleted.

                    When editionId is omitted, and the entry has editions, all editions will also be deleted along with the entry.

                    '
                editionId:
                  type: string
                  format: uuid
                  description: 'The edition ID to delete. When set, this deletes a child edition of the entryId.

                    The entry will remain when an edition is deleted.

                    If the entry ID is specified as the edition ID, the entry will be deleted _but any other editions will remain_ (this is used for unpublishing).

                    '
                projectId:
                  type: string
                  format: uuid
                  description: The ID of the project the entry to delete belongs to
                releaseId:
                  type: string
                  format: uuid
                  description: 'The ID of the release the entry to delete belongs to. If unspecified the entry belongs to the base.

                    Note: Deleting an entry from a release will not delete the entry from the base

                    '
                state:
                  type: number
                  minimum: 0
                  maximum: 64
                  description: The state to delete (0 = draft, 64 = published [causes unpublishing], unspecified = all)
              additionalProperties: false
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      responses:
        '204':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    WorkflowStageTransitionPermission:
      type: object
      description: Permissions for a workflow stage transition
      additionalProperties: false
      properties:
        execute:
          type: boolean
          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
    ComponentInstance:
      type: object
      description: Defines the shape of a component instance served by the composition API
      required:
      - type
      properties:
        type:
          type: string
          description: Type of the component instance (public_id of its definition)
          maxLength: 100
          minLength: 1
        parameters:
          type: object
          description: Component parameter values for the component instance
          additionalProperties:
            $ref: '#/components/schemas/ComponentParameter'
        variant:
          type: string
          description: Public ID of alternate visual appearance for this component, if any selected
        slots:
          type: object
          description: Slots containing any child components
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ComponentInstance'
        _id:
          type: string
          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

            '
          minLength: 1
          maxLength: 2000
        _pattern:
          type: string
          pattern: ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$
          description: Indicates this component instance should be sourced from a pattern library pattern
        _dataResources:
          $ref: '#/components/schemas/DataResourceDefinitions'
        _patternDataResources:
          type: object
          description: 'Data definitions coming from a pattern resolved for this component. Merged with _dataResources during resolution.

            Means nothing for PUTs; it will be ignored

            '
          additionalProperties:
            $ref: '#/components/schemas/DataResourceDefinition'
        _patternError:
          $ref: '#/components/schemas/PatternError'
        _overrides:
          type: object
          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

            '
          additionalProperties:
            $ref: '#/components/schemas/ComponentOverride'
        _patternOverrides:
          type: object
          description: 'Overrides coming from a pattern resolved for this component. Merged with _overrides during resolution.

            Means nothing for PUTs; it will be ignored

            '
          additionalProperties:
            $ref: '#/components/schemas/ComponentOverride'
        _overridability:
          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

            '
          $ref: '#/components/schemas/ComponentOverridability'
        _locales:
          description: Array of locales that have data defined. Only set for pattern references or composition defaults
          type: array
          items:
            type: string
            maxLength: 32
      additionalProperties: false
    WorkflowDefinition:
      type: object
      additionalProperties: false
      description: Definition of a workflow that can be assigned to entities
      required:
      - id
      - name
      - initialStage
      - stages
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the workflow definition
        name:
          type: string
          description: Workflow name
          maxLength: 32
          minLength: 1
          pattern: ^[^<>]*$
        initialStage:
          type: string
          format: uuid
          description: The ID of the initial stage in the stages object.
        stages:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/WorkflowStage'
          description: All stages of the workflow
          minProperties: 2
        modified:
          type: string
          description: Last modified ISO date string for this definition (ignored for writes)
          maxLength: 50
        created:
          type: string
          description: Created ISO date string for this definition (ignored for writes)
          maxLength: 50
        createdBy:
          type: string
          description: 'Name of the original creator of the workflow.

            If undefined, the user has been removed from the team.

            Ignored for writes

            '
          maxLength: 256
        modifiedBy:
          type: string
          description: 'Name of the last modifier of the workflow.

            If undefined, the user has been removed from the team.

            Ignored for writes

            '
          maxLength: 256
    Entry:
      type: object
      description: Defines the shape of the entry
      required:
      - type
      - _id
      properties:
        type:
          type: string
          description: Content type public ID of the entry
          maxLength: 100
          minLength: 1
        _id:
          type: string
          description: The ID of the entry
          format: uuid
        _name:
          type: string
          description: The name of the entry
          minLength: 1
          maxLength: 255
        _thumbnail:
          type: string
          description: The thumbnail URL of the entry
          minLength: 1
        _slug:
          type: string
          description: The slug of the entry
          minLength: 1
          maxLength: 255
        _author:
          type: string
          description: Name of the author of the most recent change
          minLength: 1
          maxLength: 255
        _authorSubject:
          type: string
          description: Identity subject of the author of the most recent change
          minLength: 1
          maxLength: 255
        _creator:
          type: string
          description: Name of the original creator
          minLength: 1
          maxLength: 255
        _creatorSubject:
          type: string
          description: Identity subject of the original creator
          minLength: 1
          maxLength: 255
        _pattern:
          type: string
          pattern: ^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$
          description: Indicates this content entry should be sourced from a pattern library pattern
        _locales:
          description: Array of locales that have data defined on the entry. If empty, the current default locale implicitly has data
          type: array
          items:
            type: string
            maxLength: 32
        fields:
          type: object
          description: Entry field values
          additionalProperties:
            $ref: '#/components/schemas/ComponentParameter'
        _dataResources:
          $ref: '#/components/schemas/DataResourceDefinitions'
        _patternDataResources:
          type: object
          description: 'Data definitions coming from a pattern resolved for this component. Merged with _dataResources during resolution.

            Means nothing for PUTs; it will be ignored

            '
          additionalProperties:
            $ref: '#/components/schemas/DataResourceDefinition'
        _patternError:
          type: 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, or not been published yet.

            Means nothing for PUTs; it will be ignored

            '
          enum:
          - NOTFOUND
          - CYCLIC
        _overrides:
          type: object
          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

            '
          additionalProperties:
            $ref: '#/components/schemas/ComponentOverride'
        _overridability:
          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

            '
          $ref: '#/components/schemas/ComponentOverridability'
      additionalProperties: false
    DataElementConnectionDefinition:
      type: object
      description: 'Defines a connection to a dynamic token on a data resource

        '
      properties:
        pointer:
          description: A JSON Pointer expression that defines the data resource dynamic token value
          type: string
          maxLength: 256
        syntax:
          type: string
          description: The syntax used to select the dynamic token to bind to
          enum:
          - jptr
        failureAction:
          type: string
          description: "The action to take if the dynamic token cannot be resolved\n- t: TOKEN: Removes the failed dynamic token value, leaving the rest of the property value, if any, intact [default]\n        NOTE: If the _only_ value in the property is a dynamic token, the property value is removed (as with 'p' below)\n        NOTE: If the _failureDefault_ property is also set, that default value will be used instead of removing the token.\n              this only applies when the failureAction is 't' or undefined, the default is otherwise ignored\n- p: PROPERTY: Removes the entire property value, including any other dynamic tokens or static values in the property\n- c: COMPONENT: Removes the whole parent component or block that contains the property.\n        NOTE: If a 'component' failure occurs on the root component of a composition, or an entry,\n        it is treated as an 'a' failure because removing the root means we must remove all\n- 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\n"
          enum:
          - t
          - p
          - c
          - a
        failureLogLevel:
          type: string
          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:
          - e
          - w
          - i
        failureDefault:
          type: string
          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)

            '
      required:
      - pointer
      - syntax
      additionalProperties: false
    OverrideOptions:
      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

        '
      type: string
      enum:
      - 'yes'
      - 'no'
    VisibilityCriteria:
      deprecated: true
      description: beta functionality subject to change
      type: object
      properties:
        rule:
          type: string
          description: The rule type to execute
          maxLength: 32
        source:
          type: 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.

            '
          maxLength: 128
        op:
          type: string
          description: The rule-definition-specific operator to test against
          maxLength: 10
        value:
          oneOf:
          - type: string
            maxLength: 1024
          - type: array
            items:
              type: string
              maxLength: 1024
          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.
      required:
      - rule
      - op
      - value
      additionalProperties: false
    Error:
      type: object
      properties:
        errorMessage:
          description: Error message(s) that occurred while processing the request
          oneOf:
          - type: array
            items:
              type: string
          - type: string
    WorkflowStage:
      type: object
      description: Definition of a stage in a workflow
      additionalProperties: false
      required:
      - name
      - permissions
      - transitions
      properties:
        name:
          type: string
          description: Name of the stage
          minLength: 1
          maxLength: 32
          pattern: ^[^<>]*$
        permissions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/WorkflowStagePermission'
          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

            '
        autoPublish:
          type: boolean
          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

            '
        requireValidity:
          type: boolean
          description: 

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/uniform/refs/heads/main/openapi/uniform-entries-entry-patterns-api-openapi.yml