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

# List all jobs

> Returns a paginated list of onchain jobs available to you, sorted by
`createDate`, most recent first. Useful for rendering transaction history
and surfacing jobs that require customer action, such as automatically
created `withdraw_residual` jobs.




## OpenAPI

````yaml openapi/digital-asset-backed-borrowing.yaml get /v1/borrow/jobs
openapi: 3.0.2
info:
  version: ${version}
  title: Digital Asset-Backed Borrowing API
  description: >
    The Digital Asset-Backed Borrowing API lets you borrow stablecoin liquidity
    against onchain collateral. It uses a dedicated wallet to hold collateral
    and borrowed funds, and Circle handles the onchain transactions. Write
    operations are asynchronous and return a job that can be polled for status.
servers:
  - url: https://api-sandbox.circle.com
  - url: https://api.circle.com
security: []
tags:
  - name: Borrow Wallets
    description: >-
      Provision and inspect the per-entity MSCA wallet that holds collateral and
      borrowed funds.
  - name: Borrow Loans
    description: Originate, inspect, repay, and add collateral to borrow positions.
  - name: Borrow Jobs
    description: Observe asynchronous onchain operations.
  - name: Borrow Markets
    description: Discover allowlisted lending markets.
paths:
  /v1/borrow/jobs:
    get:
      tags:
        - Borrow Jobs
      summary: List all jobs
      description: >
        Returns a paginated list of onchain jobs available to you, sorted by

        `createDate`, most recent first. Useful for rendering transaction
        history

        and surfacing jobs that require customer action, such as automatically

        created `withdraw_residual` jobs.
      operationId: listBorrowJobs
      parameters:
        - in: query
          name: status
          required: false
          schema:
            type: string
            enum:
              - received
              - awaiting_approval
              - submitted
              - confirmed
              - completed
              - failed
              - approval_rejected
          description: >-
            Filter by job status. Values match the `status` enum on
            `OnchainJob`.
        - in: query
          name: type
          required: false
          schema:
            type: string
            enum:
              - borrow
              - repay
              - add_collateral
              - wallet_setup
              - withdraw_residual
              - add_owner
              - remove_owner
          description: Filter by `jobType`.
        - $ref: '#/components/parameters/PageBefore'
        - $ref: '#/components/parameters/PageAfter'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Successfully retrieved a list of jobs.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                title: ListBorrowJobsResponse
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/OnchainJob'
              examples:
                response:
                  value:
                    data:
                      - id: b3d9d2d5-4c12-4946-a09d-953e82fae2b0
                        jobType: borrow
                        status: completed
                        amount: '1000.00'
                        asset: USD
                        collateralAmount: '0.05'
                        collateralAsset: CIRBTC
                        toAddress: '0x5a0b4a11d3f9b2c1e8a7d6c5b4a39281f0e1d2c3'
                        loanId: fc988ed5-c129-4f70-a064-e5beb7eb8e32
                        transferId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        oraclePrice: '67234.51'
                        userOpHash: >-
                          0x9f8e7d6c5b4a39281f0e1d2c3b4a5968778695a4b3c2d1e0f9a8b7c6d5e4f3a2
                        txHash: >-
                          0x1a2b3c4d5e6f70819293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9
                        createDate: '2026-06-20T14:20:00.000Z'
                        updateDate: '2026-06-20T14:22:00.000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - bearerAuth: []
