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

# List tabs

> Get a list of the tabs on the forms in the active season.



## OpenAPI

````yaml /api-reference/openapi-v2_3.yaml get /tab
openapi: 3.1.0
info:
  title: Good Grants API
  version: '2.3'
  description: >
    The Good Grants API enables you to programmatically manage grant-making
    programs, funding cycles, and application workflows.


    Use this API to:

    - Create and manage grant applications and submissions

    - Automate review workflows and scoring assignments

    - Track grant payments and fund allocations

    - Generate compliance 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 organisation
      account.

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


      Note: Account information is read-only and contains organisation-level
      settings and identifiers.
  - name: Action tasks
    description: >-
      Use these operations to manage individual review and evaluation
      activities.

      Action tasks represent specific actions that reviewers or administrators
      need to complete during the evaluation process.


      Tasks track timestamps, decisions, and reviewer associations.

      Action tasks integrate with the broader review workflow and status
      tracking.
  - name: Allocation payments
    description: >-
      Use these operations to manage individual payments made against grant
      allocations.

      Allocation payments represent installments or disbursements of awarded
      funds.


      Payments track scheduling, status (pending, paid, cancelled), and amounts.

      Comments can be added to payments for grantee communication and
      record-keeping purposes.
  - name: Allocations
    description: >-
      Use these operations to manage grant allocations awarded to applications.

      An allocation represents the award of funds from a budget (fund) to an
      application or applicant.


      Allocations track the total grant amount, currency, and outstanding
      balance.

      Multiple payments can be made against a single allocation to facilitate
      installment-based grants or milestone payments.
  - name: Applications (realtime)
    description: >-
      Use these operations to perform granular updates on applications without
      replacing the entire resource.

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

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


      These operations are optimized for interactive applications that need to
      update grants incrementally.
  - name: Applications
    description: >-
      Use these operations to manage grant applications submitted to your
      funding programs.

      Applications are the core entity that flows through the entire lifecycle
      from submission to review to grant award.


      Applications can contain custom form fields, supporting documents,
      contributors, and be organised by categories and chapters.

      Each application progresses through various statuses including draft,
      submitted, under review, and approved stages.
  - name: Assignments
    description: >-
      Use these operations to manage review assignments for evaluating grant
      applications.

      Assignments connect reviewers (or roles) with applications and scoring
      rubrics to facilitate the evaluation process.


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

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

      Assignments enable structured review workflows with configurable scoring
      criteria.
  - name: Attachments
    description: >-
      Use these operations to manage files uploaded to applications through
      attachment tabs.

      Attachments are distinct from field-based file uploads and allow for
      supplementary materials such as letters of support or compliance
      documents.


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

      Attachments remain associated with their application throughout the
      application lifecycle.
  - name: Categories
    description: >-
      Use these operations to manage funding categories or program areas.

      Categories organise applications into logical groups and can be
      hierarchical with parent-child relationships.


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

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

      Chapters enable you to run regional funding programs, manage local grants,
      or organise by funding priorities.


      Applications 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
      applications beyond the primary applicant.

      Contributors represent project team members, fiscal sponsors, or partners
      on a grant proposal.


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

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

      Documents can be created based on application data, grantee data,
      compliance reports, 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 applicants or applications.
  - name: Fields
    description: >-
      Use these operations to manage custom form fields used to collect data
      throughout your grant programs.

      Fields can be attached to applications, 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 documents 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: Forms
    description: >-
      Use these operations to retrieve application form structures and
      configurations.

      Forms define the data collection structure for grant applications within
      categories.


      Each form contains custom fields organised into tabs, along with content
      blocks and call-to-action elements.

      Forms support various types including application forms, review forms, and
      nomination forms.

      Note: Forms are read-only via the API and must be configured through the
      Good Grants interface.
  - name: Funds
    description: >-
      Use these operations to manage budget sources for allocations and grants.

      Funds represent pools of money available for distribution, such as
      "Innovation Fund 2026" or "Community Development Budget".


      Each fund tracks its budget, currency, and can have multiple allocations
      drawn against it.

      Funds enable financial tracking and reporting across your grant-making
      programs.
  - name: Grant reports
    description: >-
      Use these operations to manage grant reports and post-award compliance
      documentation.

      Grant reports track progress reporting requirements and outcomes for
      awarded grants.


      Reports capture applicant information, application details, custom form
      fields, and status tracking.
  - name: Grant statuses
    description: >-
      Use these operations to retrieve custom grant lifecycle statuses.

      Grant statuses provide additional status tracking beyond standard
      application review statuses.


      These are used to track stages like "Eligibility Review", "Compliance
      Check", "Funding Approved", "Grant Agreement Signed".

      Note: Grant statuses are read-only via the API and must be configured
      through the Good Grants interface.
  - name: Leaderboard
    description: >-
      Use these operations to retrieve ranking results and scores for
      applications.

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


      Results can be filtered to show specific subsets of the funding program.

      Note: The leaderboard is read-only and reflects calculated results from
      the review process.
  - name: Rounds
    description: >-
      Use these operations to retrieve round information for your grant
      programs.

      Rounds represent phases within a funding cycle, such as application
      rounds, review rounds, or decision 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
      Good Grants interface.
  - name: Score sets
    description: >-
      Use these operations to retrieve scoring rubrics and evaluation criteria.

      Score sets define the questions, scoring scales, and calculation methods
      used to evaluate grant applications.


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

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

      A season represents a time-bound grant program instance, such as "2026
      Community Grants" or "Q1 2026 Innovation Fund".


      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
      Good Grants interface.
  - name: Tabs
    description: >-
      Use these operations to manage the tabs that divide a form into sections.

      Each tab groups what the form collects at that point, such as the
      application details, custom fields, attachments, contributors, or
      referees.


      Every form holds a locked details tab. Add tabs of the other types
      yourself, then place fields on them with the Fields operations.

      Show a tab in every category or only in selected categories, and hide a
      tab from applicants while it stays visible to program managers.
  - 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 Good Grants interface.
  - name: Users
    description: >-
      Use these operations to manage user accounts in your grant-making
      organisation.

      Users represent people who interact with your programs, including
      applicants, reviewers, 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
      funding cycles.
  - name: Webhooks
    description: >-
      Use these operations to manage webhook subscriptions for real-time event
      notifications.

      Webhooks notify your external systems when events occur in Good Grants,
      such as application submissions, status changes, or payment completions.


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

      Configure webhooks to send HTTP POST requests to your specified URLs with
      event payloads.
