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

# List custom preset filters

> Return saved ticket search filters visible to the caller. Integration tokens receive organization-shared filters only.



## OpenAPI

````yaml https://api.initdesk.com/schema.yaml get /organizations/{organization_id}/custom-preset-filters/
openapi: 3.0.3
info:
  title: initdesk Customer API
  version: 1.32.0
  description: OpenAPI documentation for the customer-facing API served by the gateway.
servers:
  - url: https://api.initdesk.com
    description: Customer API gateway
security:
  - IntegrationToken: []
tags:
  - name: Organizations
    description: Organization metadata and context for all other resources.
  - name: Customers
    description: >-
      End users (requesters) scoped to the organization. Tickets reference
      customers by ID.
  - name: Tickets
    description: >-
      Tickets, messages, attachments, search, and statuses. A ticket is the
      conversation container; messages are nested under
      `/tickets/{pk}/messages/`.


      **Attachments (two-phase upload):** upload the file first (multipart field
      `file_upload`), then pass the returned `id` values as `attachment_ids`
      when creating a ticket or message.

      - New ticket: `POST
      /organizations/{organization_id}/pending-attachments/`, then `POST
      /organizations/{organization_id}/tickets/` with `attachment_ids`.

      - Reply on an existing ticket: `POST
      /organizations/{organization_id}/tickets/{ticket_id}/attachments/`, then
      `POST .../messages/` with `attachment_ids`.

      Max size is 50 MB. Large or slow uploads may hit the public gateway
      timeout (30s). Unused temporary uploads are deleted automatically (default
      ~24 hours); there is no public delete endpoint. Content types `text/html*`
      and `image/svg+xml` are rejected.
  - name: Custom Preset Filters
    description: >-
      Saved ticket search filters scoped to the organization. Integration tokens
      receive organization-shared filters only.
  - name: Inboxes
    description: >-
      Organization mailboxes for routing tickets. Each inbox has an email prefix
      and optional default-inbox flag (is_default: true). On ticket create,
      inbox_id is optional: omit to use the default inbox, or provide an inbox
      ID to target a specific mailbox.
  - name: Tags
    description: Organization-scoped ticket tags with id, name, and optional color.
  - name: Help Center
    description: >-
      Support portal settings, knowledge base collections, articles, and article
      search.
paths:
  /organizations/{organization_id}/custom-preset-filters/:
    get:
      tags:
        - Custom Preset Filters
      summary: List custom preset filters
      description: >-
        Return saved ticket search filters visible to the caller. Integration
        tokens receive organization-shared filters only.
      operationId: list_custom_preset_filters
      parameters:
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - name: page_size
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - in: path
          name: organization_id
          schema:
            type: string
            pattern: ^[-a-zA-Z0-9_]+$
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomPresetFilterList'
          description: ''
      security:
        - IntegrationToken: []
components:
  schemas:
    PaginatedCustomPresetFilterList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/CustomPresetFilter'
    CustomPresetFilter:
      type: object
      description: >-
        Serializer for creating and updating custom preset filters.


        Seeded defaults may carry an internal ``key`` (never exposed here). When

        ``key`` is set, ``name`` in the response is translated via gettext for
        the

        request locale. Providing ``name`` on update clears ``key`` so the
        stored

        name becomes user-owned data (translate-until-renamed).
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 255
        position:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: >-
            Display order within the visibility band (lower first). Personal and
            organization-shared filters are ordered in separate bands.
        display_count:
          type: boolean
          description: Whether the inbox UI should show a ticket count for this filter.
        visibility:
          enum:
            - personal
            - organization_shared
          type: string
          description: |-
            * `personal` - Personal
            * `organization_shared` - Organization shared
          x-spec-enum-id: 728c506dc785294d
        criteria:
          $ref: '#/components/schemas/CustomPresetFilterCriteria'
        created_by:
          allOf:
            - $ref: '#/components/schemas/CustomPresetFilterCreatedBy'
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
      required:
        - created_at
        - created_by
        - criteria
        - id
        - name
        - updated_at
    CustomPresetFilterCriteria:
      type: object
      description: Structured ticket search criteria for custom preset filters.
      properties:
        tags_include:
          type: array
          items:
            type: string
        tags_exclude:
          type: array
          items:
            type: string
        assignee_ids:
          type: array
          items:
            oneOf:
              - type: integer
              - type: string
                enum:
                  - me
                  - unassigned
        statuses:
          type: array
          items:
            enum:
              - created
              - active
              - closed
            type: string
            description: |-
              * `created` - Created
              * `active` - Active
              * `closed` - Closed
            x-spec-enum-id: 786352f031cd9dcc
        waiting_on:
          type: array
          items:
            enum:
              - ''
              - customer
              - associate
            type: string
            description: |-
              * `` - (none)
              * `customer` - Customer
              * `associate` - Associate
            x-spec-enum-id: 1b01ac3e125d3656
        inbox_ids:
          type: array
          items:
            type: integer
        channels:
          type: array
          items:
            enum:
              - email
              - telegram
              - whatsapp
            type: string
            description: |-
              * `email` - Email
              * `telegram` - Telegram
              * `whatsapp` - WhatsApp
            x-spec-enum-id: f922a1c503c36380
        classifications:
          type: array
          items:
            enum:
              - ''
              - no_response
              - customer_inactivity
              - resolved
              - invalid
              - other
            type: string
            description: |-
              * `` - (pending)
              * `no_response` - No Response
              * `customer_inactivity` - Customer Inactivity
              * `resolved` - Resolved
              * `invalid` - Invalid
              * `other` - Other
            x-spec-enum-id: 4fafa904badf8649
        is_snoozed:
          type: boolean
    CustomPresetFilterCreatedBy:
      type: object
      description: Read-only creator summary for custom preset filter responses.
      properties:
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
          title: Email address
        name:
          type: string
          readOnly: true
          title: Name of User
      required:
        - email
        - id
        - name
  securitySchemes:
    IntegrationToken:
      type: apiKey
      in: header
      name: X-Initdesk-Token

````