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

# List Tasks API

> Retrieve active Breezing background tasks like wallet syncs, report generation, and rule application to track progress in crypto accounting.



## OpenAPI

````yaml GET /tasks
openapi: 3.1.0
info:
  title: Breezing Public API
  version: 1.0.0
  description: >-
    Crypto accounting API for programmatic access and AI agents. Authenticate
    with an API key using the Authorization header: `Bearer brz_...`
servers:
  - url: https://api.breezing.io/v1
security:
  - BearerAuth: []
paths:
  /tasks:
    get:
      tags:
        - Tasks
      summary: List active background tasks
      description: >-
        List active background tasks for the company (sync jobs, report
        generation, rule application). Ordered newest-first; completed tasks
        (status="done") are excluded.


        Use this to check progress after triggering wallet sync (POST
        /wallets/{id}/sync), creating a wallet (POST /wallets), applying rules
        (POST /rules/apply), or generating reports. Each task includes
        operation, status (pending/progress/paused/failed), and either
        count+progress or isIndeterminate=true when total work is unknown.


        Filters: `id` for an exact task lookup, `walletId` to narrow to tasks
        for one wallet (matches `metadata.walletId`). Both are optional. Omit
        them for the full active-task list.
      parameters:
        - schema:
            type: string
            description: >-
              Organization ID. Use GET /v1/companies to discover available
              org/company pairs.
            example: '1'
          required: true
          description: >-
            Organization ID. Use GET /v1/companies to discover available
            org/company pairs.
          name: orgId
          in: query
        - schema:
            type: string
            description: >-
              Company ID. Use GET /v1/companies to discover available companies
              and their access levels.
            example: '1'
          required: true
          description: >-
            Company ID. Use GET /v1/companies to discover available companies
            and their access levels.
          name: companyId
          in: query
        - schema:
            type: string
            default: '50'
            description: Number of tasks to return (1-100, default 50)
            example: '50'
          required: false
          description: Number of tasks to return (1-100, default 50)
          name: limit
          in: query
        - schema:
            type: string
            description: >-
              Filter to a single task by exact ID. Use the `taskId` returned
              from POST /wallets, POST /rules/apply, etc. when you need to
              confirm the row exists or has not been completed yet.
            example: '42'
          required: false
          description: >-
            Filter to a single task by exact ID. Use the `taskId` returned from
            POST /wallets, POST /rules/apply, etc. when you need to confirm the
            row exists or has not been completed yet.
          name: id
          in: query
        - schema:
            type: string
            description: >-
              Filter to tasks scoped to one wallet (matches
              `metadata.walletId`). Useful for narrowing the result to a wallet
              sync (`importTransactions`) when the `taskId` returned from POST
              /wallets is null.
            example: '1'
          required: false
          description: >-
            Filter to tasks scoped to one wallet (matches `metadata.walletId`).
            Useful for narrowing the result to a wallet sync
            (`importTransactions`) when the `taskId` returned from POST /wallets
            is null.
          name: walletId
          in: query
      responses:
        '200':
          description: Tasks retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Task'
                required:
                  - success
                  - data
        '400':
          description: Invalid query parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '403':
          description: >-
            API key has no access to this company, has read-only access where
            write was required, or the company subscription is inactive
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
      security:
        - BearerAuth: []
components:
  schemas:
    Task:
      type: object
      properties:
        id:
          type: number
          description: Task ID
        operation:
          type: string
          description: >-
            Operation kind: e.g. "activeIssues", "createReport",
            "addMultiWallets", "applyRule".
          example: createReport
        status:
          type: string
          nullable: true
          description: >-
            Lifecycle status: "pending", "progress", "paused", "failed",
            "completedWithWarning" (finished, but some items were skipped: see
            the error field). Tasks with status "done" are excluded from this
            endpoint.
          example: progress
        count:
          type: number
          nullable: true
          description: Total work units for this task (e.g. transactions to process).
        progress:
          type: number
          nullable: true
          description: Work units completed so far. progress / count = percent done.
        isIndeterminate:
          type: boolean
          nullable: true
          description: >-
            True when the task progress can't be expressed as count/progress
            (typically syncing where total is unknown).
        error:
          type: string
          nullable: true
          description: Error message if the task failed.
        metadata:
          nullable: true
          description: Operation-specific metadata blob.
        orgId:
          type: number
          nullable: true
          description: Organization ID
        companyId:
          type: number
          nullable: true
          description: Company ID
        createdAt:
          type: number
          description: Created timestamp (unix ms)
        updatedAt:
          type: number
          description: Updated timestamp (unix ms)
      required:
        - id
        - operation
        - status
        - count
        - progress
        - isIndeterminate
        - error
        - orgId
        - companyId
        - createdAt
        - updatedAt

````