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

# Inbound delivery counts by status

> Report how many inbound deliveries are in each processing state, and whether any of them need a person. Counts only — no delivery content is ever returned. Restricted to the platform organization.



## OpenAPI

````yaml /openapi.json get /admin/vendor-deliveries/counts
openapi: 3.1.0
info:
  title: GetDialed API
  version: 0.1.0
servers:
  - url: https://api.getdialed.ai/v1
    description: Production
security: []
paths:
  /admin/vendor-deliveries/counts:
    get:
      tags:
        - vendor-deliveries
      summary: Inbound delivery counts by status
      description: >-
        Report how many inbound deliveries are in each processing state, and
        whether any of them need a person. Counts only — no delivery content is
        ever returned. Restricted to the platform organization.
      operationId: get_delivery_counts_admin_vendor_deliveries_counts_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorDeliveryCountsResponse'
        '401':
          description: Missing or invalid authentication
          content:
            application/json:
              example:
                detail: Authentication required
        '404':
          description: >-
            The surface is not available to this organization (returned instead
            of a 403, so the answer does not depend on whether the surface
            exists)
          content:
            application/json:
              example:
                detail: Not found
        '422':
          description: The request failed validation
          content:
            application/json:
              example:
                detail: Validation error
        '429':
          description: Rate limit exceeded — retry after the Retry-After header
          headers:
            Retry-After:
              description: Seconds to wait before retrying
              schema:
                type: integer
          content:
            application/json:
              example:
                detail: 'Rate limit exceeded: 100 per 1 minute'
      security:
        - APIKeyHeader: []
        - HTTPBearer: []
components:
  schemas:
    VendorDeliveryCountsResponse:
      properties:
        counts:
          $ref: '#/components/schemas/DeliveryStatusCounts'
        needs_attention:
          type: boolean
          title: Needs Attention
          description: >-
            True when any delivery is quarantined or failed — the same condition
            the committed alert rule fires on.
      type: object
      required:
        - counts
        - needs_attention
      title: VendorDeliveryCountsResponse
      description: The whole operator-facing read surface for inbound deliveries.
    DeliveryStatusCounts:
      properties:
        pending:
          type: integer
          title: Pending
          description: Accepted and awaiting processing. The normal state.
          default: 0
        claimed:
          type: integer
          title: Claimed
          description: Currently held by a processing pod.
          default: 0
        processed:
          type: integer
          title: Processed
          description: Completed successfully.
          default: 0
        failed:
          type: integer
          title: Failed
          description: >-
            Exhausted the retry budget. Needs an operator — these do not resolve
            themselves.
          default: 0
        quarantined:
          type: integer
          title: Quarantined
          description: Accepted but not routable to an organization. Needs an operator.
          default: 0
      type: object
      title: DeliveryStatusCounts
      description: >-
        Row counts per delivery status. COUNTS ONLY — never a body, ever.


        The fields are spelled out rather than carried in a free-form mapping so
        the

        schema itself is the guarantee: there is no key into which a raw body,

        a header value or a sender-supplied URL could be slipped later without
        the

        change being visible in the model.
        ``tests/test_api_admin_vendor_deliveries``

        asserts this class's field names equal the shared status vocabulary, so
        a

        new status fails a test instead of going unreported.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    HTTPBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

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