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

# Contact Filter

> Filter contacts with custom filter options and pagination



## OpenAPI

````yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/application_swagger.json post /api/v1/accounts/{account_id}/contacts/filter
openapi: 3.1.0
info:
  title: Chatwoot
  description: This is the API documentation for Chatwoot server.
  version: 1.1.0
  termsOfService: https://www.chatwoot.com/terms-of-service/
  contact:
    email: hello@chatwoot.com
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.chatwoot.com/
security: []
tags:
  - name: Account AgentBots
    description: Account-specific Agent Bots
  - name: Agents
    description: Agent management APIs
  - name: Canned Responses
    description: Pre-defined responses for common queries
  - name: Contacts
    description: Contact management APIs
  - name: Contact Labels
    description: Manage contact labels
  - name: Conversation Assignments
    description: Manage conversation assignments
  - name: Conversation Labels
    description: Manage conversation labels
  - name: Conversations
    description: Conversation management APIs
  - name: Custom Attributes
    description: Custom fields for contacts and conversations
  - name: Custom Filters
    description: Saved filters for conversations
  - name: Inboxes
    description: Communication channels setup
  - name: Integrations
    description: Third-party integrations
  - name: Labels
    description: Account label management APIs
  - name: Messages
    description: Message management APIs
  - name: Profile
    description: User profile APIs
  - name: Reports
    description: Analytics and reporting APIs
  - name: Teams
    description: Team management APIs
  - name: Webhooks
    description: Event notification webhooks
  - name: Automation Rule
    description: Workflow automation rules
  - name: Help Center
    description: Knowledge base management
paths:
  /api/v1/accounts/{account_id}/contacts/filter:
    post:
      tags:
        - Contacts
      summary: Contact Filter
      description: Filter contacts with custom filter options and pagination
      operationId: contactFilter
      parameters:
        - $ref: '#/components/parameters/account_id'
        - name: page
          in: query
          schema:
            type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: array
                  items:
                    type: object
                    properties:
                      attribute_key:
                        type: string
                        description: filter attribute name
                      filter_operator:
                        type: string
                        description: filter operator name
                        enum:
                          - equal_to
                          - not_equal_to
                          - contains
                          - does_not_contain
                      values:
                        type: array
                        items:
                          type: string
                        description: array of the attribute values to filter
                      query_operator:
                        type: string
                        description: query operator name
                        enum:
                          - AND
                          - OR
                  example:
                    - attribute_key: name
                      filter_operator: equal_to
                      values:
                        - en
                      query_operator: AND
                    - attribute_key: country_code
                      filter_operator: equal_to
                      values:
                        - us
                      query_operator: null
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contacts_list_response'
        '400':
          description: Bad Request Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
      security:
        - userApiKey: []
components:
  parameters:
    account_id:
      in: path
      name: account_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
  schemas:
    contacts_list_response:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/contact_meta'
        payload:
          type: array
          items:
            $ref: '#/components/schemas/contact_list_item'
          description: List of contacts
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    contact_meta:
      type: object
      properties:
        count:
          type: integer
          description: Total number of contacts
        current_page:
          type:
            - string
            - integer
          description: Current page number
    contact_list_item:
      type: object
      properties:
        additional_attributes:
          type: object
          description: The object containing additional attributes related to the contact
          properties:
            city:
              type: string
              description: City of the contact
            country:
              type: string
              description: Country of the contact
            country_code:
              type:
                - string
                - 'null'
              description: Country code of the contact
            created_at_ip:
              type: string
              description: IP address when the contact was created
        availability_status:
          type: string
          description: Availability status of the contact
          enum:
            - online
            - offline
        email:
          type:
            - string
            - 'null'
          description: The email address of the contact
        id:
          type: integer
          description: The ID of the contact
        name:
          type: string
          description: The name of the contact
        phone_number:
          type:
            - string
            - 'null'
          description: The phone number of the contact
        blocked:
          type: boolean
          description: Whether the contact is blocked
        identifier:
          type:
            - string
            - 'null'
          description: The identifier of the contact
        thumbnail:
          type: string
          description: The thumbnail of the contact
        custom_attributes:
          type: object
          description: The custom attributes of the contact
        last_activity_at:
          type:
            - integer
            - 'null'
          description: Timestamp of last activity
        created_at:
          type: integer
          description: Timestamp when contact was created
        contact_inboxes:
          type: array
          description: List of inboxes associated with this contact
          items:
            $ref: '#/components/schemas/contact_inbox'
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
    contact_inbox:
      type: object
      properties:
        source_id:
          type: string
          description: Source identifier for the contact inbox
        inbox:
          type: object
          properties:
            id:
              type: integer
              description: ID of the inbox
            avatar_url:
              type: string
              description: URL for the inbox avatar
            channel_id:
              type: integer
              description: ID of the channel
            name:
              type: string
              description: Name of the inbox
            channel_type:
              type: string
              description: Type of channel
            provider:
              type:
                - string
                - 'null'
              description: Provider of the inbox
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        This token can be obtained by visiting the profile page or via rails
        console. Provides access to  endpoints based on the user permissions
        levels. This token can be saved by an external system when user is
        created via API, to perform activities on behalf of the user.

````