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

# Save a recipient or campaign worksheet definition

> Creates or updates a raw saved view/report definition. The endpoint source must match module_id and the saved definition context/scope. Source view management or reports management plus context access is required. client_id is required for compatibility but always replaced by the authenticated organization. Donor/donation view validators discard unavailable columns/filter/footer keys; report definitions strictly validate field capabilities, operators, values and date presets. Existing reports stay reports. Initial report creation also creates an entitled schedule; later edits here preserve its schedule. Column identity/order are normalized for report updates. A schedule rejection can occur after the definition is saved.



## OpenAPI

````yaml post /admin/entities/saved_filters
openapi: 3.0.0
info:
  title: Gratona API
  description: >-
    REST API for the Gratona fundraising platform, including donor, donation,
    sponsorship, program, event, and integration workflows. Endpoints are
    organized by tag. Most endpoints require either a Passport bearer token or
    an issued API key — see the Security Schemes section.
  contact:
    name: Gratona Engineering
    url: https://gratona.com
    email: devs@gratona.com
  version: 1.0.0
servers:
  - url: https://api.gratona.com/v1
    description: Server Version 1.0.0
security: []
tags:
  - name: Auth
    description: >-
      Login, signup, logout, password reset, and email verification for admin
      users and donors.
  - name: Donors
    description: >-
      Donor records: CRUD, profile fields, household linkage, search, filters,
      merge, and duplicate detection.
  - name: Donations
    description: >-
      Individual donation records, recurring commitments, soft credits, refunds,
      designations, and exports.
  - name: Sponsorships
    description: >-
      Donor-to-entity commitment relationships, lifecycle transitions, and
      commitment-specific filters.
  - name: Entities
    description: >-
      Recipient records (children, families, projects, animals, etc.), their
      status, and entity-level fields.
  - name: Programs
    description: >-
      Program / campaign configuration: hierarchy, settings, and program-level
      metadata.
  - name: Forms
    description: >-
      Custom form builder (HysForm), form fields, standardized donor fields, and
      field migrations.
  - name: Trips
    description: >-
      Mission-trip management: trips, participants, budgets, tasks,
      e-signatures, fundraising milestones, and background checks.
  - name: Communications
    description: >-
      Email templates, SMS, newsletters, donor email manager, and per-donor
      notes.
  - name: Payments
    description: >-
      Payment-gateway management (Stripe, PayPal, Flutterwave, QuickBooks).
      Excludes inbound webhooks — see the Webhooks tag.
  - name: Reports
    description: Dashboards, analytics, scheduled reports, and exports.
  - name: Admin
    description: >-
      Client-account administration: users, groups/permissions, settings,
      integrations, and account lifecycle.
  - name: Donor Portal
    description: >-
      Endpoints consumed by the donor-facing portal (donor login, dashboard,
      donation history, messages).
  - name: Recipient Portal
    description: Endpoints consumed by the recipient-facing portal.
  - name: Public
    description: >-
      Unauthenticated public endpoints: donor signup, public trip pages,
      peer-to-peer campaigns, public checkout.
  - name: Webhooks
    description: >-
      Inbound webhooks from third parties (Stripe, PayPal, Flutterwave, Checkr,
      DropboxSign). Annotated minimally for reference; payload shapes are owned
      by the upstream provider.
  - name: Events
    description: >-
      Event setup, invitations, registration, ticketing, attendance and event
      reporting.
  - name: Journeys
    description: >-
      Journey graphs, activation, enrollment, message templates and event
      follow-up automations.
  - name: Tasks
    description: Workspace tasks, assignments, saved task views and record collaboration.
  - name: Fundraising
    description: >-
      Fundraising portfolios, stewardship plans, giving anniversaries and
      personal donor follow-up.
  - name: Impact Stories
    description: Story intake, review, assets, consent and publication workflows.
  - name: Integrations
    description: Workspace integration connections, mappings, synchronization and recovery.
  - name: Email Calendar
    description: Connected email/calendar accounts and donor interactions.
  - name: Spaces
    description: Workspace Spaces and collaborative Pages.
  - name: Library
    description: Workspace documents, source connections, files and analysis.
  - name: Intelligence
    description: Donor intelligence and Tali workspace workflows.
  - name: Automation
    description: >-
      V3 automation primitive discovery, input validation, invocation and Zapier
      contracts.
  - name: Schema
    description: V3 model, enum, capability and scope discovery.
  - name: Zapier
    description: Zapier automation connections, polling feeds and actions.
  - name: Files
    description: Files
  - name: Client
    description: Client
  - name: Payment Gateways
    description: Payment Gateways
  - name: Email Settings
    description: Email Settings
  - name: Admin Dashboard
    description: Admin Dashboard
  - name: Recipients
    description: Recipients
  - name: Historical Archived Updates
    description: Historical Archived Updates
  - name: Team & access
    description: Team & access
  - name: Settings
    description: Settings
  - name: Notifications
    description: Notifications
  - name: Participation
    description: Participation
  - name: Users
    description: Users
  - name: Wrapped
    description: Wrapped
  - name: Donor SignUp
    description: Donor SignUp
  - name: Frontend
    description: Frontend
  - name: User
    description: User
  - name: Workspace
    description: Workspace