paths:
  /tab:
    get:
      tags:
        - Tabs
      summary: List tabs
      description: Get a list of the tabs on the forms in the active season.
      operationId: GetTabCollectionV23
      parameters:
        - $ref: '#/components/parameters/tabTypeFilter'
        - $ref: '#/components/parameters/formFilter'
        - $ref: '#/components/parameters/seasonFilter'
        - $ref: '#/components/parameters/deletedFilter'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/perPage'
        - $ref: '#/components/parameters/tabOrder'
        - $ref: '#/components/parameters/sortDirection'
        - $ref: '#/components/parameters/Accept'
        - $ref: '#/components/parameters/X-Api-Language'
      responses:
        '200':
          description: Paginated list of tabs.
          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/TabList'
            application/xml:
              schema:
                $ref: '#/components/schemas/TabList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  parameters:
    tabTypeFilter:
      name: type
      in: query
      required: false
      description: Filter by tab type.
      schema:
        type: string
        enum:
          - details
          - attachments
          - contributors
          - fields
          - eligibility
          - referees
    formFilter:
      name: form
      in: query
      required: false
      description: >-
        Filter by form slug.


        Results cover every form unless you name one. Pass `all` to state that
        explicitly.
      schema:
        type: string
    seasonFilter:
      name: season
      in: query
      required: false
      description: |-
        Filter by season slug.
        Use `all` to show all seasons.
      schema:
        type: string
    deletedFilter:
      name: deleted
      in: query
      required: false
      description: |-
        Filter by deletion mode.
        * `only` - Show only deleted resources.
        * `included` - Include deleted resources.
        * `none` - Exclude deleted resources.
      schema:
        type: string
        enum:
          - only
          - included
          - none
    page:
      name: page
      in: query
      required: false
      description: Specify the page number to return.
      schema:
        type: integer
        minimum: 1
        default: 1
    perPage:
      name: per_page
      in: query
      required: false
      description: >
        Limit the number of items returned to between 1 and 100.


        If you provide a value outside this range, you will receive a `400`
        response.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    tabOrder:
      name: order
      in: query
      required: false
      description: >-
        Sort by a supported tab field. Defaults to `updated`, and any other
        value falls back to it.
          * `categories` - Sort by how categories are applied, not by category name.
          * `form` - Sort by form name.
          * `order` - Sort by the position of the tab within its form.
      schema:
        type: string
        enum:
          - categories
          - created
          - field_count
          - form
          - name
          - order
          - type
          - updated
    sortDirection:
      name: dir
      in: query
      required: false
      description: >-
        Sort in ascending or descending order. Invalid values are rejected with
        `400 Bad Request`.
      schema:
        type: string
        enum:
          - asc
          - desc
    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
  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:
    TabList:
      allOf:
        - $ref: '#/components/schemas/Pagination'
        - type: object
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/Tab'
      example:
        current_page: 1
        data:
          - categories:
              - '*'
            category_option: all
            content_block: null
            created: '2024-12-12T09:41:18Z'
            field_count: 3
            form: GhIjKlMn
            locked: true
            name:
              en_GB: Application details
            order: 1
            resource: applications
            season:
              slug: EfGhIjKl
              link: https://api.au.cr4ce.com/season/EfGhIjKl
              name:
                en_GB: '2026'
            settings: null
            slug: QrStUvWx
            tab_divider_on_pdfs: false
            type: details
            updated: '2026-04-13T13:45:43Z'
            visible_to_applicants: true
          - categories:
              - slug: KlMnOpQr
                link: https://api.au.cr4ce.com/category/KlMnOpQr
                name:
                  en_GB: Documentary
            category_option: select
            content_block: null
            created: '2024-12-12T09:41:21Z'
            field_count: 6
            form: GhIjKlMn
            locked: false
            name:
              en_GB: About you
            order: 20
            resource: applications
            season:
              slug: EfGhIjKl
              link: https://api.au.cr4ce.com/season/EfGhIjKl
              name:
                en_GB: '2026'
            settings: null
            slug: StUvWxYz
            tab_divider_on_pdfs: true
            type: fields
            updated: '2026-04-13T13:45:50Z'
            visible_to_applicants: true
        first_page_url: https://api.au.cr4ce.com/tab?per_page=10&page=1
        from: 1
        last_page: 1
        last_page_url: https://api.au.cr4ce.com/tab?per_page=10&page=1
        next_page_url: ''
        path: https://api.au.cr4ce.com/tab
        per_page: 10
        prev_page_url: ''
        to: 2
        total: 2
    Pagination:
      type: object
      title: Pagination
      properties:
        current_page:
          type: integer
          description: Number of the page returned by this response, starting at `1`.
        first_page_url:
          type: string
          description: >-
            URL of the first page in the result set, relative when the requested
            page is beyond the last page.
        from:
          type:
            - integer
            - 'null'
          description: >-
            Position of the first record on this page within the full result
            set, starting at `1`, or `null` when the requested page is beyond
            the last page.
        last_page:
          type: integer
          description: Total number of pages.
        last_page_url:
          type: string
          description: >-
            URL of the last page in the result set, relative when the requested
            page is beyond the last page.
        next_page_url:
          type: string
          description: >-
            URL of the next page in the result set, empty when the current page
            is the last page.
        path:
          type: string
          description: Canonical URL of the endpoint, without query parameters.
        per_page:
          type: integer
          default: 10
          description: Maximum number of records returned per page.
        prev_page_url:
          type: string
          description: >-
            URL of the previous page in the result set, empty when the current
            page is the first page.
        to:
          type:
            - integer
            - 'null'
          description: >-
            Position of the last record on this page within the full result set,
            or `null` when the requested page is beyond the last page.
        total:
          type: integer
          description: Total number of records across all pages.
    Tab:
      title: Tab
      description: >-
        Section of a form that groups what is collected from applicants, such as
        application details, custom fields, attachments, contributors, or
        referees.
      type: object
      properties:
        categories:
          type: array
          description: >-
            Categories the tab is shown in, or `["*"]` when it is shown in every
            category.


            `category_option` says which of the two a tab is using, so read that
            rather than testing for the marker. The same shape is used by the
            `categories` property of a field.
          items:
            oneOf:
              - type: object
                properties:
                  slug:
                    type: string
                    description: Short URL-safe identifier for the category.
                  link:
                    type: string
                    format: uri
                    description: Canonical URL for the category resource.
                  name:
                    type: object
                    description: >-
                      Map of translated strings keyed by locale code (for
                      example, `en_GB` or `fr_FR`).
                    additionalProperties:
                      type: string
              - type: string
                enum:
                  - '*'
        category_option:
          type: string
          description: |-
            How categories are applied to the tab.
              * `all` - Shown in every category.
              * `select` - Shown only in the categories listed in `categories`.
          enum:
            - all
            - select
        content_block:
          type:
            - object
            - 'null'
          description: >-
            Content block shown at the top of the tab, or `null` when no content
            block is assigned.
          properties:
            slug:
              type: string
              description: Short URL-safe identifier for the content block.
            link:
              type: string
              format: uri
              description: Canonical URL for the content block resource.
            name:
              type: object
              description: >-
                Map of translated strings keyed by locale code (for example,
                `en_GB` or `fr_FR`).
              additionalProperties:
                type: string
        created:
          type: string
          format: date-time
          description: Date and time when the tab was created.
        field_count:
          type: integer
          description: Number of fields attached to the tab.
        form:
          type: string
          pattern: ^[A-Za-z]{8}$
          description: Slug of the form the tab belongs to.
        locked:
          type: boolean
          description: >-
            Specifies whether the tab is locked.


            A locked tab always holds position `1` and you cannot reorder or
            delete it.
        name:
          type: object
          description: >-
            Display name of the tab, as a map of translated strings keyed by
            locale code.
          additionalProperties:
            type: string
        order:
          type: integer
          description: >-
            Position of the tab within the form, where lower values appear
            first.
        resource:
          type: string
          description: |-
            Resource the tab collects data for.
              * `applications` - Part of an application form.
              * `users` - Part of the user profile form.
          enum:
            - applications
            - users
        season:
          type: object
          description: Season the tab 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: >-
                Map of translated strings keyed by locale code (for example,
                `en_GB` or `fr_FR`).
              additionalProperties:
                type: string
        settings:
          type:
            - object
            - 'null'
          description: >-
            Configuration that applies only to this type of tab, or `null` for a
            type that carries none, such as a details or fields tab.


            Each type populates its own properties and omits the rest: an
            attachments tab carries the upload limits, an eligibility tab the
            assessment and communication settings, a referees tab the reference
            limits, and a contributors tab the contributor limits.


            These are the limits the applicant form applies. Apply them in your
            own interface so that applicants do not upload files the form would
            refuse.
          properties:
            allowed_file_types:
              type:
                - object
                - array
              maxItems: 0
              description: >-
                File extensions accepted, keyed by file type group. The groups
                are `documents`, `images`, `graphics`, `audio`, `video` and
                `archives`, and each extension belongs to the group it is listed
                under.


                An empty array (`[]`) when the tab accepts every extension the
                account allows.
              additionalProperties:
                type: array
                items:
                  type: string
            accept_attachment_links:
              type: boolean
              description: >-
                Specifies whether the tab accepts a link to a file in place of
                an upload.
            min_attachments:
              type:
                - integer
                - 'null'
              description: >-
                Smallest number of attachments required, or `null` when no
                minimum is set.
            max_attachments:
              type:
                - integer
                - 'null'
              description: >-
                Largest number of attachments accepted, or `null` when no
                maximum is set.
            min_filesize:
              type:
                - number
                - 'null'
              description: >-
                Smallest accepted file size in megabytes, or `null` when no
                minimum is set.
            max_filesize:
              type:
                - number
                - 'null'
              description: >-
                Largest accepted file size in megabytes, or `null` when no
                maximum is set.


                The account file size limit applies as well, and the smaller of
                the two wins.
            min_video_length:
              type:
                - integer
                - 'null'
              description: >-
                Shortest accepted video length in seconds, or `null` when no
                minimum is set.
            max_video_length:
              type:
                - integer
                - 'null'
              description: >-
                Longest accepted video length in seconds, or `null` when no
                maximum is set.
            image_dimension_constraints:
              type: object
              description: >-
                Pixel dimensions accepted for uploaded images. Each value is
                `null` when that constraint is not set.
              properties:
                min_width:
                  type:
                    - integer
                    - 'null'
                  description: Smallest accepted image width in pixels.
                max_width:
                  type:
                    - integer
                    - 'null'
                  description: Largest accepted image width in pixels.
                min_height:
                  type:
                    - integer
                    - 'null'
                  description: Smallest accepted image height in pixels.
                max_height:
                  type:
                    - integer
                    - 'null'
                  description: Largest accepted image height in pixels.
            assessment_mode:
              type:
                - string
                - 'null'
              description: >-
                How an eligibility tab decides the outcome, or `null` when no
                mode is set.
                  * `auto` - Scored against `min_eligibility_score`.
                  * `manual` - Decided by a program manager.
                  * `both` - Scored first, then confirmed by a program manager.
              enum:
                - auto
                - manual
                - both
                - null
            min_eligibility_score:
              type:
                - number
                - 'null'
              description: >-
                Score an application must reach to be eligible. Applies when
                `assessment_mode` is `auto` or `both`.
            hide_other_tabs_when_ineligible:
              type: boolean
              description: >-
                Specifies whether the remaining tabs are hidden from an
                application found ineligible.
            eligible_content_block:
              type:
                - string
                - 'null'
              description: Slug of the content block shown to an eligible application.
            ineligible_content_block:
              type:
                - string
                - 'null'
              description: Slug of the content block shown to an ineligible application.
            pending_eligibility_content_block:
              type:
                - string
                - 'null'
              description: >-
                Slug of the content block shown while eligibility is still being
                decided.
            eligible_notification:
              type:
                - string
                - 'null'
              description: >-
                Slug of the notification sent when an application is found
                eligible.
            ineligible_notification:
              type:
                - string
                - 'null'
              description: >-
                Slug of the notification sent when an application is found
                ineligible.
            pending_eligibility_notification:
              type:
                - string
                - 'null'
              description: >-
                Slug of the notification sent while eligibility is still being
                decided.
            action_stage:
              type:
                - string
                - 'null'
              description: Slug of the action stage a referees tab collects references for.
            min_referees:
              type:
                - integer
                - 'null'
              description: >-
                Smallest number of referees required, or `null` when no minimum
                is set.
            max_referees:
              type:
                - integer
                - 'null'
              description: >-
                Largest number of referees accepted, or `null` when no maximum
                is set.
            min_contributors:
              type:
                - integer
                - 'null'
              description: >-
                Smallest number of contributors required, or `null` when no
                minimum is set.
            max_contributors:
              type:
                - integer
                - 'null'
              description: >-
                Largest number of contributors accepted, or `null` when no
                maximum is set.
          example:
            allowed_file_types:
              images:
                - jpg
                - png
              video:
                - mp4
            accept_attachment_links: false
            min_attachments: 1
            max_attachments: 10
            min_filesize: null
            max_filesize: 25
            min_video_length: null
            max_video_length: 120
            image_dimension_constraints:
              min_width: 800
              max_width: 4000
              min_height: 600
              max_height: 4000
        slug:
          type: string
          description: Short URL-safe identifier for the tab.
        tab_divider_on_pdfs:
          type: boolean
          description: >-
            Specifies whether generated PDF documents include a divider page for
            the tab.
        type:
          type: string
          description: |-
            Type of the tab, which determines what the tab collects.
              * `details` - Core application details, such as the application title and the category the application is submitted to.
              * `attachments` - Supplementary files uploaded against the application.
              * `contributors` - People credited on the application alongside the applicant.
              * `fields` - Answers to the custom fields on the form.
              * `eligibility` - Answers used to assess whether the application is eligible.
              * `referees` - Referees asked to provide a reference for the application.
          enum:
            - details
            - attachments
            - contributors
            - fields
            - eligibility
            - referees
        updated:
          type: string
          format: date-time
          description: Date and time when the tab was last updated.
        visible_to_applicants:
          type: boolean
          description: >-
            Specifies whether applicants see the tab.


            A tab hidden from applicants stays visible to program managers, so
            use it to collect information applicants do not manage themselves.
      example:
        categories:
          - slug: KlMnOpQr
            link: https://api.au.cr4ce.com/category/KlMnOpQr
            name:
              en_GB: Documentary
        category_option: select
        content_block: null
        created: '2024-12-12T09:41:21Z'
        field_count: 6
        form: GhIjKlMn
        locked: false
        name:
          en_GB: About you
        order: 20
        resource: applications
        season:
          slug: EfGhIjKl
          link: https://api.au.cr4ce.com/season/EfGhIjKl
          name:
            en_GB: '2026'
        settings: null
        slug: StUvWxYz
        tab_divider_on_pdfs: true
        type: fields
        updated: '2026-04-13T13:45:50Z'
        visible_to_applicants: true
    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
    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, `api` feature not enabled for
        the account, or a read-only API key used for a request that
        is not a `GET`.
      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'
    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.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.