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

# List requests

> Every request of the last 30 days, newest first, with its status, time and cost. Filter by status class, route, key or time, or find one request by its id. A key without full access sees only its own requests. Free.



## OpenAPI

````yaml /openapi.json get /v1/requests
openapi: 3.1.0
info:
  title: outbound.dev API
  version: v1
  description: Find people and companies, and see what every call costs, with one API key.
servers:
  - url: https://api.outbound.dev
security: []
tags:
  - name: People
    description: >-
      Search people with filters, a saved search or a plain-language query,
      count matches and look up filter values.
  - name: Companies
    description: >-
      Search companies, count matches, name one company by its name, domain or
      LinkedIn page, and list its people.
  - name: Saved searches
    description: Keep a search under a title and run it again, for people or for companies.
  - name: Jobs
    description: >-
      Long tasks a call started: their progress, what they produced and what
      they were charged.
  - name: Account
    description: >-
      The calling key and its organization, its rate limits, and revoking the
      key.
  - name: Billing
    description: The balance, the ledger of every change to it, and the price list.
  - name: Usage and requests
    description: >-
      Calls and spend by day, and the record of every request of the last 30
      days.
paths:
  /v1/requests:
    get:
      tags:
        - Usage and requests
      summary: List requests
      description: >-
        Every request of the last 30 days, newest first, with its status, time
        and cost. Filter by status class, route, key or time, or find one
        request by its id. A key without full access sees only its own requests.
        Free.
      operationId: getRequests
      parameters:
        - name: statusClass
          in: query
          required: false
          description: Only requests answered with a status in this class.
          schema:
            type: string
            enum:
              - 2xx
              - 4xx
              - 5xx
        - name: endpoint
          in: query
          required: false
          description: Only requests to this route, as the requests name it.
          schema:
            type: string
            minLength: 1
            maxLength: 200
          example: /v1/people/search
        - name: apiKeyId
          in: query
          required: false
          description: >-
            Only this key's requests. A key without full access reads only its
            own.
          schema:
            type: string
            minLength: 24
            maxLength: 24
            pattern: ^[0-9a-fA-F]+$
        - name: from
          in: query
          required: false
          description: Only requests made at or after this time, in ISO 8601.
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: Only requests made before this time, in ISO 8601.
          schema:
            type: string
            format: date-time
        - name: q
          in: query
          required: false
          description: A request id, matched exactly.
          schema:
            type: string
            minLength: 1
            maxLength: 255
        - name: cursor
          in: query
          required: false
          description: The `nextCursor` of the page before.
          schema:
            type: string
            maxLength: 200
            pattern: ^[A-Za-z0-9_-]+$
        - name: pageSize
          in: query
          required: false
          description: Requests per page.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: One page of requests, newest first.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            X-Charged-Usd:
              $ref: '#/components/headers/ChargedUsd'
            X-Balance-Usd:
              $ref: '#/components/headers/BalanceUsd'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - pagination
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: >-
                            The request's id, as its X-Request-Id header gave
                            it.
                        createdAt:
                          type: string
                          format: date-time
                        method:
                          type: string
                        endpoint:
                          type: string
                          description: The route called, such as `/v1/people/search`.
                        product:
                          type: string
                          enum:
                            - search
                            - enrichment
                            - lists
                            - campaigns
                            - connections
                            - account
                        statusCode:
                          type: integer
                        latencyMs:
                          type: integer
                        units:
                          type: integer
                          description: >-
                            What the call was billed for: 0 on a miss. Absent
                            for a call that bills nothing.
                        costUsd:
                          type: string
                          description: What the call cost, in US dollars.
                        apiKey:
                          type: object
                          description: >-
                            The key that made the call. Its name and masked form
                            are absent when the key no longer exists.
                          required:
                            - id
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            prefix:
                              type: string
                            lastFour:
                              type: string
                        isReplay:
                          type: boolean
                          description: >-
                            Whether the answer was an earlier request's,
                            replayed.
                        isMiss:
                          type: boolean
                          description: >-
                            The call succeeded but found nothing, so it cost
                            nothing.
                        isHeld:
                          type: boolean
                          description: >-
                            Money is still set aside for it: the call is running
                            or its charge is not final yet.
                  pagination:
                    type: object
                    required:
                      - pageSize
                    properties:
                      pageSize:
                        type: integer
                      nextCursor:
                        type: string
                        description: >-
                          Send as `cursor` for the next page. Absent on the last
                          page.
              example:
                data:
                  - id: req_6a1f0c2b9d4e8a7f3c5b2e10
                    createdAt: '2026-11-14T10:02:11.000Z'
                    method: POST
                    endpoint: /v1/people/search
                    product: search
                    statusCode: 200
                    latencyMs: 5302
                    units: 5
                    costUsd: '0.000500'
                    apiKey:
                      id: 6a1f0c2b9d4e8a7f3c5b2e11
                      name: Agent key
                      prefix: ob_live_7Kx2
                      lastFour: 34hx
                    isReplay: false
                    isMiss: false
                    isHeld: false
                pagination:
                  pageSize: 50
                  nextCursor: eyJ0IjoiMjAyNi0xMS0xNFQxMDowMjoxMS4wMDBaIn0
        '429':
          $ref: '#/components/responses/RateLimited'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/ServerError'
      security:
        - apiKey: []
components:
  headers:
    RequestId:
      description: The request's id. Quote it when you write to support.
      schema:
        type: string
        example: req_6a1f0c2b9d4e8a7f3c5b2e10
    ChargedUsd:
      description: What this call cost, in US dollars as an exact six-decimal string.
      schema:
        type: string
        example: '0.000500'
    BalanceUsd:
      description: >-
        The organization's balance after this call, in US dollars as an exact
        six-decimal string.
      schema:
        type: string
        example: '9.999500'
    RateLimitLimit:
      description: >-
        The calls allowed in the window of the route's limit with the fewest
        calls left.
      schema:
        type: integer
        example: 20
    RateLimitRemaining:
      description: The calls left in that window.
      schema:
        type: integer
        example: 19
    RateLimitReset:
      description: Seconds until that window resets.
      schema:
        type: integer
        example: 42
    RetryAfter:
      description: Seconds to wait before calling again.
      schema:
        type: integer
        example: 42
  responses:
    RateLimited:
      description: >-
        Too many calls. Wait the seconds in Retry-After, then call again. The
        body is empty.
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        RateLimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        RateLimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
    Error:
      description: The request was refused. The body names the reason in `error.code`.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: >-
        Something failed on our side and nothing was charged. Retry with
        backoff; quote X-Request-Id if it persists. The body is empty.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - doc_url
          properties:
            code:
              type: string
              description: >-
                Stable and machine-readable: branch on it. It never changes
                meaning.
            message:
              type: string
              description: >-
                A human-readable explanation for logs. It may be reworded at any
                time.
            param:
              type: string
              description: The request field the error is about, when there is one.
            doc_url:
              type: string
              description: The code's entry in the errors reference.
            request_id:
              type: string
              description: >-
                The request's id, as in the X-Request-Id header. Quote it to
                support.
      example:
        error:
          code: insufficient_balance
          message: Your balance cannot cover this call. Add funds and try again.
          doc_url: https://outbound.dev/docs/errors#insufficient_balance
          request_id: req_6a1f0c2b9d4e8a7f3c5b2e10
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        An API key from the console, starting `ob_live_`, sent as
        `Authorization: Bearer <key>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.