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

# Get job contacts

> Get all contacts associated with a specific job, with pagination support. Default limit is 100 contacts per page.



## OpenAPI

````yaml /api-reference/openapi.json get /api/public/v2/jobs/{jobId}/contacts
openapi: 3.1.0
info:
  version: 2.0.0
  title: TitanX API
  description: |-
    # TitanX API Documentation

    Welcome to the TitanX API!

    ## Base URL

    ```
    https://app.titanx.io/api/public/v2
    ```

    ## Authentication

    All endpoints require Bearer token authentication:

    ```http
    Authorization: Bearer YOUR_API_KEY
    ```

    ## Response Format

    All endpoints return responses in this consistent format:

    ```json
    {
      "data": { /* Your requested data */ },
      "credits": {
        "creditsCharged": 5,
        "creditsRemaining": 995,
        "costPerPhone": 0.05,
        "phoneCount": 100
      },
      "error": null
    }
    ```
servers:
  - url: https://app.titanx.io
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: v2
    description: ✅ Version 2 API (Current)
    externalDocs:
      description: V2 API Guide
      url: https://docs.titanx.io/api/v2
  - name: v2-contacts
    description: V2 Contact operations - scoring and enrichment with credit tracking
  - name: v2-jobs
    description: V2 Job operations - job management and contact retrieval
  - name: v2-account
    description: V2 Account operations - credits and billing information
  - name: v2-webhooks
    description: >-
      V2 Webhook operations - manage webhook subscriptions for real-time contact
      event notifications
