> ## 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 ideal client profile

> Shows the user's ideal client profile (ICP): who they sell to, as one sentence and as rules. It returns the include rules (who fits) and the exclude rules (who never fits). A person is a lead when every filled-in part matches and no exclusion hits. is_set is false when nobody saved the ideal client yet. Then nobody is a lead yet.

Use when: The user asks who their ideal client is or what their ICP looks like. Also before save_icp or save_exclusions, which replace the whole set of rules. Also to explain why someone is or is not a lead.

Do not use for: Whether one person is a lead (use get_person instead). The leads themselves (use search_people instead). Who almost fits (use get_almost_leads instead).



## OpenAPI

````yaml /openapi.json get /v1/icp
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 `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: Views
    description: The saved views of the app, and who is in a hand-picked one.
  - name: Audiences
    description: The scored target groups, and their membership.
  - name: ICP
    description: 'Who you sell to: the rules every person is scored against.'
  - name: Sources
    description: What your radar collects from.
  - name: Account
    description: Who is asking, what is set up, and what is next.
  - name: Credits
    description: What is left to spend on sources, and when it resets.
  - name: Integrations
    description: 'Where syncs send people: webhook, email, Slack and app destinations.'
paths:
  /v1/icp:
    get:
      tags:
        - ICP
      summary: The ideal client profile
      description: >-
        Shows the user's ideal client profile (ICP): who they sell to, as one
        sentence and as rules. It returns the include rules (who fits) and the
        exclude rules (who never fits). A person is a lead when every filled-in
        part matches and no exclusion hits. is_set is false when nobody saved
        the ideal client yet. Then nobody is a lead yet.


        Use when: The user asks who their ideal client is or what their ICP
        looks like. Also before save_icp or save_exclusions, which replace the
        whole set of rules. Also to explain why someone is or is not a lead.


        Do not use for: Whether one person is a lead (use get_person instead).
        The leads themselves (use search_people instead). Who almost fits (use
        get_almost_leads instead).
      responses:
        '200':
          description: The result
          content:
            application/json:
              schema:
                type: object
                properties:
                  icp:
                    type: object
                    properties:
                      is_set:
                        type: boolean
                        description: False when this workspace never saved an ICP.
                      sentence:
                        type: string
                        nullable: true
                        description: >-
                          The ICP in one plain sentence, built from the rules
                          below. Null when not set.
                      include:
                        type: object
                        properties:
                          job_titles:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Job-title fragments, case-insensitive, e.g. "head
                              of marketing".
                          seniorities:
                            type: array
                            items:
                              type: string
                              enum:
                                - C-Level
                                - Founder
                                - Owner
                                - VP
                                - Director
                                - Manager
                                - Senior
                                - Entry Level
                            description: Seniority tiers, inferred from the job title.
                          industries:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              LinkedIn industry names, e.g. "Software
                              Development".
                          company_sizes:
                            type: array
                            items:
                              type: object
                              properties:
                                min:
                                  type: integer
                                  minimum: 1
                                max:
                                  type: integer
                                  minimum: 1
                              required:
                                - min
                                - max
                              additionalProperties: false
                              description: >-
                                An inclusive employee-count band, e.g. {min: 11,
                                max: 50}.
                            maxItems: 20
                            description: >-
                              Company size bands. Ziplined scores this only
                              after it enriches a profile.
                          countries:
                            type: array
                            items:
                              type: string
                            maxItems: 250
                            description: ISO 3166-1 alpha-2 country codes, e.g. "NL".
                          bio_keywords:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Fragments searched in job title, headline and
                              About, e.g. "SaaS".
                          skills:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Skill fragments. Ziplined scores this only after
                              it enriches a profile.
                          languages:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Language names, e.g. "Dutch". Ziplined scores this
                              only after it enriches a profile.
                          is_premium:
                            type: boolean
                            description: >-
                              True ranks LinkedIn Premium members higher among
                              the leads. False ignores it.
                          min_followers:
                            type: integer
                            nullable: true
                            minimum: 0
                          min_connections:
                            type: integer
                            nullable: true
                            minimum: 0
                        required:
                          - job_titles
                          - seniorities
                          - industries
                          - company_sizes
                          - countries
                          - bio_keywords
                          - skills
                          - languages
                          - is_premium
                          - min_followers
                          - min_connections
                        additionalProperties: false
                        description: Who fits. An empty list means "any".
                      exclude:
                        type: object
                        properties:
                          job_titles:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Job-title fragments, case-insensitive, e.g. "head
                              of marketing".
                          seniorities:
                            type: array
                            items:
                              type: string
                              enum:
                                - C-Level
                                - Founder
                                - Owner
                                - VP
                                - Director
                                - Manager
                                - Senior
                                - Entry Level
                            description: Seniority tiers, inferred from the job title.
                          industries:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              LinkedIn industry names, e.g. "Software
                              Development".
                          company_sizes:
                            type: array
                            items:
                              type: object
                              properties:
                                min:
                                  type: integer
                                  minimum: 1
                                max:
                                  type: integer
                                  minimum: 1
                              required:
                                - min
                                - max
                              additionalProperties: false
                              description: >-
                                An inclusive employee-count band, e.g. {min: 11,
                                max: 50}.
                            maxItems: 20
                            description: >-
                              Company size bands. Ziplined scores this only
                              after it enriches a profile.
                          countries:
                            type: array
                            items:
                              type: string
                            maxItems: 250
                            description: ISO 3166-1 alpha-2 country codes, e.g. "NL".
                          bio_keywords:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Fragments searched in job title, headline and
                              About, e.g. "SaaS".
                          skills:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Skill fragments. Ziplined scores this only after
                              it enriches a profile.
                          languages:
                            type: array
                            items:
                              type: string
                              minLength: 1
                            maxItems: 200
                            description: >-
                              Language names, e.g. "Dutch". Ziplined scores this
                              only after it enriches a profile.
                        required:
                          - job_titles
                          - seniorities
                          - industries
                          - company_sizes
                          - countries
                          - bio_keywords
                          - skills
                          - languages
                        additionalProperties: false
                        description: Who never fits, whatever else matches.
                    required:
                      - is_set
                      - sentence
                      - include
                      - exclude
                    additionalProperties: false
                required:
                  - icp
        '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'
      security:
        - bearerAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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