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

# The people in this workspace

> The workspace comes from the credential, never from a parameter. Paging goes with `limit` and `next_cursor`; `total` says how many match the filters. Contact details are only present when the credential carries the `contacts` scope: if `email` is absent, never invent one.



## OpenAPI

````yaml /openapi.json get /v1/people
openapi: 3.1.0
info:
  title: Ziplined API
  version: 1.0.0
  description: >-
    LinkedIn engagement data about people, companies and posts. The workspace
    comes from the credential; lists page with `limit` and `next_cursor`.
servers:
  - url: https://api.ziplined.io
    description: Production
security: []
tags:
  - name: People
    description: The people in your workspace, and what you sent them.
  - name: Companies
    description: The companies those people work at.
  - name: Posts
    description: Your own posts and their numbers.
  - name: Engagements
    description: One act by one person on one post.
  - name: Insights
    description: Period against period, and the series behind it.
  - name: Audiences
    description: Named lists of people, and their membership.
  - name: Sources
    description: What your radar collects from.
  - name: Integrations
    description: Webhook and Slack destinations, and routing rules.
paths:
  /v1/people:
    get:
      tags:
        - People
      summary: The people in this workspace
      description: >-
        The workspace comes from the credential, never from a parameter. Paging
        goes with `limit` and `next_cursor`; `total` says how many match the
        filters. Contact details are only present when the credential carries
        the `contacts` scope: if `email` is absent, never invent one.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
            description: How many rows to return. Maximum 200.
          required: false
          description: How many rows to return. Maximum 200.
          name: limit
          in: query
        - schema:
            type: string
            description: 'The `next_cursor` from the previous page. Opaque: do not parse it.'
          required: false
          description: 'The `next_cursor` from the previous page. Opaque: do not parse it.'
          name: cursor
          in: query
        - schema:
            type: string
            minLength: 1
            description: >-
              Searches name, headline, job title, company, location and
              industry. A pasted LinkedIn profile URL or a bare public
              identifier matches that person directly.
          required: false
          description: >-
            Searches name, headline, job title, company, location and industry.
            A pasted LinkedIn profile URL or a bare public identifier matches
            that person directly.
          name: search
          in: query
        - schema:
            type: string
            minLength: 1
            description: >-
              Only people who left a comment containing this text on content
              this workspace tracks.
          required: false
          description: >-
            Only people who left a comment containing this text on content this
            workspace tracks.
          name: comment_contains
          in: query
        - schema:
            type: string
            description: Only these countries.
            example: NL,BE
          required: false
          description: Only these countries.
          name: country
          in: query
        - schema:
            type: string
            description: Only these seniority levels.
            example: NL,BE
          required: false
          description: Only these seniority levels.
          name: seniority
          in: query
        - schema:
            type: string
            description: Only these industries.
            example: NL,BE
          required: false
          description: Only these industries.
          name: industry
          in: query
        - schema:
            type: string
            description: 'Only these connection degrees: 1st, 2nd, 3rd.'
            example: NL,BE
          required: false
          description: 'Only these connection degrees: 1st, 2nd, 3rd.'
          name: connection_degree
          in: query
        - schema:
            type: string
            description: 'Only people who did this: like, comment, share.'
            example: NL,BE
          required: false
          description: 'Only people who did this: like, comment, share.'
          name: engagement_type
          in: query
        - schema:
            type: string
            description: Only these stages.
            example: lead
          required: false
          description: Only these stages.
          name: stage
          in: query
        - schema:
            type: string
            description: Only people at these companies.
            example: NL,BE
          required: false
          description: Only people at these companies.
          name: company_id
          in: query
        - schema:
            type: integer
            description: At least this fit score.
          required: false
          description: At least this fit score.
          name: min_fit
          in: query
        - schema:
            type: integer
            description: At most this fit score.
          required: false
          description: At most this fit score.
          name: max_fit
          in: query
        - schema:
            type: integer
            description: At least this many followers.
          required: false
          description: At least this many followers.
          name: min_followers
          in: query
        - schema:
            type: integer
            description: At least this many connections.
          required: false
          description: At least this many connections.
          name: min_connections
          in: query
        - schema:
            type: integer
            description: 'Approached at most this many times. `0` is: never yet.'
          required: false
          description: 'Approached at most this many times. `0` is: never yet.'
          name: max_outreach_count
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            description: Only people who did something on this day or later.
            example: '2026-09-01'
          required: false
          description: Only people who did something on this day or later.
          name: engaged_since
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            description: Only people whose first engagement falls after this.
            example: '2026-09-01'
          required: false
          description: Only people whose first engagement falls after this.
          name: first_engaged_since
          in: query
        - schema:
            type: boolean
            description: Whether they ever engaged with our own material.
          required: false
          description: Whether they ever engaged with our own material.
          name: has_self_signal
          in: query
        - schema:
            type: boolean
            description: Whether their profile is enriched.
          required: false
          description: Whether their profile is enriched.
          name: is_enriched
          in: query
        - schema:
            type: boolean
            description: Whether they are linked to a company.
          required: false
          description: Whether they are linked to a company.
          name: has_company
          in: query
        - schema:
            type: string
            enum:
              - best
              - fit
              - recent
              - most_engaged
              - warmth
            description: Descending.
          required: false
          description: Descending.
          name: sort
          in: query
      responses:
        '200':
          description: A page of people.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Person'
                  next_cursor:
                    type: string
                    nullable: true
                  total:
                    type: integer
                required:
                  - data
                  - next_cursor
                  - total
        '400':
          description: A filter value is invalid, or this resource has no such filter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Wrong workspace, or the credential lacks the required scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Person:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          nullable: true
        headline:
          type: string
          nullable: true
        job_title:
          type: string
          nullable: true
        company:
          type: string
          nullable: true
        company_id:
          type: string
          nullable: true
        location:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        seniority:
          type: string
          nullable: true
        industry:
          type: string
          nullable: true
        linkedin_url:
          type: string
          nullable: true
        follower_count:
          type: number
          nullable: true
        connection_count:
          type: number
          nullable: true
        stage:
          type: string
          nullable: true
          enum:
            - lead
            - customer
            - peer
            - watchlist
            - disqualified
            - null
        connection_degree:
          type: string
          nullable: true
          example: 2nd
        fit:
          type: object
          properties:
            score:
              type: number
            tier:
              type: string
              nullable: true
          required:
            - score
            - tier
        warmth:
          type: object
          properties:
            score:
              type: number
            tier:
              type: string
              nullable: true
          required:
            - score
            - tier
        first_engaged_at:
          type: string
          nullable: true
        last_engaged_at:
          type: string
          nullable: true
        last_engaged_type:
          type: string
          nullable: true
        engagements_total:
          type: number
        engagements_30d:
          type: number
        outreach_count:
          type: number
          description: How often we reached out, across all channels.
        last_outreach_at:
          type: string
          nullable: true
        notes:
          type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
        company_industry:
          type: string
          nullable: true
        company_size:
          type: object
          properties:
            min:
              type: number
              nullable: true
            max:
              type: number
              nullable: true
          required:
            - min
            - max
        email:
          type: string
          nullable: true
        email_status:
          type: string
          nullable: true
          enum:
            - pending
            - found
            - not_found
            - null
          description: >-
            Whether the address was found, is still being looked up, or does not
            exist.
        phone:
          type: string
          nullable: true
        phone_status:
          type: string
          nullable: true
          enum:
            - pending
            - found
            - not_found
            - null
      required:
        - id
        - name
        - headline
        - job_title
        - company
        - company_id
        - location
        - country
        - seniority
        - industry
        - linkedin_url
        - follower_count
        - connection_count
        - stage
        - connection_degree
        - fit
        - warmth
        - first_engaged_at
        - last_engaged_at
        - last_engaged_type
        - engagements_total
        - engagements_30d
        - outreach_count
        - last_outreach_at
        - notes
        - tags
        - company_industry
        - company_size
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
      required:
        - error

````

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