> ## Documentation Index
> Fetch the complete documentation index at: https://docs.awardforce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update field

> Update the field identified by the specified slug.



## OpenAPI

````yaml /api-reference/openapi-v2_3.yaml put /field/{field_slug}
openapi: 3.1.0
info:
  title: Award Force API
  version: '2.3'
  description: >
    The Award Force API enables you to programmatically manage awards,
    competitions, scholarships, and recognition programs.


    Use this API to:

    - Create and manage entries and submissions

    - Automate judging workflows and assignments

    - Process entry fees and payments

    - Generate reports and analytics

    - Integrate with external systems via webhooks


    All API requests require authentication using an API key provided in the
    `X-Api-Key` header.
  license:
    name: Creative Force Client Subscription Terms
    url: https://creativeforce.team/agreement/
servers:
  - url: https://api.us.cr4ce.com
    description: US regional endpoint
  - url: https://api.eu.cr4ce.com
    description: EU regional endpoint
  - url: https://api.au.cr4ce.com
    description: Australasia regional endpoint
  - url: https://api.ca.cr4ce.com
    description: Canada regional endpoint
  - url: https://api.hk.cr4ce.com
    description: Hong Kong regional endpoint
security:
  - ApiKeyAuth: []
tags:
  - name: Account
    description: >-
      Use this operation to retrieve information about your organization
      account.

      The account resource provides metadata about the tenant associated with
      your API key.


      Note: Account information is read-only and contains organization-level
      settings and identifiers.
  - name: Assignments
    description: >-
      Use these operations to manage judging assignments for evaluating entries.

      Assignments connect judges (or roles) with entries and score sets to
      facilitate the review process.


      Assignments can be created individually or in bulk (asynchronous
      operations).

      Each assignment tracks completion status, scores, and panel membership.

      Assignments enable structured evaluation workflows with configurable score
      sets.
  - name: Attachments
    description: >-
      Use these operations to manage files uploaded to entries through
      attachment tabs.

      Attachments are distinct from field-based file uploads and allow for
      supplementary materials.


      Each attachment can have its own metadata and custom fields for
      categorization.

      Attachments remain associated with their entry throughout the entry
      lifecycle.
  - name: Categories
    description: >-
      Use these operations to manage competition categories or award divisions.

      Categories organize entries into logical groups and can be hierarchical
      with parent-child relationships.


      Each category can have its own entry form, chapter availability, entry
      limits, and custom labels.

      Categories support translated names and descriptions for multi-language
      programs.
  - name: Chapters
    description: >-
      Use these operations to manage geographic or organizational divisions
      within your programs.

      Chapters enable you to run regional competitions, manage local awards, or
      organize by business units.


      Entries can be assigned to chapters, and chapters can have their own
      administrators and configurations.

      Chapters support translated names and custom images for branding.
  - name: Contributors
    description: >-
      Use these operations to manage additional people associated with entries
      beyond the primary entrant.

      Contributors represent team members, collaborators, or co-authors on a
      submission.


      Each contributor can have their own custom fields and data collection
      requirements.

      Contributors are organized by tabs and can be managed independently from
      the main entry.
  - name: Documents
    description: >-
      Use these operations to generate and retrieve PDF documents and data
      exports.

      Documents can be created based on entry data, user data, or other program
      information.


      Document generation is asynchronous - after creating a document, poll the
      endpoint to check when generation is complete.

      Generated documents are available for download and can be associated with
      specific entrants or entries.
  - name: Entries
    description: >-
      Use these operations to manage entries (submissions) to your awards,
      competitions, or recognition programs.

      Entries are the core entity that flows through the entire lifecycle from
      submission to judging to winner selection.


      Entries can contain custom form fields, file uploads, contributors, and be
      organized by categories and chapters.

      Each entry goes through various statuses including draft, submitted, under
      review, and finalist stages.
  - name: Entries (realtime)
    description: >-
      Use these operations to perform granular updates on entries without
      replacing the entire resource.

      These endpoints enable real-time updates to specific entry properties such
      as:

      title, category assignment, chapter assignment, individual field values,
      file uploads, tags, and recusal status.


      These operations are optimized for interactive programs that need to
      update entries incrementally.
  - name: Fields
    description: >-
      Use these operations to manage custom form fields used to collect data
      throughout your programs.

      Fields can be attached to entries, users, contributors, attachments, and
      other resources.


      Supported field types include text, textarea, select, multi-select, date,
      file upload, table, and more.

      Fields support conditional logic, validation rules, and different
      protection levels.
  - name: Files
    description: >-
      Use these operations to retrieve information about uploaded files.

      Files provide metadata and download links for content uploaded throughout
      the system.


      Access files using their secure token identifiers.

      Note: Files are read-only via this endpoint - file uploads are handled
      through resource-specific upload endpoints.
  - name: Leaderboard
    description: >-
      Use these operations to retrieve ranking results and scores for entries.

      The leaderboard shows how entries rank based on score sets, with support
      for filtering by category, chapter, and tags.


      Results can be filtered to show specific subsets of the competition.

      Note: The leaderboard is read-only and reflects calculated results from
      the judging process.
  - name: Orders
    description: >-
      Use these operations to manage payment transactions for entry fees and
      other charges.

      Orders represent financial transactions processed through your program.


      Each order contains line items, tracks payment status, and can operate in
      test or live mode.

      Orders are associated with seasons and can be queried for financial
      reporting.
  - name: Review tasks
    description: >-
      Use these operations to manage individual review and evaluation
      activities.

      Review tasks represent specific actions that judges or administrators need
      to complete during the evaluation process.


      Tasks track timestamps, decisions, and judge associations.

      Review tasks integrate with the broader judging workflow and status
      tracking.
  - name: Rounds
    description: >-
      Use these operations to retrieve round information for your programs.

      Rounds represent phases within a season, such as entry rounds, judging
      rounds, or finalist rounds.


      Each round has specific start and end dates, associated forms, and can be
      scoped to specific chapters.

      Note: Rounds are read-only via the API and must be managed through the
      Award Force interface.
  - name: Score sets
    description: >-
      Use these operations to retrieve score set configurations and evaluation
      criteria.

      Score sets define the questions, scales, and calculation methods used to
      evaluate entries.


      Score sets can operate in different modes including judging, ranking, and
      decision-making.

      Note: Score sets are read-only via the API and must be configured through
      the Award Force interface.
  - name: Seasons
    description: >-
      Use these operations to retrieve information about seasons (program
      cycles).

      A season represents a time-bound program instance, such as "2026 Awards"
      or "Q1 2026 Scholarship Round".


      Seasons contain forms, rounds, categories, and chapters.

      Seasons progress through statuses: draft, active, archived, and destroyed.

      Note: Seasons are read-only via the API and must be managed through the
      Award Force interface.
  - name: Taxes
    description: >-
      Use these operations to retrieve tax configurations for financial
      transactions.

      Tax settings define how taxes are calculated and applied to orders and
      payments.


      Note: Tax configurations are read-only via the API and must be managed
      through the Award Force interface.
  - name: Users
    description: >-
      Use these operations to manage user accounts in your organization.

      Users represent people who interact with your programs, including
      entrants, judges, administrators, and other roles.


      Users can be assigned roles, have custom profile fields, receive
      notifications, and authenticate via API tokens.

      Each user has a unique slug identifier and can participate across multiple
      seasons.
  - name: Webhooks
    description: >-
      Use these operations to manage webhook subscriptions for real-time event
      notifications.

      Webhooks notify your external systems when events occur in Award Force,
      such as entry submissions, status changes, or payment completions.


      Available events include: entry created, entry submitted, entry status
      changed, payment success, user confirmed, and 20+ more.

      Configure webhooks to send HTTP POST requests to your specified URLs with
      event payloads.
