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

# Summarize usage

> Returns daily billable usage totals for the authenticated API account. Usage analytics are eventually consistent with the billing ledger and are intended for customer dashboards and reconciliation.



## OpenAPI

````yaml /openapi.json get /v1/usage
openapi: 3.1.0
info:
  title: Visor Public API
  version: 1.0.0-beta
  summary: Vehicle listings, facets, VIN, and dealer data for API customers.
  description: >-
    Public beta API for customer integrations. Normal /v1 endpoints require
    Authorization: Bearer <api_key>. API keys are scoped to API accounts; usage
    is metered per request and billed from the account ledger. The OpenAPI
    document is available without authentication at /v1/openapi.json.
servers:
  - url: https://api.visor.vin
    description: Production public API
security:
  - bearerAuth: []
tags:
  - name: Inventory
  - name: Dealers
  - name: Usage
paths:
  /v1/usage:
    get:
      tags:
        - Usage
      summary: Summarize usage
      description: >-
        Returns daily billable usage totals for the authenticated API account.
        Usage analytics are eventually consistent with the billing ledger and
        are intended for customer dashboards and reconciliation.
      operationId: publicUsage.usage
      parameters:
        - name: start_date
          in: query
          schema:
            type: string
            description: >-
              Inclusive UTC start date in YYYY-MM-DD format. Defaults to 29 days
              before end_date.
          required: false
          description: >-
            Inclusive UTC start date in YYYY-MM-DD format. Defaults to 29 days
            before end_date.
        - name: end_date
          in: query
          schema:
            type: string
            description: Inclusive UTC end date in YYYY-MM-DD format. Defaults to today.
          required: false
          description: Inclusive UTC end date in YYYY-MM-DD format. Defaults to today.
        - name: metering_class
          in: query
          schema:
            type: string
            description: Optional comma-separated metering classes to include.
          required: false
          description: Optional comma-separated metering classes to include.
          example: listing_search,vehicle_detail
      responses:
        '200':
          description: Successful public API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        date:
                          type: string
                          description: UTC usage date in YYYY-MM-DD format.
                        metering_class:
                          type: string
                          enum:
                            - listing_search
                            - listing_search_historical
                            - listing_search_dealer_filtered
                            - listing_search_dealer_filtered_historical
                            - listing_search_enriched
                            - dealer_inventory_search
                            - dealer_inventory_search_historical
                            - facet_counts
                            - facet_counts_historical
                            - vehicle_detail
                            - vehicle_detail_enriched
                            - dealer_lookup
                          description: Metering class for this daily usage bucket.
                        requests:
                          type: number
                          description: Billable request count in this bucket.
                        charged_micros:
                          type: number
                          description: Total charged USD micros in this bucket.
                      required:
                        - date
                        - metering_class
                        - requests
                        - charged_micros
                      additionalProperties: false
                      description: Daily public API usage bucket.
                    description: Daily usage buckets ordered by date and metering class.
                  totals:
                    type: object
                    properties:
                      requests:
                        type: number
                        description: Total billable requests in the response range.
                      charged_micros:
                        type: number
                        description: Total charged USD micros in the response range.
                    required:
                      - requests
                      - charged_micros
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      start_date:
                        type: string
                        description: Inclusive UTC start date used for the summary.
                      end_date:
                        type: string
                        description: Inclusive UTC end date used for the summary.
                      interval:
                        type: string
                        enum:
                          - day
                        description: Aggregation interval.
                      currency:
                        type: string
                        enum:
                          - USD
                        description: Currency used by charged_micros.
                      source:
                        type: string
                        description: Analytics source table used for the summary.
                      freshness:
                        type: string
                        description: Freshness note for usage analytics.
                    required:
                      - start_date
                      - end_date
                      - interval
                      - currency
                      - source
                      - freshness
                    additionalProperties: false
                required:
                  - data
                  - totals
                  - meta
                additionalProperties: false
                description: Public API usage summary response envelope.
              examples:
                success:
                  summary: Daily usage summary for selected metering classes
                  value:
                    data:
                      - date: '2026-06-09'
                        metering_class: listing_search
                        requests: 1
                        charged_micros: 2000
                    totals:
                      requests: 1
                      charged_micros: 2000
                    meta:
                      start_date: '2026-05-11'
                      end_date: '2026-06-09'
                      interval: day
                      currency: USD
                      source: public_api_usage_events
                      freshness: >-
                        Usage analytics are eventually consistent with the
                        billing ledger.
          headers:
            X-RateLimit-Tier:
              description: Effective account Usage Tier code used for rate limiting.
              schema:
                type: string
            X-RateLimit-Limit-10s:
              description: Maximum requests allowed in the 10-second burst window.
              schema:
                type: string
            X-RateLimit-Remaining-10s:
              description: >-
                Remaining requests in the current 10-second burst window after
                this request.
              schema:
                type: string
            X-RateLimit-Limit-60s:
              description: Maximum requests allowed in the 60-second sustained window.
              schema:
                type: string
            X-RateLimit-Remaining-60s:
              description: >-
                Remaining requests in the current 60-second sustained window
                after this request.
              schema:
                type: string
        '400':
          description: >-
            Invalid path or query parameter. Unknown query parameters are
            rejected.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiValidationError'
        '401':
          description: Missing, malformed, or invalid Authorization bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiAuthenticationError'
        '402':
          description: The API account is blocked by billing state or prepaid balance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiBillingError'
        '403':
          description: The API key is valid but does not include the required scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiPermissionError'
        '429':
          description: >-
            The API account exceeded the public API rate limit. Retry-After is
            included when available.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiRateLimitError'
        '503':
          description: >-
            The platform could not price, meter, rate-limit, or fetch data for
            the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiPlatformError'
      security:
        - bearerAuth: []
components:
  schemas:
    PublicApiValidationError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiValidationError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiAuthenticationError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiAuthenticationError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiBillingError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiBillingError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiPermissionError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiPermissionError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiRateLimitError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiRateLimitError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
        retryAfter:
          type: number
      required:
        - _tag
        - error
      additionalProperties: false
    PublicApiPlatformError:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - PublicApiPlatformError
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            current_version:
              anyOf:
                - type: string
                - type: 'null'
            minimum_supported_version:
              anyOf:
                - type: string
                - type: 'null'
            reason_code:
              anyOf:
                - type: string
                - type: 'null'
            update_url:
              type: string
            update_command:
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
      required:
        - _tag
        - error
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Send API keys as Authorization: Bearer <api_key>. Query-string API keys
        are rejected.

````