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

# Create List

> Create a list from companies sent as JSON; new companies are resolved in the background.



## OpenAPI

````yaml /api-reference/agent/openapi.json post /companies/lists
openapi: 3.1.0
info:
  title: NewsCatcher Agent API
  description: >-
    Agent runs (events from a query, or news about companies), company lists and
    monitors. Authenticate with your API key in the x-api-key header.
  version: 1.0.0
servers:
  - url: https://api.newscatcherapi.com/agent
    description: Production server
security: []
paths:
  /companies/lists:
    post:
      tags:
        - company lists
      summary: Create List
      description: >-
        Create a list from companies sent as JSON; new companies are resolved in
        the background.
      operationId: create_list_companies_lists_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCompanyListRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyListView'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '413':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Request Entity Too Large
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Too Many Requests
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
      security:
        - ApiKeyAuth: []
components:
  schemas:
    CreateCompanyListRequest:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: 'The list''s name (default: "Companies <date>").'
        list_id:
          anyOf:
            - type: string
            - type: 'null'
          title: List Id
          description: >-
            Your own id for the list: a UUID (e.g. crypto.randomUUID()); left
            out, one is generated. Sending the same id again returns the same
            list.
        companies:
          items:
            $ref: '#/components/schemas/CompanyIn'
          type: array
          minItems: 1
          title: Companies
          description: Companies by domain; repeats are dropped.
      type: object
      required:
        - companies
      title: CreateCompanyListRequest
      description: >-
        Create a list from companies sent as JSON (a file goes to
        `/companies/lists/upload`).
    CompanyListView:
      properties:
        list_id:
          type: string
          format: uuid
          title: List Id
        name:
          type: string
          title: Name
        status:
          type: string
          enum:
            - resolving
            - ready
          title: Status
        count:
          type: integer
          title: Count
        counts:
          additionalProperties:
            type: integer
          type: object
          title: Counts
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
        companies:
          anyOf:
            - items:
                $ref: '#/components/schemas/CompanyListItemView'
              type: array
            - type: 'null'
          title: Companies
        added:
          anyOf:
            - type: integer
            - type: 'null'
          title: Added
        skipped:
          items:
            $ref: '#/components/schemas/SkippedLine'
          type: array
          title: Skipped
        skipped_count:
          type: integer
          title: Skipped Count
          default: 0
      type: object
      required:
        - list_id
        - name
        - status
        - count
      title: CompanyListView
      description: A company list.
    ErrorResponse:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
      type: object
      required:
        - code
        - message
      title: ErrorResponse
      description: 'Every error: a stable code and a message to show the user.'
    CompanyIn:
      properties:
        domain:
          type: string
          title: Domain
          description: The company's website, e.g. stripe.com (a URL works too).
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Optional name; a mismatch with the pinned profile rebuilds it.
      type: object
      required:
        - domain
      title: CompanyIn
      description: A company to follow.
    CompanyListItemView:
      properties:
        domain:
          type: string
          title: Domain
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        identity_status:
          $ref: '#/components/schemas/CompanyStatus'
        error:
          anyOf:
            - type: string
            - type: 'null'
          title: Error
        profile:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Profile
        other_names:
          items:
            type: string
          type: array
          title: Other Names
        corrected:
          type: boolean
          title: Corrected
          default: false
      type: object
      required:
        - domain
        - identity_status
      title: CompanyListItemView
      description: A company in a list, with what the user sees.
    SkippedLine:
      properties:
        line:
          type: integer
          title: Line
        value:
          type: string
          title: Value
        reason:
          type: string
          title: Reason
      type: object
      required:
        - line
        - value
        - reason
      title: SkippedLine
      description: A line of the file that gave no company.
    CompanyStatus:
      type: string
      enum:
        - pending
        - resolving
        - ready
        - not_found
        - failed
      title: CompanyStatus
      description: What the user sees per company.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

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