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

# List contact searches

> Every contact search in the account, newest first, each with its current status.



## OpenAPI

````yaml /reference/openapi.yaml get /v2/contact-searches
openapi: 3.1.0
info:
  title: Tamtam Public API
  version: 2.0.0
servers:
  - url: https://api.tamtam.ai/api
security: []
paths:
  /v2/contact-searches:
    get:
      tags:
        - Contact Searches
      summary: List contact searches
      description: >-
        Every contact search in the account, newest first, each with its current
        status.
      operationId: list-contact-searches
      parameters:
        - description: Maximum searches to return
          explode: false
          in: query
          name: limit
          schema:
            default: 25
            description: Maximum searches to return
            format: int64
            maximum: 100
            minimum: 1
            type: integer
        - description: Number of searches to skip
          explode: false
          in: query
          name: offset
          schema:
            default: 0
            description: Number of searches to skip
            format: int64
            minimum: 0
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListContactSearchesOutputBody'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
        - apikeyAuth: []
        - bearerAuth: []
components:
  schemas:
    ListContactSearchesOutputBody:
      additionalProperties: false
      properties:
        contact_searches:
          description: Newest first
          items:
            $ref: '#/components/schemas/ContactSearchDto'
          type:
            - array
            - 'null'
        limit:
          format: int64
          type: integer
        offset:
          format: int64
          type: integer
        total:
          description: >-
            Total searches in the account, so a caller can tell a short page
            from the last one
          format: int64
          type: integer
      required:
        - contact_searches
        - total
        - limit
        - offset
      type: object
    ErrorModel:
      additionalProperties: false
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    ContactSearchDto:
      additionalProperties: false
      properties:
        already_existed:
          description: >-
            Only on a create: true when your idempotency_key matched a
            submission already in flight, so this is that search rather than a
            new one.
          type: boolean
        company_linkedin_ids:
          items:
            type: string
          type:
            - array
            - 'null'
        contacts_list_id:
          description: >-
            The contacts list this search delivers into. This is the id to read
            results with — [List the contacts in a contacts
            list](/api-reference/contacts-lists/list-contacts-list-contacts) —
            and several searches may share one.
          type: string
        created_at:
          format: date-time
          type: string
        created_by_user_email:
          description: >-
            Whatever user_email the submission carried; empty when it carried
            none.
          type: string
        id:
          description: The SEARCH's id. Pass it to the status and stop operations.
          type: string
        name:
          description: >-
            Derived at submit time from the queries and companies, e.g. 'Revenue
            leadership @ Acme, Globex and 3 others'.
          type: string
        queries:
          description: >-
            The queries as submitted, frozen. A persona edited since does not
            change them.
          items:
            $ref: '#/components/schemas/ContactSearchQueryDto'
          type:
            - array
            - 'null'
        status:
          $ref: '#/components/schemas/ContactSearchStatusDto'
      required:
        - id
        - contacts_list_id
        - name
        - created_by_user_email
        - created_at
        - company_linkedin_ids
        - queries
        - status
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    ContactSearchQueryDto:
      additionalProperties: false
      properties:
        canonical_job_titles_excludes_ids:
          items:
            type: string
          type:
            - array
            - 'null'
        canonical_job_titles_includes_ids:
          items:
            type: string
          type:
            - array
            - 'null'
        countries:
          items:
            type: string
          type:
            - array
            - 'null'
        country_excludes:
          items:
            type: string
          type:
            - array
            - 'null'
        include_past_job_titles:
          type: boolean
        job_titles_excludes:
          items:
            type: string
          type:
            - array
            - 'null'
        job_titles_includes:
          items:
            type: string
          type:
            - array
            - 'null'
        keywords:
          type: string
        label:
          type: string
        persona_id:
          description: >-
            The persona this query was expanded from; absent for an inline
            query.
          type: string
        seniority_excludes:
          items:
            type: string
          type:
            - array
            - 'null'
        seniority_includes:
          items:
            type: string
          type:
            - array
            - 'null'
      required:
        - label
        - include_past_job_titles
      type: object
    ContactSearchStatusDto:
      additionalProperties: false
      properties:
        cancelled_jobs:
          description: >-
            Child jobs cancelled by a stop. Non-zero is what makes the phase
            Cancelled.
          format: int64
          type: integer
        companies_searched:
          description: Companies the search actually reached.
          format: int64
          type: integer
        contacts_in_list_count:
          description: >-
            Deduplicated contacts actually in the list. The number to report
            once the search is done.
          format: int64
          type: integer
        done_jobs:
          description: >-
            Child jobs in a terminal state. Poll total_jobs/done_jobs for
            progress.
          format: int64
          type: integer
        empty_reason:
          description: >-
            Why a finished search produced no contacts. Absent while it is
            running and whenever contacts were found.
          type: string
        phase:
          description: >-
            Searching while any child job is outstanding; Done once every one
            has finished; Cancelled when the search was stopped. There is no
            Failed: a search whose provider calls all failed reports Done with
            empty_reason saying so.
          enum:
            - Searching
            - Done
            - Cancelled
          type: string
        skipped_deleted_company_jobs:
          description: >-
            Child searches refused before dispatch because the company's
            LinkedIn page is gone. Never charged.
          format: int64
          type: integer
        total_jobs:
          description: Child jobs across every (query, company) pair.
          format: int64
          type: integer
        total_processed_results:
          description: >-
            Profiles processed so far, double-counting anyone found by more than
            one query. A live progress indicator, not a result count.
          format: int64
          type: integer
      required:
        - phase
        - total_jobs
        - done_jobs
        - total_processed_results
        - contacts_in_list_count
        - companies_searched
        - skipped_deleted_company_jobs
        - cancelled_jobs
      type: object
  securitySchemes:
    apikeyAuth:
      description: Account API key passed in the Authorization header
      in: header
      name: Authorization
      type: apiKey
    bearerAuth:
      description: Bearer JWT obtained via the OAuth 2.1 authorization flow
      scheme: bearer
      type: http

````