classifier-dev Account API

Workspace balance and usage; requires a workspace API key and enabled account access.

Operations 5

GET /v1/account/balance Read exact available and reserved workspace funds #
GET /v1/account/usage/summary Read workspace usage totals #
GET /v1/account/usage/timeseries Read hourly or daily workspace usage #
GET /v1/account/usage/breakdown Compare workspace usage by key, agent, tier or model #
GET /v1/account/activity Read recent workspace request metadata #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/classifier-dev:classifier-dev-account-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

classifier-dev-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: classifier.dev Account API
  version: 1.0.0
  summary: Zero-shot text classification with calibrated confidence. Free without a key; paid plans raise rate limits 10-100x.
  description: 'Send text and a list of labels, receive the label that fits, a calibrated confidence and a score per label. Up to 1,000 texts per request, ~1s. Tiers: fast (default) and smart, which re-asks answers below 0.7 confidence of a fast reasoning model. Free limits are per IP and counted in classifications: 3,000/min and 20,000/day on fast, 200/min and 2,000/day on smart. Benchmarks: https://classifier.dev/benchmark


    Authentication: optional for classification. Pro ($20/month) workspaces provide fast 30,000/min and 200,000/day, smart 2,000/min and 20,000/day shared across workspace keys and agents. Partner keys remain supported (see https://classifier.dev/auth.md).


    Versioning: the current major is v1, addressed as POST /v1/classify; POST / is an alias that tracks the current major. Response shapes are additive within a major (fields are added, never renamed or removed). Every response carries an x-api-version header. A breaking change ships as /v2 beside /v1, and /v1 then carries Deprecation and Sunset headers (RFC 9745 / RFC 8594) for at least six months before removal.


    Rate limits: RateLimit-Limit and RateLimit-Policy (IETF draft-ietf-httpapi-ratelimit-headers) on every classification response, RateLimit-Remaining once the limiter has been consulted (every 200 and 429), Retry-After on 429s. Idempotency: synchronous paid requests reject replayed keys. Whole-document jobs accept an optional UUID Idempotency-Key and return the same job on retry without charging again.


    Errors: classification failures return {error, code}; workspace authorization and billing errors return {error}. See components.schemas.Error for classification codes. The two GET forms answer plain text (`error:`, `usage:`, `try:` lines) unless ?verbose=1 or Accept: application/json asks for the JSON object.


    MCP: the same capability as tools at https://classifier.dev/mcp (Streamable HTTP, no auth), documented at https://classifier.dev/mcp-setup. Batch: the inputs array is the batch operation — up to 1,000 texts per request; POST /v1/classify/batch is an alias for callers that look for one.'
  contact:
    name: Michael Ryaboy
    url: https://cal.com/michaelsf/coffee
    email: contact@classifier.dev
  license:
    name: MIT
    url: https://github.com/mrmps/classifier-dev/blob/main/LICENSE
  termsOfService: https://classifier.dev/terms
  x-api-versioning:
    scheme: url-path
    current: v1
    aliases:
    - /
    - /v1/classify
    - /v1/classify/batch
    deprecationSignal: Deprecation and Sunset response headers, at least 180 days notice
    changelog: https://github.com/mrmps/classifier-dev/commits/main
  x-mcp:
    url: https://classifier.dev/mcp
    docs: https://classifier.dev/mcp/docs
    card: https://classifier.dev/.well-known/mcp/server-card.json
servers:
- url: https://classifier.dev
security:
- {}
- partnerKey: []
tags:
- name: Account
  description: Workspace balance and usage; requires a workspace API key and enabled account access.
paths:
  /v1/account/balance:
    get:
      operationId: getAccountBalance
      summary: Read exact available and reserved workspace funds
      description: No query parameters. Amounts are USD decimal strings with five fractional digits. Available funds exclude pending reservations. Requires an active workspace API key. Responses are private and not cached.
      tags:
      - Account
      security:
      - accountKey: []
      responses:
        '200':
          description: Exact ledger snapshot
          content:
            application/json:
              schema:
                type: object
                required:
                - currency
                - available
                - reserved
                - exact
                properties:
                  currency:
                    const: USD
                  available:
                    type: string
                    pattern: ^[0-9]+\.[0-9]{5}$
                  reserved:
                    type: string
                    pattern: ^[0-9]+\.[0-9]{5}$
                  exact:
                    const: true
        '400':
          description: Invalid or duplicate query parameter, or unsupported date range.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '401':
          description: Missing, invalid, paused, revoked, or local-only workspace API key.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '404':
          description: Workspace no longer exists.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '405':
          description: Only GET is supported.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '503':
          description: Account access or analytics is not enabled or temporarily unavailable.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
  /v1/account/usage/summary:
    get:
      operationId: getAccountUsageSummary
      summary: Read workspace usage totals
      description: Aggregates the selected period. Analytics may be delayed or sampled; use /v1/account/balance for exact spendable funds. Workspace is derived from the API key; an account ID cannot be supplied. Responses are private and not cached.
      tags:
      - Account
      security:
      - accountKey: []
      parameters:
      - name: from
        schema:
          type: string
          format: date-time
        description: Inclusive start, within the last 90 days. Defaults to 30 days ago.
        in: query
        required: false
      - name: to
        schema:
          type: string
          format: date-time
        description: Exclusive end. Defaults to now.
        in: query
        required: false
      - name: key_id
        schema:
          type: string
        description: Filter by a workspace API key ID.
        in: query
        required: false
      - name: agent_id
        schema:
          type: string
        description: Filter by an agent identifier recorded with the request.
        in: query
        required: false
      - name: tier
        schema:
          type: string
          enum:
          - fast
          - smart
        in: query
        required: false
      - name: source
        schema:
          type: string
          enum:
          - api
          - mcp
        in: query
        required: false
      - name: status
        schema:
          type: string
          enum:
          - success
          - error
        in: query
        required: false
      responses:
        '200':
          description: Workspace analytics
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - meta
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      additionalProperties:
                        type:
                        - string
                        - number
                        - 'null'
                    description: Summary/timeseries/breakdown rows include requests, items, token and cost totals, missing-value counters, latencyMs, errors, sampleInterval and latestEventAt. Timeseries adds bucket; breakdown adds dimension. Activity rows include requestId, keyId, agentId, source, tier, model, status and timestamp. Content is not returned.
                  meta:
                    type: object
                    required:
                    - queriedAt
                    - latestEventAt
                    - sampled
                    - exact
                    - retentionDays
                    properties:
                      queriedAt:
                        type: string
                        format: date-time
                      latestEventAt:
                        type:
                        - string
                        - 'null'
                      sampled:
                        type: boolean
                      exact:
                        const: false
                      retentionDays:
                        const: 90
        '400':
          description: Invalid or duplicate query parameter, or unsupported date range.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '401':
          description: Missing, invalid, paused, revoked, or local-only workspace API key.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '405':
          description: Only GET is supported.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '429':
          description: Analytics query budget exhausted. Your balance is unaffected.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '503':
          description: Account access or analytics is not enabled or temporarily unavailable.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
  /v1/account/usage/timeseries:
    get:
      operationId: getAccountUsageTimeseries
      summary: Read hourly or daily workspace usage
      description: Returns at most 745 buckets. Hourly ranges cannot exceed 31 days. Analytics may be delayed or sampled; use /v1/account/balance for exact spendable funds. Workspace is derived from the API key; an account ID cannot be supplied. Responses are private and not cached.
      tags:
      - Account
      security:
      - accountKey: []
      parameters:
      - name: from
        schema:
          type: string
          format: date-time
        description: Inclusive start, within the last 90 days. Defaults to 30 days ago.
        in: query
        required: false
      - name: to
        schema:
          type: string
          format: date-time
        description: Exclusive end. Defaults to now.
        in: query
        required: false
      - name: key_id
        schema:
          type: string
        description: Filter by a workspace API key ID.
        in: query
        required: false
      - name: agent_id
        schema:
          type: string
        description: Filter by an agent identifier recorded with the request.
        in: query
        required: false
      - name: tier
        schema:
          type: string
          enum:
          - fast
          - smart
        in: query
        required: false
      - name: source
        schema:
          type: string
          enum:
          - api
          - mcp
        in: query
        required: false
      - name: status
        schema:
          type: string
          enum:
          - success
          - error
        in: query
        required: false
      - name: interval
        in: query
        required: false
        schema:
          type: string
          enum:
          - hour
          - day
          default: day
      responses:
        '200':
          description: Workspace analytics
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - meta
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      additionalProperties:
                        type:
                        - string
                        - number
                        - 'null'
                    description: Summary/timeseries/breakdown rows include requests, items, token and cost totals, missing-value counters, latencyMs, errors, sampleInterval and latestEventAt. Timeseries adds bucket; breakdown adds dimension. Activity rows include requestId, keyId, agentId, source, tier, model, status and timestamp. Content is not returned.
                  meta:
                    type: object
                    required:
                    - queriedAt
                    - latestEventAt
                    - sampled
                    - exact
                    - retentionDays
                    properties:
                      queriedAt:
                        type: string
                        format: date-time
                      latestEventAt:
                        type:
                        - string
                        - 'null'
                      sampled:
                        type: boolean
                      exact:
                        const: false
                      retentionDays:
                        const: 90
        '400':
          description: Invalid or duplicate query parameter, or unsupported date range.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '401':
          description: Missing, invalid, paused, revoked, or local-only workspace API key.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '405':
          description: Only GET is supported.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '429':
          description: Analytics query budget exhausted. Your balance is unaffected.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '503':
          description: Account access or analytics is not enabled or temporarily unavailable.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
  /v1/account/usage/breakdown:
    get:
      operationId: getAccountUsageBreakdown
      summary: Compare workspace usage by key, agent, tier or model
      description: Returns the top 50 groups ordered by requests. Analytics may be delayed or sampled; use /v1/account/balance for exact spendable funds. Workspace is derived from the API key; an account ID cannot be supplied. Responses are private and not cached.
      tags:
      - Account
      security:
      - accountKey: []
      parameters:
      - name: from
        schema:
          type: string
          format: date-time
        description: Inclusive start, within the last 90 days. Defaults to 30 days ago.
        in: query
        required: false
      - name: to
        schema:
          type: string
          format: date-time
        description: Exclusive end. Defaults to now.
        in: query
        required: false
      - name: key_id
        schema:
          type: string
        description: Filter by a workspace API key ID.
        in: query
        required: false
      - name: agent_id
        schema:
          type: string
        description: Filter by an agent identifier recorded with the request.
        in: query
        required: false
      - name: tier
        schema:
          type: string
          enum:
          - fast
          - smart
        in: query
        required: false
      - name: source
        schema:
          type: string
          enum:
          - api
          - mcp
        in: query
        required: false
      - name: status
        schema:
          type: string
          enum:
          - success
          - error
        in: query
        required: false
      - name: group_by
        in: query
        required: false
        schema:
          type: string
          enum:
          - key
          - agent
          - tier
          - model
          default: key
      responses:
        '200':
          description: Workspace analytics
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - meta
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      additionalProperties:
                        type:
                        - string
                        - number
                        - 'null'
                    description: Summary/timeseries/breakdown rows include requests, items, token and cost totals, missing-value counters, latencyMs, errors, sampleInterval and latestEventAt. Timeseries adds bucket; breakdown adds dimension. Activity rows include requestId, keyId, agentId, source, tier, model, status and timestamp. Content is not returned.
                  meta:
                    type: object
                    required:
                    - queriedAt
                    - latestEventAt
                    - sampled
                    - exact
                    - retentionDays
                    properties:
                      queriedAt:
                        type: string
                        format: date-time
                      latestEventAt:
                        type:
                        - string
                        - 'null'
                      sampled:
                        type: boolean
                      exact:
                        const: false
                      retentionDays:
                        const: 90
        '400':
          description: Invalid or duplicate query parameter, or unsupported date range.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '401':
          description: Missing, invalid, paused, revoked, or local-only workspace API key.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '405':
          description: Only GET is supported.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '429':
          description: Analytics query budget exhausted. Your balance is unaffected.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '503':
          description: Account access or analytics is not enabled or temporarily unavailable.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
  /v1/account/activity:
    get:
      operationId: getAccountActivity
      summary: Read recent workspace request metadata
      description: Returns at most 100 recent events, newest first. Sampled activity is not an exhaustive audit log. Analytics may be delayed or sampled; use /v1/account/balance for exact spendable funds. Workspace is derived from the API key; an account ID cannot be supplied. Responses are private and not cached.
      tags:
      - Account
      security:
      - accountKey: []
      parameters:
      - name: from
        schema:
          type: string
          format: date-time
        description: Inclusive start, within the last 90 days. Defaults to 30 days ago.
        in: query
        required: false
      - name: to
        schema:
          type: string
          format: date-time
        description: Exclusive end. Defaults to now.
        in: query
        required: false
      - name: key_id
        schema:
          type: string
        description: Filter by a workspace API key ID.
        in: query
        required: false
      - name: agent_id
        schema:
          type: string
        description: Filter by an agent identifier recorded with the request.
        in: query
        required: false
      - name: tier
        schema:
          type: string
          enum:
          - fast
          - smart
        in: query
        required: false
      - name: source
        schema:
          type: string
          enum:
          - api
          - mcp
        in: query
        required: false
      - name: status
        schema:
          type: string
          enum:
          - success
          - error
        in: query
        required: false
      responses:
        '200':
          description: Workspace analytics
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - meta
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      additionalProperties:
                        type:
                        - string
                        - number
                        - 'null'
                    description: Summary/timeseries/breakdown rows include requests, items, token and cost totals, missing-value counters, latencyMs, errors, sampleInterval and latestEventAt. Timeseries adds bucket; breakdown adds dimension. Activity rows include requestId, keyId, agentId, source, tier, model, status and timestamp. Content is not returned.
                  meta:
                    type: object
                    required:
                    - queriedAt
                    - latestEventAt
                    - sampled
                    - exact
                    - retentionDays
                    properties:
                      queriedAt:
                        type: string
                        format: date-time
                      latestEventAt:
                        type:
                        - string
                        - 'null'
                      sampled:
                        type: boolean
                      exact:
                        const: false
                      retentionDays:
                        const: 90
        '400':
          description: Invalid or duplicate query parameter, or unsupported date range.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '401':
          description: Missing, invalid, paused, revoked, or local-only workspace API key.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '405':
          description: Only GET is supported.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '429':
          description: Analytics query budget exhausted. Your balance is unaffected.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
        '503':
          description: Account access or analytics is not enabled or temporarily unavailable.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: string
components:
  securitySchemes:
    accountKey:
      type: http
      scheme: bearer
      description: Workspace API key (classifier_agent_...) managed at /app/keys. Required for account reads; optional on classification and TypeSafe-compatible endpoints to use workspace quota and credits.
    partnerKey:
      type: http
      scheme: bearer
      description: Optional for classification. Workspace keys (classifier_agent_...) use the workspace balance and quotas; Pro raises rate limits 10x and Scale 100x. Partner keys have separately arranged access. See https://classifier.dev/auth.md.
externalDocs:
  description: Developer guide
  url: https://classifier.dev/developers