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

# Poll any async job

> Poll a CRM async job by the 24-hex id returned with a 202 (list exports via POST /business/lists/{listId}/export, GET /business/exports/{jobId} is an alias). `status` moves pending > processing > completed or failed; poll every few seconds until it is terminal. On completed, `rowCount` and a short-lived presigned `downloadUrl` (regenerated on every poll) are set; on failed, `error` carries the reason. Research runs, smart columns, imports and list processing have their own status endpoints and are not served here. Available to any valid key (no scope needed). Rate limit: 120 requests per minute, 10000 per day.

Errors:
- `404` `JOB_NOT_FOUND` — No async job with that id belongs to the token owner (or it has expired).
- `422` `VALIDATION_FAILED` — `jobId` is not a 24-character hex id — an import's UUID job id is not pollable here.
- `429` `RATE_LIMITED` — Per-user quota for this endpoint family exceeded (120 per minute, 10000 per day, shared with the list endpoints); retry after the Retry-After / RateLimit-Reset seconds.



## OpenAPI

````yaml /openapi.json get /business/jobs/{jobId}
openapi: 3.1.0
info:
  title: Fuse Business API
  version: 1.0.0
  description: >-
    External API for lists, campaigns, prospect search and contacts.
    Authenticate with your API token as HTTP Basic. All paths are under /api/v1.
servers:
  - url: https://api.tryfuse.ai/api/v1
    description: Production
security:
  - basicAuth: []
tags:
  - name: Lists
  - name: Custom columns
  - name: Smart columns
  - name: Exports
  - name: Campaigns
  - name: Knowledge hubs
  - name: Analytics
  - name: Website intent
  - name: Account
  - name: Prospect search
  - name: Campaign steps
  - name: Scheduled sends
  - name: Campaign templates
  - name: Agents
  - name: Research
  - name: Company search
  - name: Saved searches
  - name: Folders
  - name: Contacts
paths:
  /business/jobs/{jobId}:
    get:
      tags:
        - Account
      summary: Poll any async job
      description: >-
        Poll a CRM async job by the 24-hex id returned with a 202 (list exports
        via POST /business/lists/{listId}/export, GET /business/exports/{jobId}
        is an alias). `status` moves pending > processing > completed or failed;
        poll every few seconds until it is terminal. On completed, `rowCount`
        and a short-lived presigned `downloadUrl` (regenerated on every poll)
        are set; on failed, `error` carries the reason. Research runs, smart
        columns, imports and list processing have their own status endpoints and
        are not served here. Available to any valid key (no scope needed). Rate
        limit: 120 requests per minute, 10000 per day.


        Errors:

        - `404` `JOB_NOT_FOUND` — No async job with that id belongs to the token
        owner (or it has expired).

        - `422` `VALIDATION_FAILED` — `jobId` is not a 24-character hex id — an
        import's UUID job id is not pollable here.

        - `429` `RATE_LIMITED` — Per-user quota for this endpoint family
        exceeded (120 per minute, 10000 per day, shared with the list
        endpoints); retry after the Retry-After / RateLimit-Reset seconds.
      operationId: getJob
      parameters:
        - name: jobId
          in: path
          required: true
          description: >-
            24-character hex id of an async job, as returned with the 202 that
            started it (POST /business/lists/{listId}/export).
          schema:
            type: string
            description: >-
              24-character hex id of an async job, as returned with the 202 that
              started it (POST /business/lists/{listId}/export).
      responses:
        '200':
          description: Success
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: Requests permitted in the current window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the current window resets.
          content:
            application/json:
              schema:
                type: object
                properties:
                  job:
                    type: object
                    properties:
                      jobId:
                        type: string
                      type:
                        type:
                          - string
                          - 'null'
                        enum:
                          - list_export
                          - web_monitor_run_ingest
                          - null
                      status:
                        type: string
                        enum:
                          - pending
                          - processing
                          - completed
                          - failed
                      rowCount:
                        type:
                          - integer
                          - 'null'
                      downloadUrl:
                        type:
                          - string
                          - 'null'
                      error:
                        type:
                          - string
                          - 'null'
                    required:
                      - jobId
                      - type
                      - status
                      - rowCount
                      - downloadUrl
                      - error
                required:
                  - job
              example:
                job:
                  jobId: 68a2109c9c41d20014b41001
                  type: list_export
                  status: completed
                  rowCount: 1240
                  downloadUrl: >-
                    https://fuse-list-exports.s3.eu-west-1.amazonaws.com/exports/68a2109c9c41d20014b41001/export.csv?response-content-disposition=attachment%3B%20filename%3D%22European_fintech_Series_A.csv%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-Signature=3f6f0e2a8c1d4b7e9a2f5d6e7f8a9b0c
                  error: null
        '400':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - basicAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            param:
              type:
                - string
                - 'null'
            doc_url:
              type:
                - string
                - 'null'
            request_id:
              type:
                - string
                - 'null'
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Your API token (`af_…`) as the Basic-auth username, with an empty
        password.

````