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

# Get CSV Enrichment Job

> Retrieve job status, progress, summary counts, and completed results. Polling is free and returns creditsUsed: 0. Results are paginated with cursor and limit.



## OpenAPI

````yaml GET /csv-enrichment/{jobId}
openapi: 3.1.0
info:
  title: CSV Enrichment API
  description: >-
    Submit company lists for enrichment with funding, acquisition, hiring, job
    change, and investor intelligence. Create an asynchronous job, optionally
    wait for small jobs, then retrieve status and paginated results.
  license:
    name: MIT
  version: 2.1.0
servers:
  - url: https://www.trysignalbase.com/api/v2
security:
  - bearerAuth: []
paths:
  /csv-enrichment/{jobId}:
    get:
      summary: Get CSV Enrichment Job
      description: >-
        Retrieve job status, progress, summary counts, and completed results.
        Polling is free and returns creditsUsed: 0. Results are paginated with
        cursor and limit.
      operationId: getCSVEnrichmentJob
      parameters:
        - name: jobId
          in: path
          required: true
          description: Job ID returned by POST /csv-enrichment
          schema:
            type: string
            format: uuid
        - name: cursor
          in: query
          required: false
          description: Pagination cursor returned as data.nextCursor
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Results per page. Defaults to 50, maximum 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
      responses:
        '200':
          description: Job status and results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSVEnrichmentGetResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/SubscriptionExpired'
        '404':
          $ref: '#/components/responses/JobNotFound'
        '410':
          $ref: '#/components/responses/JobExpired'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    CSVEnrichmentGetResponse:
      type: object
      required:
        - success
        - data
        - meta
      properties:
        success:
          type: boolean
          const: true
        data:
          $ref: '#/components/schemas/CSVEnrichmentJob'
        meta:
          $ref: '#/components/schemas/GetMeta'
    CSVEnrichmentJob:
      type: object
      required:
        - jobId
        - status
        - progress
        - submittedAt
        - completedAt
        - summary
        - results
        - nextCursor
      properties:
        jobId:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/CSVEnrichmentStatus'
        progress:
          $ref: '#/components/schemas/Progress'
        submittedAt:
          type: string
          format: date-time
        completedAt:
          type:
            - string
            - 'null'
          format: date-time
        summary:
          $ref: '#/components/schemas/Summary'
        results:
          type: array
          items:
            $ref: '#/components/schemas/EnrichmentResult'
        nextCursor:
          type:
            - string
            - 'null'
        error:
          $ref: '#/components/schemas/JobError'
    GetMeta:
      type: object
      required:
        - endpoint
        - creditsUsed
      properties:
        endpoint:
          type: string
          const: csv.enrichment.get
        creditsUsed:
          type: integer
          const: 0
    ErrorResponse:
      type: object
      required:
        - success
        - error
        - code
      properties:
        success:
          type: boolean
          const: false
        error:
          type: string
        code:
          type: string
          enum:
            - invalid_company_payload
            - invalid_api_key
            - subscription_expired
            - insufficient_credits
            - rate_limited
            - job_not_found
            - job_expired
            - match_engine_unavailable
        retryAfter:
          type: integer
          description: Seconds until retry is recommended, present on rate limit responses.
    CSVEnrichmentStatus:
      type: string
      enum:
        - pending
        - running
        - completed
        - failed
    Progress:
      type: object
      required:
        - processed
        - total
      properties:
        processed:
          type: integer
          minimum: 0
        total:
          type: integer
          minimum: 0
    Summary:
      type: object
      required:
        - totalInputs
        - matched
        - unmatched
        - withFundingSignals
        - withAcquisitionSignals
        - withHiringSignals
        - withJobChangeSignals
      properties:
        totalInputs:
          type: integer
          minimum: 0
        matched:
          type: integer
          minimum: 0
        unmatched:
          type: integer
          minimum: 0
        withFundingSignals:
          type: integer
          minimum: 0
        withAcquisitionSignals:
          type: integer
          minimum: 0
        withHiringSignals:
          type: integer
          minimum: 0
        withJobChangeSignals:
          type: integer
          minimum: 0
    EnrichmentResult:
      type: object
      required:
        - input
        - matched
        - companyId
        - company
        - signals
      properties:
        input:
          type: object
          additionalProperties:
            type: string
        matched:
          type: boolean
        companyId:
          type:
            - string
            - 'null'
          format: uuid
        company:
          type:
            - object
            - 'null'
          properties:
            name:
              type: string
            domain:
              type:
                - string
                - 'null'
            industry:
              type:
                - string
                - 'null'
            country:
              type:
                - string
                - 'null'
            employeeCount:
              type:
                - integer
                - 'null'
        signals:
          $ref: '#/components/schemas/Signals'
    JobError:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          enum:
            - match_engine_unavailable
        message:
          type: string
    Signals:
      type: object
      required:
        - funding
        - acquisition
        - hiring
        - job_change
        - investors
      properties:
        funding:
          type: array
          items:
            type: object
            additionalProperties: true
        acquisition:
          type: array
          items:
            type: object
            additionalProperties: true
        hiring:
          type: array
          items:
            type: object
            additionalProperties: true
        job_change:
          type: array
          items:
            type: object
            additionalProperties: true
        investors:
          type: array
          items:
            type: object
            additionalProperties: true
  responses:
    BadRequest:
      description: Invalid request body, cursor, or company identifiers
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: >-
              Each company must include company_name, website_url, or
              linkedin_url.
            code: invalid_company_payload
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: Invalid API key. No key found.
            code: invalid_api_key
    SubscriptionExpired:
      description: The API key belongs to a team without an active subscription
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: >-
              Subscription expired. Please upgrade your subscription:
              https://www.trysignalbase.com/#pricing
            code: subscription_expired
    JobNotFound:
      description: Unknown job ID for this authenticated team
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: Job not found
            code: job_not_found
    JobExpired:
      description: The job is older than the 30-day retention window
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: CSV enrichment jobs are retrievable for 30 days.
            code: job_expired
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: Too many requests. Please upgrade your plan or slow down.
            code: rate_limited
            retryAfter: 60
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: An unknown error occurred
            code: match_engine_unavailable
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: Signalbase API key. Include as Bearer token in the Authorization header.

````