> ## 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.

# Change a view

> Saves a named list of people or companies in Ziplined: a view, by filter or by hand. Creates a saved view, or changes the name, icon or filter of an existing one (pass view). A filter view updates itself: whoever matches the filter is in it. A hand_picked view is a list you fill with add_to_view, or at once with person_ids. The view appears in the Ziplined sidebar at once. A filter change on a view with an active sync gives its syncs a new baseline. Then the people who enter because of the change do not go out. So that first call returns a summary and a confirm_id. Call again with the same arguments plus confirm_id.

Use when: To keep a search as a named list, or to change one. A new filter replaces the old one, so start a change from get_view.

Do not use for: Putting people in a hand-picked view (use add_to_view instead), or sending them somewhere (use save_sync or send_people instead).

Example: {"name":"Warm leads NL","filter":{"status":["lead"],"country":["NL"]}}



## OpenAPI

````yaml /openapi.json patch /v1/views/{id}
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/views/{id}:
    patch:
      tags:
        - Views
      summary: Change a view
      description: >-
        Saves a named list of people or companies in Ziplined: a view, by filter
        or by hand. Creates a saved view, or changes the name, icon or filter of
        an existing one (pass view). A filter view updates itself: whoever
        matches the filter is in it. A hand_picked view is a list you fill with
        add_to_view, or at once with person_ids. The view appears in the
        Ziplined sidebar at once. A filter change on a view with an active sync
        gives its syncs a new baseline. Then the people who enter because of the
        change do not go out. So that first call returns a summary and a
        confirm_id. Call again with the same arguments plus confirm_id.


        Use when: To keep a search as a named list, or to change one. A new
        filter replaces the old one, so start a change from get_view.


        Do not use for: Putting people in a hand-picked view (use add_to_view
        instead), or sending them somewhere (use save_sync or send_people
        instead).


        Example: {"name":"Warm leads
        NL","filter":{"status":["lead"],"country":["NL"]}}
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 200
            description: >-
              The view to change, by name or id from list_views. Leave it out to
              make a new one. A People view and a Companies view can share a
              name; then add the subject, as in "Your audience (companies)".
          required: false
          description: >-
            The view to change, by name or id from list_views. Leave it out to
            make a new one. A People view and a Companies view can share a name;
            then add the subject, as in "Your audience (companies)".
          name: id
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 255
            description: >-
              Any client-chosen key, a uuid for example. Sending the same
              request twice with the same key has one effect and returns the
              same response twice; the same key with a different body returns
              409.
            example: 3f1b2c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d
          required: false
          description: >-
            Any client-chosen key, a uuid for example. Sending the same request
            twice with the same key has one effect and returns the same response
            twice; the same key with a different body returns 409.
          name: idempotency-key
          in: header
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
                  description: The name of the view in the sidebar. A new view needs it.
                kind:
                  type: string
                  enum:
                    - filter
                    - hand_picked
                  description: >-
                    New views only. filter keeps itself up to date: whoever
                    matches is in it. hand_picked is a list you fill. Left out:
                    filter when you give a filter, else hand_picked.
                filter:
                  type: object
                  properties:
                    status:
                      type: array
                      items:
                        type: string
                        enum:
                          - lead
                          - undecided
                          - not_a_lead
                          - not_my_icp
                          - peer
                          - customer
                      minItems: 1
                      description: >-
                        lead, undecided, not_a_lead, or one not-a-fit reason.
                        not_a_lead is all three reasons.
                    country:
                      type: array
                      items:
                        type: string
                      minItems: 1
                      description: Two-letter ISO country codes, for example NL.
                    warmth:
                      type: array
                      items:
                        type: string
                        enum:
                          - hot
                          - warm
                          - cool
                          - cold
                      minItems: 1
                    seniority:
                      type: array
                      items:
                        type: string
                        enum:
                          - C-Level
                          - Founder
                          - Owner
                          - VP
                          - Director
                          - Manager
                          - Senior
                          - Entry Level
                      minItems: 1
                      description: >-
                        Seniority words from the valid_values of
                        get_filter_options, for example Director or C-Level.
                    connection_degree:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      description: 1st, 2nd or 3rd.
                    industry:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      description: >-
                        Industry names exactly as the valid_values of
                        get_filter_options list them, for example Software
                        Development.
                    is_premium:
                      type: boolean
                    is_verified:
                      type: boolean
                    min_followers:
                      type: integer
                      minimum: 0
                    min_connections:
                      type: integer
                      minimum: 0
                    first_engaged_since:
                      type: string
                      pattern: ^\d{4}-\d{2}-\d{2}$
                      description: >-
                        Whose very first engagement is on or after this UTC day.
                        Not "active lately": for that use an activity row such
                        as has:any:any:30d:min1.
                    first_engaged_until:
                      type: string
                      pattern: ^\d{4}-\d{2}-\d{2}$
                    first_reacted_since:
                      type: string
                      pattern: ^\d{4}-\d{2}-\d{2}$
                    company:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      description: Company ids, from search_companies.
                    job_title:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      description: >-
                        Words their job title or headline contains, any case,
                        for example founder or head of sales. Several is an OR.
                    company_size_min:
                      type: integer
                      minimum: 0
                      description: Their company has at least this many employees.
                    company_size_max:
                      type: integer
                      minimum: 0
                      description: Their company has at most this many employees.
                    post:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      description: >-
                        Post ids from list_posts (the team's, or a tracked
                        source's with source), or LinkedIn post URLs. Matches
                        who engaged with one of them.
                    trend:
                      type: array
                      items:
                        type: string
                        enum:
                          - new
                          - returning
                          - gone_quiet
                          - one_off
                      minItems: 1
                    has_email:
                      type: boolean
                    has_phone:
                      type: boolean
                    sent:
                      type: boolean
                      description: >-
                        Delivered to any destination before, by any sync or
                        send_people. Use sent: false on a view you sync to an
                        outreach tool, so nobody gets two sequences. A person
                        the view's own sync sends then leaves that view, which
                        is harmless for a once sync. An alert does not count as
                        a send.
                    in_view:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      description: >-
                        Hand-picked views they are in, by id or name from
                        list_views.
                    not_in_view:
                      type: array
                      items:
                        type: string
                        minLength: 1
                      minItems: 1
                      description: >-
                        Hand-picked views they are not in, by id or name from
                        list_views.
                    activity:
                      type: array
                      items:
                        type: string
                      minItems: 1
                      description: >-
                        Activity rows, all must hold:
                        polarity:verbs:who:within:count, see get_filter_options.
                        who takes any, team (posts of the team), competitors,
                        market or source ids from list_sources. Example:
                        has:like,comment:competitors:7d:min1 is a like or
                        comment on a competitor post in the last 7 days.
                        Example: has:like:team:30d:min1 is a like on a team post
                        in the last 30 days. Example:
                        not:message_sent:any:ever:min1 means that nobody on the
                        team ever sent them a message.
                  additionalProperties: false
                  description: >-
                    The filter in the words of get_filter_options. On a change
                    it replaces the whole filter, so start from get_view.
                icon:
                  type: string
                  nullable: true
                  pattern: ^[a-z0-9-]{1,40}$
                  description: An icon key such as star or flame; null clears it.
                person_ids:
                  type: array
                  items:
                    type: string
                    pattern: ^\S{1,200}$
                  minItems: 1
                  maxItems: 500
                  description: 'New hand-picked views only: people to put in it right away.'
                confirm_id:
                  type: string
                  description: >-
                    The confirm_id of a needs_confirmation answer: commits what
                    that answer summarised.
      responses:
        '200':
          description: >-
            The result, or without confirm_id first a needs_confirmation answer:
            nothing happened yet.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      view:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          resource:
                            type: string
                            enum:
                              - people
                              - companies
                              - content
                            description: What this view lists.
                          kind:
                            type: string
                            enum:
                              - filter
                              - hand_picked
                            description: >-
                              filter updates itself: whoever matches is in it.
                              hand_picked holds the people somebody put in it.
                          icon:
                            type: string
                            nullable: true
                          member_count:
                            type: integer
                            nullable: true
                            description: >-
                              Hand-picked only: how many people the list shows,
                              the count next to the view in the app. Like the
                              list, it leaves out people marked not a fit (any
                              reason) and erased people. It also leaves out the
                              people that the "Always left out" rules leave out.
                          system_key:
                            type: string
                            nullable: true
                            enum:
                              - your_audience_people
                              - competitors_people
                              - experts_people
                              - your_audience_companies
                              - competitors_companies
                              - experts_companies
                              - your_posts
                              - competitors_posts
                              - experts_posts
                              - null
                            description: Which built-in view this is, or null.
                          sync_setup_url:
                            type: string
                            nullable: true
                            description: >-
                              Opens sync setup for this People view in the app.
                              Never starts a sync.
                          sync_setup_urls:
                            type: object
                            nullable: true
                            properties:
                              clay:
                                type: string
                              sheets:
                                type: string
                            required:
                              - clay
                              - sheets
                          created_at:
                            type: string
                          last_used_at:
                            type: string
                            nullable: true
                          filter:
                            type: object
                            nullable: true
                            properties:
                              status:
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - lead
                                    - undecided
                                    - not_a_lead
                                    - not_my_icp
                                    - peer
                                    - customer
                                minItems: 1
                                description: >-
                                  lead, undecided, not_a_lead, or one not-a-fit
                                  reason. not_a_lead is all three reasons.
                              country:
                                type: array
                                items:
                                  type: string
                                minItems: 1
                                description: Two-letter ISO country codes, for example NL.
                              warmth:
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - hot
                                    - warm
                                    - cool
                                    - cold
                                minItems: 1
                              seniority:
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - C-Level
                                    - Founder
                                    - Owner
                                    - VP
                                    - Director
                                    - Manager
                                    - Senior
                                    - Entry Level
                                minItems: 1
                                description: >-
                                  Seniority words from the valid_values of
                                  get_filter_options, for example Director or
                                  C-Level.
                              connection_degree:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                description: 1st, 2nd or 3rd.
                              industry:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                description: >-
                                  Industry names exactly as the valid_values of
                                  get_filter_options list them, for example
                                  Software Development.
                              is_premium:
                                type: boolean
                              is_verified:
                                type: boolean
                              min_followers:
                                type: integer
                                minimum: 0
                              min_connections:
                                type: integer
                                minimum: 0
                              first_engaged_since:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                                description: >-
                                  Whose very first engagement is on or after
                                  this UTC day. Not "active lately": for that
                                  use an activity row such as
                                  has:any:any:30d:min1.
                              first_engaged_until:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                              first_reacted_since:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                              company:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                description: Company ids, from search_companies.
                              job_title:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                description: >-
                                  Words their job title or headline contains,
                                  any case, for example founder or head of
                                  sales. Several is an OR.
                              company_size_min:
                                type: integer
                                minimum: 0
                                description: >-
                                  Their company has at least this many
                                  employees.
                              company_size_max:
                                type: integer
                                minimum: 0
                                description: Their company has at most this many employees.
                              post:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                description: >-
                                  Post ids from list_posts (the team's, or a
                                  tracked source's with source), or LinkedIn
                                  post URLs. Matches who engaged with one of
                                  them.
                              trend:
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - new
                                    - returning
                                    - gone_quiet
                                    - one_off
                                minItems: 1
                              has_email:
                                type: boolean
                              has_phone:
                                type: boolean
                              sent:
                                type: boolean
                                description: >-
                                  Delivered to any destination before, by any
                                  sync or send_people. Use sent: false on a view
                                  you sync to an outreach tool, so nobody gets
                                  two sequences. A person the view's own sync
                                  sends then leaves that view, which is harmless
                                  for a once sync. An alert does not count as a
                                  send.
                              in_view:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                description: >-
                                  Hand-picked views they are in, by id or name
                                  from list_views.
                              not_in_view:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                minItems: 1
                                description: >-
                                  Hand-picked views they are not in, by id or
                                  name from list_views.
                              activity:
                                type: array
                                items:
                                  type: string
                                minItems: 1
                                description: >-
                                  Activity rows, all must hold:
                                  polarity:verbs:who:within:count, see
                                  get_filter_options. who takes any, team (posts
                                  of the team), competitors, market or source
                                  ids from list_sources. Example:
                                  has:like,comment:competitors:7d:min1 is a like
                                  or comment on a competitor post in the last 7
                                  days. Example: has:like:team:30d:min1 is a
                                  like on a team post in the last 30 days.
                                  Example: not:message_sent:any:ever:min1 means
                                  that nobody on the team ever sent them a
                                  message.
                            additionalProperties: false
                            description: >-
                              A People filter in the words of
                              get_filter_options. Several fields are an AND,
                              several values an OR.
                        required:
                          - id
                          - name
                          - resource
                          - kind
                          - icon
                          - member_count
                          - system_key
                          - sync_setup_url
                          - sync_setup_urls
                          - created_at
                          - last_used_at
                          - filter
                      effects:
                        type: array
                        items:
                          type: string
                        description: >-
                          What this change does to the syncs of the view. Tell
                          the user.
                      app_url:
                        type: string
                    required:
                      - view
                      - app_url
                  - $ref: '#/components/schemas/Confirmation'
        '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'
        '402':
          description: Not included in this plan, or a usage cap was exceeded.
          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'
        '404':
          description: No such record, or it does not belong to this workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            The same `Idempotency-Key` was used for a different request, or that
            request is still in flight.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Confirmation:
      type: object
      properties:
        needs_confirmation:
          type: boolean
          enum:
            - true
        message:
          type: string
          description: >-
            Nothing changed yet. Ask the user, then send the same request with
            confirm_id.
        confirm_id:
          type: string
          description: Send it back with the same request to commit. Valid for 10 minutes.
        summary:
          nullable: true
          description: What the commit will do, to show the user before confirming.
        cost:
          type: object
          properties:
            estimate:
              type: number
            ceiling:
              type: number
          required:
            - estimate
            - ceiling
          description: >-
            Credits: estimate is what the commit is expected to spend. ceiling
            is 0: no ceiling is stored, and later spend stops when the balance
            reaches 0.
        expires_at:
          type: string
          description: ISO instant. After it, confirm_id is refused as confirm_stale.
      required:
        - needs_confirmation
        - message
        - confirm_id
        - cost
        - expires_at
    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.