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

# Ingest Market Signals

> Batch ingest standard market signals into the SignalArk pipeline.

Use this endpoint to push batch market signals (news, funding, jobs, tech stack changes) into SignalArk.

### Request Body

Provide an array of `ExternalSignal` objects under the `signals` key. Max 100 signals per batch.

**Required Fields per Signal:**

* `company_name` (string)
* `company_domain` (string) - Critical for account matching.
* `signal_title` (string)
* `signal_source` (enum: `funding`, `job_posting`, `linkedin`, `news`, `review_site`, `tech_install`, `twitter`, `web_visit`, `other`)

**Optional Fields:**

* `detected_at` (ISO 8601 Date)
* `signal_family` (string) - Recommended for accurate classification.
* `description` / `notes` (string)
* Firmographic hints: `industry`, `funding_amount`, `employee_count`, `location`
* `hotness_score` (number)

### Response

The response includes processing statistics, letting you know how many signals were accepted, how many were deduplicated, and how many failed validation.


## OpenAPI

````yaml POST /v1/signals/ingest
openapi: 3.0.0
info:
  title: SignalArk Ingestion API
  version: 1.0.0
  description: >
    API for external partners to ingest market and social signals into the
    SignalArk pipeline.
servers:
  - url: https://www.signalark.app/_api
    description: Production Server
security:
  - ApiKeyAuth: []
paths:
  /v1/signals/ingest:
    post:
      tags:
        - Ingestion
      summary: Ingest Market Signals
      description: >-
        Batch ingest standard market signals. Triggers auto-deduplication, AI
        classification, account matching, and ICP filtering.
      operationId: ingestSignals
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - signals
              properties:
                signals:
                  type: array
                  items:
                    type: object
                    required:
                      - company_name
                      - signal_name
                      - source
                    properties:
                      company_domain:
                        type: string
                      company_name:
                        type: string
                      signal_name:
                        type: string
                      description:
                        type: string
                      source:
                        type: string
                        enum:
                          - funding
                          - job_posting
                          - linkedin
                          - news
                          - review_site
                          - tech_install
                          - twitter
                          - web_visit
                          - other
                      source_url:
                        type: string
                      detected_at:
                        type: string
                        format: date-time
      responses:
        '200':
          description: Ingestion successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  batchId:
                    type: string
                  stats:
                    type: object
                    properties:
                      accepted:
                        type: integer
                      deduplicated:
                        type: integer
                      rejected:
                        type: integer
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Use format `Bearer sak_your_api_key_here`

````