paths:
  /field/{field_slug}:
    parameters:
      - $ref: '#/components/parameters/fieldSlug'
    put:
      tags:
        - Fields
      summary: Update field
      description: Update the field identified by the specified slug.
      operationId: PutFieldV23
      parameters:
        - $ref: '#/components/parameters/Accept'
        - $ref: '#/components/parameters/X-Api-Language'
      requestBody:
        $ref: '#/components/requestBodies/FieldUpdate'
      responses:
        '200':
          description: Field updated.
          headers:
            ETag:
              $ref: '#/components/headers/ETag'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Field'
            application/xml:
              schema:
                $ref: '#/components/schemas/Field'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  parameters:
    fieldSlug:
      name: field_slug
      in: path
      required: true
      description: Slug of the field.
      schema:
        type: string
        pattern: ^[A-Za-z]{8}$
    Accept:
      name: Accept
      in: header
      required: true
      description: Defines the response type.
      schema:
        type: string
        enum:
          - application/vnd.Creative Force.v2.3+json
          - application/vnd.Creative Force.v2.3+xml
    X-Api-Language:
      name: x-api-language
      in: header
      required: false
      description: >-
        Defines the languages included in the response. If non are provided, the
        account default language is returned.


        Value `all` overrides any other values present.


        You can request multiple languages using a comma-separated string of
        languages.


        The selected language must be supported by your account or a `400` error
        is returned.
      style: simple
      explode: false
      schema:
        type: array
        items:
          type: string
          enum:
            - all
            - ar_AR
            - bg_BG
            - bn_IN
            - ca_ES
            - cs_CZ
            - cy_GB
            - da_DK
            - de_DE
            - en_GB
            - en_US
            - el_GR
            - es_NN
            - es_LA
            - et_EE
            - fa_NN
            - fi_FI
            - fr_FR
            - fr_CA
            - he_IL
            - hi_IN
            - hr_HR
            - hu_HU
            - hy_AM
            - it_IT
            - ja_JP
            - ko_KR
            - lt_LT
            - ms_MY
            - nl_NL
            - nb_NO
            - pl_PL
            - pt_BR
            - ro_RO
            - ru_RU
            - sk_SK
            - sl_SI
            - sq_AL
            - sr_RS
            - sv_SE
            - sw_NN
            - th_TH
            - tr_TR
            - uk_UA
            - vi_VN
            - zh_CN
            - zh_HK
      example:
        - en_GB
        - fr_FR
  requestBodies:
    FieldUpdate:
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            properties:
              type:
                type: string
                description: >-
                  Type of the field.


                  Field type cannot be changed after creation. Send this only to
                  assert the current value; any other value returns `422
                  Unprocessable Entity`.
              resource:
                type: string
                description: >-
                  Resource the field collects data for.


                  Resource cannot be changed after creation. Send this only to
                  assert the current value, in lower case exactly as `GET
                  field/{fieldSlug}` returns it; any other value returns `422
                  Unprocessable Entity`.
              translated:
                type: object
                description: Translated field values keyed by field name.
                additionalProperties: false
                properties:
                  title:
                    type: object
                    description: >-
                      Field title, keyed by language code.


                      Titles must be unique within the form, or within the
                      season for user fields.
                    additionalProperties:
                      type: string
                  help_text:
                    type: object
                    description: Values keyed by existing and enabled language code.
                    additionalProperties:
                      type: string
                  hint_text:
                    type: object
                    description: Values keyed by existing and enabled language code.
                    additionalProperties:
                      type: string
                  option_text:
                    type: object
                    description: >-
                      Display text for the selectable options, keyed by language
                      code.


                      Each value is a JSON-encoded object that maps every option
                      in `options` to the text shown for it, for example
                      `{"red":"Rouge"}`.

                      Applies to the field types that take options:
                      `checkboxlist`, `drop-down-list`, and `radio`.


                      Omit this property to derive the display text from
                      `options` instead.

                      Text already set for an option that survives the update is
                      kept, and a new option falls back to its own value.
                    additionalProperties:
                      type: string
              tab:
                type: string
                pattern: ^[A-Za-z]{8}$
                description: >-
                  Slug of the tab the field belongs to.


                  The tab must sit on the same form as the field. A tab on
                  another form returns `422 Unprocessable Entity`; a field
                  cannot be moved between forms.
              order:
                type: integer
                description: Position of the field within its tab.
              protection:
                type: string
                description: Protection level governing access to the data for the field.
                enum:
                  - standard
                  - elevated
                  - maximum
              currency:
                type: string
                description: >-
                  Currency code.


                  Applies to fields of type `currency`. The currency must be
                  enabled for the account.
              role_option:
                type: string
                description: >-
                  Scope of role access for the field.


                  Use `all` to apply the field to every role, or `select` to
                  restrict it to the roles named in `role_access_settings`.
                enum:
                  - all
                  - select
              role_access_settings:
                type: object
                description: >-
                  Per-role access settings, keyed by numeric role ID.


                  Every role referenced must belong to the current account. Omit
                  this property to leave the current role access settings
                  unchanged.
                additionalProperties:
                  type: object
                  additionalProperties: false
                  properties:
                    read_access:
                      type: boolean
                      description: Specifies whether the role can view the field.
                    write_access:
                      type: boolean
                      description: Specifies whether the role can edit the field.
                    required:
                      type: boolean
                      description: Specifies whether the field is required for the role.
              category_option:
                type: string
                description: >-
                  Scope of category association for the field.


                  Use `all` to apply the field to every category, or `select` to
                  restrict it to the categories named in `categories`.
                enum:
                  - all
                  - select
              categories:
                type: array
                description: |-
                  Numeric category IDs the field is associated with.

                  Every category referenced must belong to the current account.
                items:
                  type: integer
              options:
                type: string
                description: >-
                  Selectable options for choice fields, one option per line
                  separated by a carriage return and line feed.


                  Send a string rather than an array. Required for the field
                  types that take options: `checkboxlist`, `drop-down-list`, and
                  `radio`.


                  Sending this property rewrites the display text held in
                  `translated.option_text`, unless you send that property in the
                  same request.
              required:
                type: boolean
                description: Specifies whether a value is required for the field.
              searchable:
                type: boolean
                description: >-
                  Specifies whether the field is included in search.


                  A maximum of three fields per resource can be searchable
                  within a season. The request is rejected when that limit is
                  already reached.
              autocomplete:
                type: boolean
                description: Specifies whether the field offers autocomplete suggestions.
              auto_scoring:
                type: boolean
                description: Specifies whether the field is scored automatically.
              auto_tag:
                type: boolean
                description: Specifies whether values in the field are added as tags.
              plagiarism_detection:
                type: boolean
                description: Specifies whether the field is checked for plagiarism.
              include_timezone:
                type: boolean
                description: >-
                  Specifies whether the field captures a timezone alongside the
                  date and time.
              preselect_current_date:
                type: boolean
                description: >-
                  Specifies whether the field is preselected with the current
                  date.
              entrant_read_access:
                type: boolean
                description: Specifies whether entrants can view the field.
              entrant_write_access:
                type: boolean
                description: Specifies whether entrants can edit the field.
              maximum_words:
                type:
                  - integer
                  - 'null'
                description: >-
                  Maximum number of words accepted, or `null` when no limit
                  applies.
              minimum_words:
                type:
                  - integer
                  - 'null'
                description: >-
                  Minimum number of words required, or `null` when no limit
                  applies.
              maximum_characters:
                type:
                  - integer
                  - 'null'
                description: >-
                  Maximum number of characters accepted, or `null` when no limit
                  applies.
              minimum_characters:
                type:
                  - integer
                  - 'null'
                description: >-
                  Minimum number of characters required, or `null` when no limit
                  applies.
              file_types:
                type: array
                description: >-
                  Permitted file extensions for file fields.


                  Each value must be one of the file types selectable for the
                  account, for example `pdf`, `docx`, `jpg`, or `mp4`.
                items:
                  type: string
              max_file_size:
                type:
                  - integer
                  - 'null'
                minimum: 0
                description: >-
                  Maximum upload size in megabytes for file fields, or `null`
                  when no limit applies.


                  Cannot exceed the maximum upload size configured for the
                  account.
              min_video_length:
                type:
                  - integer
                  - 'null'
                minimum: 1
                description: >-
                  Minimum video length in seconds, or `null` when no limit
                  applies.
              max_video_length:
                type:
                  - integer
                  - 'null'
                minimum: 1
                description: >-
                  Maximum video length in seconds, or `null` when no limit
                  applies.


                  Must be greater than or equal to `min_video_length`.
              image_dimension_constraints:
                type: object
                description: >-
                  Pixel dimension constraints for image uploads.


                  Only the constraints you include are updated; omitted
                  constraints keep their current values. Any key other than the
                  four below is rejected.
                additionalProperties: false
                properties:
                  max_width:
                    type:
                      - integer
                      - 'null'
                    minimum: 1
                    description: >-
                      Maximum image width in pixels, or `null` when no limit
                      applies.
                  min_width:
                    type:
                      - integer
                      - 'null'
                    minimum: 1
                    description: >-
                      Minimum image width in pixels, or `null` when no limit
                      applies.
                  max_height:
                    type:
                      - integer
                      - 'null'
                    minimum: 1
                    description: >-
                      Maximum image height in pixels, or `null` when no limit
                      applies.
                  min_height:
                    type:
                      - integer
                      - 'null'
                    minimum: 1
                    description: >-
                      Minimum image height in pixels, or `null` when no limit
                      applies.
              configuration:
                type: string
                description: >-
                  JSON-encoded configuration for the field type, sent as a
                  string.


                  Structure is validated against the type of the field. Applies
                  to the types that carry extra configuration, such as `table`.
              conditional:
                type: boolean
                description: >-
                  Specifies whether the field is shown conditionally on the
                  value of another field.


                  When `true`, `conditional_field`, `conditional_pattern`, and
                  `conditional_visibility` are all required.
              conditional_field:
                type:
                  - string
                  - 'null'
                pattern: ^[A-Za-z]{8}$
                description: >-
                  Slug of the field whose value controls whether this field is
                  shown.


                  Must be an existing field in the current account that is not
                  in the trash, and cannot be the field being updated.
              conditional_pattern:
                type:
                  - string
                  - 'null'
                description: >-
                  Comparison applied to the value of the controlling field.


                  Supported comparisons are `is`, `is not`, `empty`, `is not
                  empty`, `is checked`, `is not checked`, `is any of`, `is not
                  any of`, `is greater than`, `is less than`, `contains`, `does
                  not contain`, `starts with`, `does not start with`, `ends
                  with`, and `does not end with`.
              conditional_visibility:
                type:
                  - string
                  - 'null'
                description: >-
                  Effect applied when the condition matches.


                  Use `show` to display the field when the condition matches, or
                  `hide` to conceal it.
              conditional_value:
                description: >-
                  Value the controlling field is compared against, or `null`
                  when no value applies.
      description: >-
        Field update payload.


        Only the properties you include are updated; omitted properties keep
        their current values.
      required: true
  headers:
    ETag:
      description: Entity tag for the selected representation.
      schema:
        type: string
    X-RateLimit-Limit:
      description: Maximum number of requests allowed per minute.
      schema:
        type: integer
        example: 60
    X-RateLimit-Remaining:
      description: Number of requests remaining in the current rate limit window.
      schema:
        type: integer
        example: 58
    X-RateLimit-Reset:
      description: Unix timestamp when the rate limit window resets.
      schema:
        type: integer
        example: 1783470988
    Retry-After:
      description: Number of seconds the client should wait before retrying.
      schema:
        type: integer
      example: 60
  schemas:
    Field:
      type: object
      properties:
        entrant_read_access:
          type: boolean
          description: Whether entrants can view this field.
        entrant_write_access:
          type: boolean
          description: Whether entrants can edit this field.
        auto_scoring:
          type: integer
          description: >-
            Score awarded automatically for the field, or `0` when automatic
            judging is not configured.
        categories:
          type: array
          description: >-
            Category slugs the field is associated with, or `["*"]` for every
            category.
          items:
            type: string
        category_count:
          description: >-
            Number of categories the field is associated with, `all` when it
            applies to every category, or `null` when not category-scoped.
        conditional_field:
          type:
            - object
            - 'null'
          description: >-
            Field whose value controls whether this field is shown, or `null`
            when the field is not conditional.
          properties:
            slug:
              type: string
              description: Short URL-safe identifier for the controlling field.
            link:
              type: string
              format: uri
              description: Canonical URL for the controlling field resource.
            name:
              type: object
              description: Display name of the controlling field, keyed by locale code.
              additionalProperties:
                type: string
        created:
          type: string
          format: date-time
          description: Date and time when the field was created.
        file_types:
          type: array
          description: >-
            Permitted file extensions for file fields, empty when no restriction
            applies.
          items:
            type: string
        form:
          type:
            - object
            - 'null'
          description: >-
            Form the field belongs to, or `null` when the field is not attached
            to a form.
          properties:
            slug:
              type: string
              description: Short URL-safe identifier for the form.
            link:
              type: string
              format: uri
              description: Canonical URL for the form resource.
            name:
              type: object
              description: Display name of the form, keyed by locale code.
              additionalProperties:
                type: string
        help_text:
          type: object
          description: >-
            Help text shown for the field, as an HTML fragment keyed by locale
            code.
          additionalProperties:
            type: string
        hint_text:
          type: object
          description: >-
            Hint text shown for the field, as an HTML fragment keyed by locale
            code.
          additionalProperties:
            type: string
        label:
          type: object
          description: Label of the field, as an HTML fragment keyed by locale code.
          additionalProperties:
            type: string
        max_file_size:
          type:
            - integer
            - 'null'
          description: >-
            Maximum upload size in megabytes for file fields, or `null` when no
            limit applies.
        maximum_characters:
          type:
            - integer
            - 'null'
          description: >-
            Maximum number of characters accepted, or `null` when no limit
            applies.
        maximum_words:
          type:
            - integer
            - 'null'
          description: Maximum number of words accepted, or `null` when no limit applies.
        minimum_characters:
          type:
            - integer
            - 'null'
          description: >-
            Minimum number of characters required, or `null` when no limit
            applies.
        minimum_words:
          type:
            - integer
            - 'null'
          description: Minimum number of words required, or `null` when no limit applies.
        options:
          type: array
          description: >-
            Selectable options for choice fields (for example, drop-down or
            radio). Empty when the field type has no options.
          items:
            type: string
        order:
          type: integer
          description: Position of the field within its tab.
        protection:
          type: string
          description: >-
            Protection level governing access to the data for the field (for
            example, `standard`, `elevated`, or `maximum`).
        registration:
          type:
            - string
            - 'null'
          description: >-
            Registration attribute the field is mapped to, or `null` if
            unmapped.
        required:
          type: boolean
          description: Whether a value is required for the field.
        resource:
          type: string
          description: >-
            Resource the field collects data for (for example, the entry or
            application, `contributors`, `referees`, `attachments`, or `users`).
        schema:
          type:
            - object
            - 'null'
          description: >-
            Column structure of a table field, or `null` for every other field
            type.
          properties:
            columns:
              type: array
              description: Columns of the table, in the order they appear.
              items:
                type: object
                properties:
                  key:
                    type: string
                    description: >-
                      Spreadsheet-style column letter used to address cells of
                      the field.
                  label:
                    type: object
                    description: Heading of the column, keyed by locale code.
                    additionalProperties:
                      type: string
        searchable:
          type: boolean
          description: Whether the field is included in search.
        season:
          type: object
          description: Season the field belongs to.
          properties:
            slug:
              type: string
              description: Short URL-safe identifier for the season.
            link:
              type: string
              format: uri
              description: Canonical URL for the season resource.
            name:
              type: object
              description: Display name of the season, keyed by locale code.
              additionalProperties:
                type: string
        slug:
          type: string
          description: Short URL-safe identifier for the field.
        tab:
          type:
            - object
            - 'null'
          description: >-
            Tab the field belongs to, or `null` when the field is not attached
            to a tab.
          properties:
            slug:
              type: string
              description: Short URL-safe identifier for the tab.
            link:
              type: string
              format: uri
              description: Canonical URL for the tab resource.
            name:
              type: object
              description: Display name of the tab, keyed by locale code.
              additionalProperties:
                type: string
        title:
          type: object
          description: Plain-text title of the field, keyed by locale code.
          additionalProperties:
            type: string
        type:
          type: string
          description: >-
            Field type (for example, `text`, `textarea`, `drop-down-list`,
            `file`, `currency`, or `date`).
        updated:
          type: string
          format: date-time
          description: Date and time when the field was last updated.
        visibility:
          type: array
          description: >-
            Contexts in which the field is visible (for example, `qualifying`,
            `top_pick`, `voting`, `gallery`, or `vip_judging`).
          items:
            type: string
      example:
        entrant_read_access: true
        entrant_write_access: true
        auto_scoring: 0
        categories:
          - '*'
        category_count: all
        conditional_field: null
        created: '2025-01-15T09:00:00Z'
        file_types: []
        form:
          slug: GhIjKlMn
          link: https://api.au.cr4ce.com/form/GhIjKlMn
          name:
            en_GB: Entry form
        help_text:
          en_GB: <p>Provide a concise summary of your work.</p>
        hint_text:
          en_GB: <p>Up to 500 words.</p>
        label:
          en_GB: <p>Summary</p>
        max_file_size: null
        maximum_characters: null
        maximum_words: 500
        minimum_characters: null
        minimum_words: null
        options: []
        order: 1
        protection: standard
        registration: null
        required: true
        resource: entries
        schema: null
        searchable: true
        season:
          slug: QrStUvWx
          link: https://api.au.cr4ce.com/season/QrStUvWx
          name:
            en_GB: '2025'
        slug: AbCdEfGh
        tab:
          slug: StUvWxYz
          link: https://api.au.cr4ce.com/tab/StUvWxYz
          name:
            en_GB: About you
        title:
          en_GB: Summary
        type: textarea
        updated: '2025-06-20T14:30:00Z'
        visibility:
          - qualifying
          - vip_judging
    BadRequest:
      allOf:
        - $ref: '#/components/schemas/BaseProblem'
        - type: object
          properties:
            status_code:
              type: integer
              minimum: 400
              maximum: 400
    Unauthorized:
      allOf:
        - $ref: '#/components/schemas/BaseProblem'
        - type: object
          properties:
            status_code:
              type: integer
              minimum: 401
              maximum: 401
    Forbidden:
      allOf:
        - $ref: '#/components/schemas/BaseProblem'
        - type: object
          properties:
            status_code:
              type: integer
              minimum: 403
              maximum: 403
    NotFound:
      allOf:
        - $ref: '#/components/schemas/BaseProblem'
        - type: object
          properties:
            status_code:
              type: integer
              minimum: 404
              maximum: 404
    UnprocessableEntity:
      allOf:
        - $ref: '#/components/schemas/BaseProblem'
        - type: object
          properties:
            status_code:
              type: integer
              minimum: 422
              maximum: 422
            errors:
              type: object
              description: >-
                Map of request field to the list of validation messages, present
                only on field-level validation failures.
              additionalProperties:
                type: array
                items:
                  type: string
    TooManyRequests:
      allOf:
        - $ref: '#/components/schemas/BaseProblem'
        - type: object
          properties:
            status_code:
              type: integer
              minimum: 429
              maximum: 429
    BaseProblem:
      description: Standard error envelope for all API error responses.
      type: object
      properties:
        message:
          type: string
        status_code:
          type: integer
          minimum: 400
          maximum: 599
  responses:
    BadRequest:
      description: >-
        Request was rejected before the endpoint could process it. Common
        causes: invalid `Accept` header, unsupported `x-api-language` code,
        empty request body on `POST` / `PUT`, invalid JSON in the request body,
        or an invalid slug format in a path parameter.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
        application/xml:
          schema:
            $ref: '#/components/schemas/BadRequest'
    Unauthorized:
      description: Missing `x-api-key` header.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
        application/xml:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    Forbidden:
      description: |-
        Authenticated request denied. Common causes: invalid or unknown
        API key, suspended account, or `api` feature not enabled for
        the account.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Forbidden'
        application/xml:
          schema:
            $ref: '#/components/schemas/Forbidden'
    NotFound:
      description: >-
        Resource identified by the path slug does not exist. Returned when the
        slug is well-formed but no record matches it.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFound'
        application/xml:
          schema:
            $ref: '#/components/schemas/NotFound'
    UnprocessableEntity:
      description: >-
        Request was syntactically valid but could not be processed.


        Returned in two scenarios:


        - **Field-level validation failure** — one or more request fields
        violated the endpoint's validation rules. The body includes an `errors`
        map keyed by field name with one or more validation messages each.

        - **Resource-state precondition failure** — the request fields were all
        valid, but the target resource was in a state that does not permit the
        requested operation. The body carries only `message` and `status_code`;
        no `errors` map.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnprocessableEntity'
        application/xml:
          schema:
            $ref: '#/components/schemas/UnprocessableEntity'
    TooManyRequests:
      description: Rate limit of 60 requests per minute exceeded.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TooManyRequests'
        application/xml:
          schema:
            $ref: '#/components/schemas/TooManyRequests'
    ServiceUnavailable:
      description: Service is temporarily unavailable due to regional maintenance.
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                description: Human-readable maintenance status.
            example:
              status: Maintenance in progress
        application/xml:
          schema:
            type: object
            properties:
              status:
                type: string
                description: Human-readable maintenance status.
            example:
              status: Maintenance in progress
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: |-
        API key used to authenticate and authorise every request.
        Include it in the `x-api-key` header.

````