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

# Get one LinkedIn prospect

> Shows where one person is in a LinkedIn sequence: invited, connected, messaged, replied or skipped, and why.

Permission: `campaigns:read`



## OpenAPI

````yaml openapi/emailx.en.json GET /workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/prospects/{prospect_id}
openapi: 3.0.3
info:
  title: Emailx API
  version: 1.0.0-beta
  description: >-
    Customer and agency integrations for Emailx. Beta access is operator-issued.
    The v1 beta supports bounded People CSV/XLSX imports, saved email-template
    settings, selected email generation with explicit AI-credit confirmation,
    exact-message approval, reviewed email activation for native scheduled
    sending, and explicitly confirmed inbox replies bound to saved context when
    host capabilities permit. Inbox context is bounded and may be incomplete or
    stale; no provider refresh occurs. Manual LinkedIn imports, reviewed
    activation and reviewed resume of paused campaigns are separate gated
    workflows. Reply drafts, knowledge, team, infrastructure quotes with hosted
    checkout and agency administration are covered by separate scopes. Signed
    webhooks report durable operation outcomes. It does not support immediate
    batches or direct card charges.
servers:
  - url: https://app.emailx.ai/api/v1
    description: Emailx application · access must be enabled
security: []
tags:
  - name: Getting started
  - name: Workspaces
  - name: Contacts
  - name: Templates
  - name: Campaigns
  - name: Inbox
  - name: Senders
  - name: Team
  - name: Analytics
  - name: Imports
  - name: Operations
  - name: Knowledge
  - name: Infrastructure
  - name: Agency
paths:
  /workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/prospects/{prospect_id}:
    get:
      tags:
        - Add prospects
      summary: Get one LinkedIn prospect
      description: >-
        Shows where one person is in a LinkedIn sequence: invited, connected,
        messaged, replied or skipped, and why.


        Permission: `campaigns:read`
      operationId: get_api_linkedin_prospect
      parameters:
        - name: workspace_id
          in: path
          required: true
          schema:
            type: integer
            minimum: 1
          description: Emailx workspace (Clients) ID, not the agency workspace link ID.
        - name: campaign_id
          in: path
          required: true
          schema:
            type: integer
            minimum: 1
          description: Resource identifier.
        - name: prospect_id
          in: path
          required: true
          schema:
            type: integer
            minimum: 1
          description: Resource identifier.
      responses:
        '200':
          description: Success
          headers:
            X-Request-Id:
              schema:
                type: string
            Emailx-Api-Version:
              schema:
                type: string
            X-RateLimit-Limit:
              schema:
                type: string
            X-RateLimit-Remaining:
              schema:
                type: string
            X-RateLimit-Reset:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/LinkedinProspectProgress'
                required:
                  - data
              example:
                data:
                  campaign_id: 456
                  prospect:
                    id: 901
                    provider_id: docs_resolved_provider_id
                    linkedin_url: https://www.linkedin.com/in/example-person/
                    first_name: Alex
                    last_name: Rivera
                    headline: null
                    location: null
                    company: Example Studio
                    status: PENDING
                    current_step: 0
                    next_action_due: null
                    invite_sent_at: null
                    connected_at: null
                    last_message_sent_at: null
                    replied_at: null
                    skipped_at: null
                    error_code: null
                    skip_code: null
                    sender_id: 903
        '400':
          description: Request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Invalid, expired or revoked API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient scope or write permission
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource missing or inaccessible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict, concurrent request or uncertain original result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          headers:
            Retry-After:
              schema:
                type: string
              description: Seconds to wait when present.
        '413':
          description: Request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          description: Request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited; respect Retry-After
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          headers:
            Retry-After:
              schema:
                type: string
              description: Seconds to wait when present.
        '500':
          description: Request error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: API disabled, request storage unavailable or feature not enabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          headers:
            Retry-After:
              schema:
                type: string
              description: Seconds to wait when present.
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: cURL
          source: >-
            curl -X GET
            "https://app.emailx.ai/api/v1/workspaces/123/campaigns/linkedin/456/prospects/{prospect_id}"
            \
              -H "Authorization: Bearer $EMAILX_API_KEY"
        - lang: Python
          source: |-
            import os, requests

            response = requests.get(
                "https://app.emailx.ai/api/v1/workspaces/123/campaigns/linkedin/456/prospects/{prospect_id}",
                headers={"Authorization": "Bearer " + os.environ["EMAILX_API_KEY"]},
                timeout=30,
            )
            response.raise_for_status()
            print(response.json())
        - lang: JavaScript
          source: >-
            const response = await
            fetch("https://app.emailx.ai/api/v1/workspaces/123/campaigns/linkedin/456/prospects/{prospect_id}",
            {
              method: "GET",
              headers: { Authorization: `Bearer ${process.env.EMAILX_API_KEY}` },
              signal: AbortSignal.timeout(30000),
            });

            if (!response.ok) throw new Error(`Emailx: ${response.status}`);

            console.log(await response.json());
components:
  schemas:
    LinkedinProspectProgress:
      type: object
      properties:
        campaign_id:
          type: integer
          minimum: 1
        prospect:
          type: object
          properties:
            id:
              type: integer
              minimum: 1
            provider_id:
              type: string
            linkedin_url:
              type: string
              nullable: true
            first_name:
              type: string
              nullable: true
            last_name:
              type: string
              nullable: true
            headline:
              type: string
              nullable: true
            location:
              type: string
              nullable: true
            company:
              type: string
              nullable: true
            status:
              type: string
            current_step:
              type: integer
            next_action_due:
              type: string
              nullable: true
              format: date-time
            invite_sent_at:
              type: string
              nullable: true
              format: date-time
            connected_at:
              type: string
              nullable: true
              format: date-time
            last_message_sent_at:
              type: string
              nullable: true
              format: date-time
            replied_at:
              type: string
              nullable: true
              format: date-time
            skipped_at:
              type: string
              nullable: true
              format: date-time
            error_code:
              type: string
              nullable: true
              maxLength: 80
            skip_code:
              type: string
              nullable: true
              maxLength: 80
            sender_id:
              type: integer
              minimum: 1
              nullable: true
          required:
            - id
            - provider_id
            - linkedin_url
            - first_name
            - last_name
            - headline
            - location
            - company
            - status
            - current_step
            - next_action_due
            - invite_sent_at
            - connected_at
            - last_message_sent_at
            - replied_at
            - skipped_at
            - error_code
            - skip_code
            - sender_id
      required:
        - campaign_id
        - prospect
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
            details:
              type: object
              additionalProperties: true
          required:
            - code
            - message
            - request_id
      required:
        - error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        ex_test_ or ex_live_ key issued by an Emailx operator. Never use
        provider keys or session cookies.

````

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