components:
  parameters:
    PageBefore:
      name: pageBefore
      description: >
        A collection ID value used for pagination.


        It marks the exclusive end of a page. When provided, the collection
        resource will return the next `n` items before

        the id, with `n` being specified by `pageSize`.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither `pageAfter` nor
        `pageBefore` are specified.


        SHOULD NOT be used in conjuction with pageAfter.
      in: query
      required: false
      schema:
        type: string
    PageAfter:
      name: pageAfter
      description: >
        A collection ID value used for pagination.


        It marks the exclusive begin of a page. When provided, the collection
        resource will return the next `n` items after

        the id, with `n` being specified by `pageSize`.


        The items will be returned in the natural order of the collection.


        The resource will return the first page if neither `pageAfter` nor
        `pageBefore` are specified.


        SHOULD NOT be used in conjuction with pageBefore.
      in: query
      required: false
      schema:
        type: string
    PageSize:
      name: pageSize
      description: >
        Limits the number of items to be returned.


        Some collections have a strict upper bound that will disregard this
        value. In case the specified value is higher

        than the allowed limit, the collection limit will be used.


        If avoided, the collection will determine the page size itself.
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        example: 5
  headers:
    XRequestId:
      description: >-
        Universally unique identifier (UUID v4) for the request. Helpful for
        identifying a request when communicating with Circle support.
      schema:
        type: string
        format: uuid
        example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
  schemas:
    OnchainJob:
      type: object
      description: >
        An async onchain operation. Each job represents one of: borrow, repay,

        add collateral, wallet setup, owner change, or residual withdraw. Poll

        this resource until the job reaches a terminal status (`completed`,

        `failed`, or `approval_rejected`). Fields that do not apply to the
        current

        status or job type are omitted rather than returned as null.
      required:
        - id
        - jobType
        - status
        - createDate
        - updateDate
      properties:
        id:
          type: string
          format: uuid
          description: Identifier of the job.
        jobType:
          type: string
          enum:
            - borrow
            - repay
            - add_collateral
            - wallet_setup
            - withdraw_residual
            - add_owner
            - remove_owner
          description: The onchain operation this job performs.
        status:
          type: string
          enum:
            - received
            - awaiting_approval
            - submitted
            - confirmed
            - completed
            - failed
            - approval_rejected
          description: >
            Lifecycle state of the job. Typical progression: `received` →

            `awaiting_approval` (for `borrow`, `repay`, and `add_collateral`
            only) →

            `submitted` → `confirmed` → `completed`. Terminal failure states:
            `failed`

            (the underlying onchain operation did not succeed) and
            `approval_rejected`

            (the approval workflow rejected the funds transfer). The `error`
            field

            carries the human-readable reason for either failure.
        amount:
          type: string
          description: >
            The amount this job acts on, in native token units (decimal string).

            Meaning depends on `jobType`: amount borrowed for `borrow`, amount

            repaid for `repay`, collateral added for `add_collateral`, residual

            collateral withdrawn for `withdraw_residual`. Omitted for
            `wallet_setup`.
        asset:
          type: string
          description: |
            Circle currency code of the asset for `amount`, such as `USD` or
            `CIRBTC`. For `add_collateral` and `withdraw_residual`, this is the
            collateral asset. Omitted for `wallet_setup`.
        collateralAmount:
          type: string
          description: >
            Collateral amount in native token units (decimal string). Present
            for `borrow`

            (collateral posted at origination) and `add_collateral` (mirrors
            `amount`); omitted for

            `repay`, `withdraw_residual`, and `wallet_setup`.
        collateralAsset:
          type: string
          description: Circle currency code of `collateralAmount`, such as `CIRBTC`.
        toAddress:
          type: string
          description: >
            The destination address for the transaction, for display in a
            transaction

            view. Varies by `jobType`:

              - `borrow`: the wallet's USDC deposit address, which receives the borrowed funds.
              - `repay`, `add_collateral`: the lending market's contract address.
              - `withdraw_residual`: the wallet's cirBTC deposit address, which receives the residual collateral.
              - `wallet_setup`: omitted.
        loanId:
          type: string
          format: uuid
          description: Identifier of the loan this job targets. Omitted for `wallet_setup`.
        transferId:
          type: string
          format: uuid
          description: >
            Identifier of the transfer that funds this job. Present for jobs
            that

            pass through the approval workflow: `borrow`, `repay`, and

            `add_collateral`. Omitted for other job types.
        oraclePrice:
          type: string
          description: >
            Collateral oracle price at the time of job creation, denominated in
            the

            borrow asset. Decimal string. Present for `borrow`, `repay`,

            `add_collateral`, and `withdraw_residual`. Omitted for
            `wallet_setup`,

            `add_owner`, and `remove_owner`.
        userOpHash:
          type: string
          description: >-
            UserOperation hash returned by the bundler. Present once `status`
            reaches `submitted`.
        txHash:
          type: string
          description: Onchain transaction hash. Present once `status` reaches `confirmed`.
        error:
          type: string
          description: >
            Human-readable failure reason. Present only when `status` is
            `failed` or

            `approval_rejected`.
        createDate:
          type: string
          format: date-time
          description: Date and time when the job was created.
        updateDate:
          type: string
          format: date-time
          description: Date and time when the job was last updated.
      example:
        id: b3d9d2d5-4c12-4946-a09d-953e82fae2b0
        jobType: borrow
        status: completed
        amount: '1000.00'
        asset: USD
        collateralAmount: '0.05'
        collateralAsset: CIRBTC
        toAddress: '0x5a0b4a11d3f9b2c1e8a7d6c5b4a39281f0e1d2c3'
        loanId: fc988ed5-c129-4f70-a064-e5beb7eb8e32
        transferId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        oraclePrice: '67234.51'
        userOpHash: '0x9f8e7d6c5b4a39281f0e1d2c3b4a5968778695a4b3c2d1e0f9a8b7c6d5e4f3a2'
        txHash: '0x1a2b3c4d5e6f70819293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9'
        createDate: '2026-06-20T14:20:00.000Z'
        updateDate: '2026-06-20T14:22:00.000Z'
  responses:
    BadRequest:
      description: The request cannot be processed due to a client error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: BadRequest
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 400
              message: Bad request.
          examples:
            response:
              value:
                code: 400
                message: Bad request.
    NotAuthorized:
      description: >-
        The request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: NotAuthorized
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 401
              message: Malformed authorization.
          examples:
            response:
              value:
                code: 401
                message: Malformed authorization.
    Forbidden:
      description: >-
        The request provides authentication, but the authenticated user does not
        possess sufficient permissions for accessing this resource.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: Forbidden
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 3
              message: Forbidden
          examples:
            response:
              value:
                code: 3
                message: Forbidden
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````