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

# Track a new source

> A source that is already there is woken instead of duplicated: the same person id, company or keyword is the same source. Requires an `Idempotency-Key`.



## OpenAPI

````yaml /openapi.json post /v1/sources
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/sources:
    post:
      tags:
        - Sources
      summary: Track a new source
      description: >-
        A source that is already there is woken instead of duplicated: the same
        person id, company or keyword is the same source. Requires an
        `Idempotency-Key`.
      parameters:
        - 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: true
          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:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SourceCreate'
      responses:
        '201':
          description: The source.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Source'
                required:
                  - data
        '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'
components:
  schemas:
    SourceCreate:
      type: object
      properties:
        type:
          type: string
          enum:
            - person
            - company
            - keyword
        display_name:
          type: string
          minLength: 1
          maxLength: 200
        person_id:
          type: string
          minLength: 1
          example: ACoAA…
        company_id:
          type: string
          minLength: 1
        keyword_query:
          type: string
          minLength: 1
          maxLength: 200
        source_kind:
          type: string
          enum:
            - team
            - competitor
            - influencer
            - market
        label:
          type: string
          minLength: 1
          maxLength: 200
          description: The workspace's own word for this source. Free text.
      required:
        - type
        - display_name
      additionalProperties: false
    Source:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - person
            - company
            - keyword
        person_id:
          type: string
          nullable: true
        company_id:
          type: string
          nullable: true
        display_name:
          type: string
        profile_url:
          type: string
          nullable: true
        source_kind:
          type: string
          nullable: true
          enum:
            - team
            - competitor
            - influencer
            - market
            - null
        label:
          type: string
          nullable: true
        status:
          type: string
          enum:
            - suggested
            - active
            - paused
            - removed
        tracked_since:
          type: string
      required:
        - id
        - type
        - person_id
        - company_id
        - display_name
        - profile_url
        - source_kind
        - label
        - status
        - tracked_since
      additionalProperties: false
    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.