paths:
  /admin/entities/saved_filters:
    post:
      tags:
        - Donors
      summary: Save a recipient or campaign worksheet definition
      description: >-
        Creates or updates a raw saved view/report definition. The endpoint
        source must match module_id and the saved definition context/scope.
        Source view management or reports management plus context access is
        required. client_id is required for compatibility but always replaced by
        the authenticated organization. Donor/donation view validators discard
        unavailable columns/filter/footer keys; report definitions strictly
        validate field capabilities, operators, values and date presets.
        Existing reports stay reports. Initial report creation also creates an
        entitled schedule; later edits here preserve its schedule. Column
        identity/order are normalized for report updates. A schedule rejection
        can occur after the definition is saved.
      operationId: SaveFilterController_postSavedFilter_entities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              allOf:
                - $ref: '#/components/schemas/CrmApiSavedFilterInput'
                - properties:
                    module_id:
                      description: Required source module for this endpoint.
                      type: integer
                      enum:
                        - 2
                      example: 2
                  type: object
      responses:
        '200':
          description: Save a recipient or campaign worksheet definition completed.
          content:
            application/json:
              schema:
                properties:
                  message:
                    description: Create/update result.
                    type: string
                    example: Filter Preferences Saved
                  data:
                    $ref: '#/components/schemas/CrmApiSavedViewRecord'
                type: object
        '401':
          description: Authentication is required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: >-
            Initial report schedule exceeds the organization
            entitlement/allowance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CrmApiSavedFilterScheduleDenial'
        '403':
          description: Insufficient permission or feature access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: >-
            Existing definition, source context or endpoint module does not
            match.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
        '422':
          description: Invalid definition or schedule input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestRejection'
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  schemas:
    CrmApiSavedFilterInput:
      required:
        - client_id
        - hysform_id
        - module_id
      properties:
        client_id:
          description: >-
            Required compatibility input; the authenticated organization always
            overrides this value.
          type: integer
          example: 42
        hysform_id:
          description: >-
            Required source donor form/program ID; all normalizes to zero.
            Existing definitions must retain their original source context.
          oneOf:
            - description: Source context ID or zero for all.
              type: integer
              minimum: 0
              example: 42
            - description: All source records.
              type: string
              enum:
                - all
              example: all
        module_id:
          description: >-
            Must match the endpoint source: donors1, entities2, sponsorships3,
            donationFilter4, files5.
          type: integer
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
          example: 1
        sponsorships:
          description: >-
            Sponsorship scope (default normalized program context) or
            nonnegative donation tab; null is allowed.
          type: integer
          example: 42
          nullable: true
        view_id:
          description: >-
            Existing source-matching saved view/report to update; omitted
            creates a new definition.
          type: integer
          example: 42
          nullable: true
        name:
          description: >-
            Definition display label; omission resets saved-view name to null on
            legacy updates.
          type: string
          example: Example
          nullable: true
        type:
          description: Definition kind; existing reports remain reports.
          type: string
          enum:
            - view
            - report
            - null
          example: view
          nullable: true
        date_range:
          properties:
            preset:
              description: Report date preset.
              type: string
              enum:
                - last_7_days
                - last_14_days
                - last_30_days
                - last_90_days
                - this_week
                - this_month
                - last_month
                - this_quarter
                - this_year
                - last_year
                - custom_range
                - all_time
              example: last_7_days
            type:
              description: >-
                Legacy preset alias:
                last_7/last_14/last_30/last_90/week/quarter/year/custom, or
                current preset.
              type: string
              example: last_30
            value:
              description: Alternate preset key.
              type: string
              example: last_30_days
            start_date:
              description: Custom range beginning.
              type: string
              format: date
              example: '2026-01-01'
            end_date:
              description: Custom range ending on or after beginning.
              type: string
              format: date
              example: '2026-12-31'
            date_from:
              description: Legacy start alias.
              type: string
              format: date
              example: '2026-01-01'
            date_to:
              description: Legacy end alias.
              type: string
              format: date
              example: '2026-12-31'
          type: object
          nullable: true
        frequency:
          description: Required when type=report; named frequency or legacy numeric string.
          type: string
          enum:
            - daily
            - weekly
            - biweekly
            - monthly
            - quarterly
            - 3_months
            - semiannual
            - 6_months
            - annual
            - 1_year
            - once
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '14'
            - null
          example: weekly
          nullable: true
        date_time:
          description: >-
            Required when type=report; initial scheduled occurrence, preferably
            ISO8601 with offset.
          type: string
          format: date-time
          example: '2026-12-01T09:00:00+03:00'
          nullable: true
        timezone:
          description: Valid IANA timezone, excluding Factory.
          type: string
          maxLength: 64
          example: Africa/Kampala
          nullable: true
        recipient_emails:
          type: array
          items:
            description: Scheduled report recipient email.
            type: string
            format: email
            example: finance@example.org
          nullable: true
        export_locale:
          description: Scheduled tax-treatment export locale; default en.
          type: string
          enum:
            - en
            - es
            - fr
            - de
            - nl
            - ar
            - zhCn
            - null
          example: en
          nullable: true
        fields:
          description: >-
            Stored filter groups or legacy column keys, depending on module/view
            contract.
          type: array
          items:
            oneOf:
              - description: Legacy saved-view column key.
                type: string
                example: email
              - description: >-
                  Field/operator filter; report definitions strictly validate
                  field availability/type/operator/value, saved donor/donation
                  views discard unavailable fields.
                properties:
                  field:
                    description: Available field key for this module/context.
                    type: string
                    example: email
                  field_key:
                    description: Donation compatibility field key.
                    type: string
                    example: email
                  fieldKey:
                    description: Donation compatibility field key.
                    type: string
                    example: email
                  operator:
                    description: Operator supported by report metadata for this field type.
                    type: string
                    example: contains
                  op:
                    description: Report operator alias.
                    type: string
                    example: contains
                  value:
                    description: >-
                      Operator-specific scalar, list or dynamic date-range
                      value. Required unless operator metadata declares it
                      valueless.
                    example: '@example.org'
                  semantic:
                    description: Optional recipient age semantic from field metadata.
                    type: string
                    example: age_years
                type: object
                additionalProperties: true
          nullable: true
        filterGroups:
          description: >-
            Report alias always replaces fields; donation view maps only when
            fields absent.
          type: array
          items:
            description: >-
              Field/operator filter; report definitions strictly validate field
              availability/type/operator/value, saved donor/donation views
              discard unavailable fields.
            properties:
              field:
                description: Available field key for this module/context.
                type: string
                example: email
              field_key:
                description: Donation compatibility field key.
                type: string
                example: email
              fieldKey:
                description: Donation compatibility field key.
                type: string
                example: email
              operator:
                description: Operator supported by report metadata for this field type.
                type: string
                example: contains
              op:
                description: Report operator alias.
                type: string
                example: contains
              value:
                description: >-
                  Operator-specific scalar, list or dynamic date-range value.
                  Required unless operator metadata declares it valueless.
                example: '@example.org'
              semantic:
                description: Optional recipient age semantic from field metadata.
                type: string
                example: age_years
            type: object
            additionalProperties: true
          nullable: true
        column_fields:
          type: array
          items:
            description: Available worksheet field key.
            type: string
            example: email
          nullable: true
        column_order:
          type: array
          items:
            description: Available worksheet field key.
            type: string
            example: email
          nullable: true
        sort_key:
          description: >-
            Available sortable field; unavailable donor/donation/sponsorship
            sort clears sort state.
          type: string
          example: Example
          nullable: true
        sort_order:
          description: Direction; sponsorship input is normalized before validation.
          type: string
          enum:
            - asc
            - desc
            - null
          example: asc
          nullable: true
        footer_calculations:
          type: array
          items:
            required:
              - operation
            properties:
              field_key:
                description: Available selected field.
                type: string
                example: amount
              fieldKey:
                description: Saved donor/donation view compatibility alias.
                type: string
                example: amount
              operation:
                description: >-
                  Numeric operations require numeric fields, date operations
                  require date fields for reports.
                type: string
                enum:
                  - count_empty
                  - count_filled
                  - percent_empty
                  - percent_filled
                  - sum
                  - average
                  - min
                  - max
                  - earliest
                  - latest
                example: count_empty
            type: object
          nullable: true
        search_query:
          description: Stored search string.
          type: string
          maxLength: 1000
          example: Jane
          nullable: true
        searchQuery:
          description: Donation saved-view compatibility alias.
          type: string
          maxLength: 1000
          example: Jane
          nullable: true
        related_config:
          description: Optional related worksheet configuration.
          properties:
            program_surface:
              description: Distinct source surface for all-program entity definitions.
              type: string
              enum:
                - recipients
                - campaigns
                - null
              example: recipients
              nullable: true
          type: object
          nullable: true
          additionalProperties: true
        schedule:
          oneOf:
            - $ref: '#/components/schemas/CrmApiSavedFilterScheduleInput'
            - type: string
              enum:
                - null
              nullable: true
        duration:
          description: Initial schedule legacy duration hint; defaults zero.
          type: integer
          example: 0
          nullable: true
        start_date:
          description: >-
            Initial schedule compatibility date when date_time absent; report
            validation still requires date_time when type=report.
          type: string
          format: date-time
          example: '2026-10-20T12:00:00Z'
          nullable: true
      type: object
    CrmApiSavedViewRecord:
      properties:
        id:
          description: Saved view/report ID.
          type: integer
          example: 42
        client_id:
          description: Organization ID.
          type: integer
          example: 42
        owner_user_id:
          description: Saved definition owner.
          type: integer
          example: 42
          nullable: true
        hysform_id:
          description: Form/program context; zero is the all-records context.
          type: integer
          example: 42
        module_id:
          description: >-
            Module ID: donors 1, recipients/campaigns 2, sponsorships 3,
            donations 4; null is legacy donors.
          type: integer
          example: 42
          nullable: true
        sponsorships:
          description: Saved sponsorship scope.
          type: integer
          example: 42
          nullable: true
        name:
          description: Saved definition label.
          type: string
          example: Example
          nullable: true
        fields:
          description: Raw stored JSON string for fields.
          type: string
          example: '[]'
          nullable: true
        column_fields:
          description: Raw stored JSON string for column fields.
          type: string
          example: '[]'
          nullable: true
        column_order:
          description: Raw stored JSON string for column order.
          type: string
          example: '[]'
          nullable: true
        date_range:
          description: Raw stored JSON string for date range.
          type: string
          example: '[]'
          nullable: true
        footer_calculations:
          description: Raw stored JSON string for footer calculations.
          type: string
          example: '[]'
          nullable: true
        sort_key:
          description: Saved sort key.
          type: string
          example: Example
          nullable: true
        sort_order:
          description: Saved direction.
          type: string
          example: Example
          nullable: true
        search_query:
          description: Saved search text.
          type: string
          example: Example
          nullable: true
        related_config:
          description: >-
            Related worksheet configuration; decoded object/list for direct
            saved-view writes, or encoded JSON string through legacy report
            catalog writes. May contain program_surface.
          oneOf:
            - type: object
              additionalProperties: true
            - type: array
              items:
                type: string
            - type: string
              example: '{}'
            - type: string
              enum:
                - null
              nullable: true
        snapshot:
          description: Whether the definition is a snapshot.
          type: boolean
          example: false
        type:
          description: view/report or legacy null/empty.
          type: string
          example: Example
          nullable: true
        created_at:
          description: Created.
          type: string
          format: date-time
          example: '2026-10-20T12:00:00Z'
          nullable: true
        updated_at:
          description: Updated.
          type: string
          format: date-time
          example: '2026-10-20T12:00:00Z'
          nullable: true
        deleted_at:
          description: Deleted.
          type: string
          format: date-time
          example: '2026-10-20T12:00:00Z'
          nullable: true
      type: object
    ErrorResponse:
      title: ErrorResponse
      description: >-
        Generic error envelope used by most controllers. Most error responses
        pair a human-readable `message` with `status: error`. Some endpoints
        additionally include `errors` (validator errors), `error` (legacy
        single-error string), `code`, or domain-specific context fields.
      required:
        - message
      properties:
        message:
          description: Human-readable error message.
          type: string
          example: Something went wrong. Please try again.
        status:
          description: >-
            Always the literal string `error` for failures. Some endpoints omit
            this field.
          type: string
          example: error
        error:
          description: Legacy single error code/string used by older endpoints.
          type: string
          example: invalid_request
          nullable: true
        code:
          description: >-
            Optional application-level error code (not all endpoints populate
            this).
          type: string
          example: DONOR_NOT_FOUND
          nullable: true
      type: object
    CrmApiSavedFilterScheduleDenial:
      properties:
        status:
          description: Error status.
          type: string
          example: error
        error_code:
          description: Entitlement denial code.
          type: string
          example: ENTITLEMENT_REQUIRED
        message:
          description: Plan explanation.
          type: string
          example: Scheduled reports are not included in your current plan.
        feature:
          description: Required feature.
          type: string
          example: reports.scheduled_email
        feature_name:
          description: Display feature.
          type: string
          example: Scheduled reports
        required_tier:
          description: Required tier.
          type: string
          example: Example
          nullable: true
        required_tier_name:
          description: Required tier name.
          type: string
          example: Example
          nullable: true
        current_tier:
          description: Current tier.
          type: string
          example: Example
          nullable: true
        current_tier_name:
          description: Current tier name.
          type: string
          example: Example
          nullable: true
        allowance:
          description: Included active schedule allowance.
          type: integer
          example: 42
          nullable: true
        quota:
          description: Feature quota if any.
          type: integer
          example: 42
          nullable: true
        upgrade:
          properties:
            cta:
              description: Upgrade action.
              type: string
              example: book_a_demo
          type: object
      type: object
    NotFoundResponse:
      title: NotFoundResponse
      description: >-
        Returned with HTTP 404 when a resource lookup misses (typically because
        the id doesn't exist OR is scoped to a different `client_id`). Note:
        many endpoints intentionally collapse 'not found' and 'forbidden' into a
        single 404 to avoid leaking which records exist in another tenant.
      required:
        - message
      properties:
        message:
          description: >-
            Human-readable message. Often a more specific string like `Donor not
            found` or `Trip not found`.
          type: string
          example: Not Found
        status:
          type: string
          example: error
      type: object
    RequestRejection:
      description: >-
        Request or workflow rejection. Framework field-validation failures
        contain errors; semantic rejections may contain message without errors;
        legacy/provider failures may use error and error_code. The operation
        description identifies the rejected condition. Domain responses may add
        current revision, limits or other conflict context.
      anyOf:
        - $ref: '#/components/schemas/ValidationErrorResponse'
        - $ref: '#/components/schemas/ErrorResponse'
        - required:
            - error
          properties:
            error:
              description: Legacy or provider-facing error message.
              type: string
              example: The request could not be completed.
            error_code:
              description: Stable domain error code, when provided.
              type: string
              example: WORKFLOW_UNAVAILABLE
          type: object
    CrmApiSavedFilterScheduleInput:
      description: >-
        Closed schedule-intent.v1 instant or recurrence. When also providing
        legacy date_time/timezone they must identify the same first UTC
        occurrence. Report scheduling rejects explicit weekdays and
        recommendation/legacy source.
      oneOf:
        - required:
            - kind
            - localDatetime
            - timezone
            - offsetMinutes
            - utcAt
            - source
          properties:
            kind:
              description: One-time schedule.
              type: string
              enum:
                - instant
              example: instant
            localDatetime:
              description: Local wall time to exact seconds.
              type: string
              pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$
              example: '2026-12-01T09:00:00'
            timezone:
              description: Valid IANA timezone, excluding Factory.
              type: string
              maxLength: 64
              example: Africa/Kampala
            offsetMinutes:
              description: UTC offset at this instant; must match timezone and UTC value.
              type: integer
              maximum: 840
              minimum: -840
              example: 180
            utcAt:
              description: >-
                UTC instant to seconds with literal Z, optional fractional
                seconds.
              type: string
              format: date-time
              example: '2026-12-01T06:00:00Z'
            source:
              description: >-
                Report-supported schedule source; recurrence accepts
                calendar/preset.
              type: string
              enum:
                - calendar
                - natural_language
                - preset
              example: calendar
          type: object
          additionalProperties: false
        - required:
            - kind
            - frequency
            - interval
            - localTime
            - timezone
            - startsOn
            - ends
            - dstPolicy
            - source
          properties:
            kind:
              description: Recurring calendar schedule.
              type: string
              enum:
                - recurrence
              example: recurrence
            frequency:
              description: Calendar frequency; explicit weekdays are unsupported.
              type: string
              enum:
                - daily
                - weekly
                - monthly
                - quarterly
                - semiannual
                - annual
              example: daily
            interval:
              description: Exactly one frequency interval.
              type: integer
              enum:
                - 1
              example: 1
            localTime:
              description: Existing local wall time on startsOn.
              type: string
              pattern: ^(?:[01][0-9]|2[0-3]):[0-5][0-9]$
              example: '09:00'
            timezone:
              description: Valid IANA timezone, excluding Factory.
              type: string
              maxLength: 64
              example: Africa/Kampala
            startsOn:
              description: First calendar date; local time must exist in timezone.
              type: string
              format: date
              example: '2026-12-01'
            ends:
              oneOf:
                - required:
                    - mode
                  properties:
                    mode:
                      description: No end date.
                      type: string
                      enum:
                        - never
                      example: never
                  type: object
                  additionalProperties: false
                - required:
                    - mode
                    - date
                  properties:
                    mode:
                      description: End on a calendar date.
                      type: string
                      enum:
                        - 'on'
                      example: 'on'
                    date:
                      description: On or after startsOn.
                      type: string
                      format: date
                      example: '2027-12-01'
                  type: object
                  additionalProperties: false
            dstPolicy:
              required:
                - nonexistent
                - ambiguous
              properties:
                nonexistent:
                  description: Skip missing future local-time occurrences.
                  type: string
                  enum:
                    - skip_occurrence
                  example: skip_occurrence
                ambiguous:
                  description: Choose repeated-clock occurrence.
                  type: string
                  enum:
                    - first_occurrence
                    - second_occurrence
                  example: first_occurrence
              type: object
              additionalProperties: false
            source:
              description: Recurrence source.
              type: string
              enum:
                - calendar
                - preset
              example: calendar
          type: object
          additionalProperties: false
    ValidationErrorResponse:
      title: ValidationErrorResponse
      description: >-
        Returned with HTTP 422 when `Validator::make($data, $rules)` fails. The
        `errors` map is keyed by the failing field name; each value is an array
        of human-readable error messages for that field. Most controllers also
        include a top-level `status: error`.
      required:
        - errors
      properties:
        errors:
          description: >-
            Map of field name to array of validator error messages. Example:
            `{email: [The email field is required.], amount: [The amount must be
            a number.]}`.
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        status:
          description: Always the literal string `error`.
          type: string
          example: error
        message:
          description: >-
            Optional summary message — present on some endpoints, absent on
            others.
          type: string
          example: The given data was invalid.
          nullable: true
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      description: Passport bearer token authentication for legacy admin sessions.
      scheme: bearer
      bearerFormat: JWT
    apiKeyAuth:
      type: apiKey
      description: Gratona API key sent with the compatibility header X-HYS-API-Key.
      name: X-HYS-API-Key
      in: header

````

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