paths:
  /api/public/v2/jobs/{jobId}/contacts:
    get:
      tags:
        - v2
        - v2-jobs
      summary: Get job contacts
      description: >-
        Get all contacts associated with a specific job, with pagination
        support. Default limit is 100 contacts per page.
      parameters:
        - schema:
            type: string
            format: uuid
          required: true
          name: jobId
          in: path
        - schema:
            type: integer
            minimum: 1
            default: 1
          required: false
          name: page
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
          required: false
          name: limit
          in: query
      responses:
        '200':
          description: Successful response with job contacts and pagination
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobContactsResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    V2JobContactsResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ContactsListResponse'
      required:
        - data
    ContactsListResponse:
      type: object
      properties:
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
      required:
        - contacts
        - pagination
    Contact:
      type: object
      properties:
        id:
          type: string
        userId:
          type: string
        jobId:
          type: string
        clientId:
          type: string
        leadId:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phone:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phoneStatus:
          type: string
          enum:
            - p1
            - p1 - h
            - p1 - ivr
            - p1 - dnc
            - p1 - sf
            - p2
            - p2 - h
            - p2 - ivr
            - p2 - sf
            - p3
            - p3 - h
            - p3 - ivr
            - p3 - sf
            - na
            - na - h
            - na - ivr
            - na - auth
            - na - dnc
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phoneType:
          type: string
          enum:
            - mobile
            - direct
            - hq
            - other
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phoneCountry:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phoneRegion:
          type:
            - string
            - 'null'
          enum:
            - US
            - EMEA
            - APAC
            - null
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone2:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone2Status:
          type: string
          enum:
            - p1
            - p1 - h
            - p1 - ivr
            - p1 - dnc
            - p1 - sf
            - p2
            - p2 - h
            - p2 - ivr
            - p2 - sf
            - p3
            - p3 - h
            - p3 - ivr
            - p3 - sf
            - na
            - na - h
            - na - ivr
            - na - auth
            - na - dnc
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone2Type:
          type: string
          enum:
            - mobile
            - direct
            - hq
            - other
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone2Country:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone2Region:
          type:
            - string
            - 'null'
          enum:
            - US
            - EMEA
            - APAC
            - null
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone3:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone3Status:
          type: string
          enum:
            - p1
            - p1 - h
            - p1 - ivr
            - p1 - dnc
            - p1 - sf
            - p2
            - p2 - h
            - p2 - ivr
            - p2 - sf
            - p3
            - p3 - h
            - p3 - ivr
            - p3 - sf
            - na
            - na - h
            - na - ivr
            - na - auth
            - na - dnc
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone3Type:
          type: string
          enum:
            - mobile
            - direct
            - hq
            - other
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone3Country:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone3Region:
          type:
            - string
            - 'null'
          enum:
            - US
            - EMEA
            - APAC
            - null
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone4:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone4Status:
          type: string
          enum:
            - p1
            - p1 - h
            - p1 - ivr
            - p1 - dnc
            - p1 - sf
            - p2
            - p2 - h
            - p2 - ivr
            - p2 - sf
            - p3
            - p3 - h
            - p3 - ivr
            - p3 - sf
            - na
            - na - h
            - na - ivr
            - na - auth
            - na - dnc
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone4Type:
          type: string
          enum:
            - mobile
            - direct
            - hq
            - other
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone4Country:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone4Region:
          type:
            - string
            - 'null'
          enum:
            - US
            - EMEA
            - APAC
            - null
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone5:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone5Status:
          type: string
          enum:
            - p1
            - p1 - h
            - p1 - ivr
            - p1 - dnc
            - p1 - sf
            - p2
            - p2 - h
            - p2 - ivr
            - p2 - sf
            - p3
            - p3 - h
            - p3 - ivr
            - p3 - sf
            - na
            - na - h
            - na - ivr
            - na - auth
            - na - dnc
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone5Type:
          type: string
          enum:
            - mobile
            - direct
            - hq
            - other
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone5Country:
          type: string
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phone5Region:
          type:
            - string
            - 'null'
          enum:
            - US
            - EMEA
            - APAC
            - null
          deprecated: true
          description: Deprecated — use the `phones[]` array instead.
        phoneExt:
          type: string
        street:
          type: string
        city:
          type: string
        stateProvince:
          type: string
        zipPostalCode:
          type: string
        country:
          type: string
        title:
          type: string
        companyAccount:
          type: string
        website:
          type: string
        linkedInUrl:
          type: string
        companyLinkedInUrl:
          type: string
        persona:
          type: string
        dept:
          type: string
        level:
          type: string
        jobFunction:
          type: string
        timeZone:
          type: string
        companyCountry:
          type: string
        companyState:
          type: string
        companyCity:
          type: string
        companyZip:
          type: string
        companyAddress:
          type: string
        numberOfEmployees:
          type: string
        annualRevenue:
          type: string
        industry:
          type: string
        primarySubIndustry:
          type: string
        sicCodes:
          type: string
        naicsCodes:
          type: string
        technologies:
          type: string
        campaignListName:
          type: string
        recordOwner:
          type: string
        contactCrmId:
          type: string
        accountCrmId:
          type: string
        databaseContactId:
          type: string
        databaseCompanyId:
          type: string
        customerContactId:
          type: string
        leadStatus:
          type: string
          enum:
            - P1
            - P2
            - P3
            - Needs Attention
            - No Numbers Found
            - Uncontacted
        intent:
          type:
            - string
            - 'null'
        bestPhone:
          type:
            - object
            - 'null'
          properties:
            number:
              type: string
            status:
              type: string
              enum:
                - p1
                - p1 - h
                - p1 - ivr
                - p1 - dnc
                - p1 - sf
                - p2
                - p2 - h
                - p2 - ivr
                - p2 - sf
                - p3
                - p3 - h
                - p3 - ivr
                - p3 - sf
                - na
                - na - h
                - na - ivr
                - na - auth
                - na - dnc
          required:
            - number
            - status
        unmappedFields:
          type: object
          additionalProperties: {}
        enrichmentContactId:
          type: string
        createdAt:
          type: string
        updatedAt:
          type: string
        phones:
          type: array
          items:
            type: object
            properties:
              number:
                type:
                  - string
                  - 'null'
              status:
                type:
                  - string
                  - 'null'
              type:
                type:
                  - string
                  - 'null'
              country:
                type:
                  - string
                  - 'null'
              region:
                type:
                  - string
                  - 'null'
              position:
                type: integer
              ivrPath:
                type:
                  - string
                  - 'null'
            required:
              - number
              - status
              - type
              - country
              - position
          description: >-
            Canonical phone representation for this contact — supersedes the
            deprecated flat phone/phone2-5 (and their
            Status/Type/Country/Region) fields. Includes enrichment phones
            beyond the 5-field cap. Enriched phones have type = "TitanX Enriched
            Phone N". position is 1-indexed.
          example:
            - number: '+14155551001'
              status: p1
              type: mobile
              country: US
              region: US
              position: 1
              ivrPath: null
      required:
        - firstName
        - lastName
        - phone
        - companyAccount
        - phones
    PaginationResponse:
      type: object
      properties:
        page:
          type: integer
          minimum: 1
        perPage:
          type: integer
          minimum: 1
        totalCount:
          type: integer
          minimum: 0
        totalPages:
          type: integer
          minimum: 0
        hasNextPage:
          type: boolean
        hasPreviousPage:
          type: boolean
      required:
        - page
        - perPage
        - totalCount
        - totalPages
        - hasNextPage
        - hasPreviousPage
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````