weirapp-io Account API

Introspection: who this key belongs to, what credit it has left, and what its tier allows. These endpoints are free — they never consume credits.

Operations 3

GET /v1/usage Credit balance, holds, and this month's free grant #
GET /v1/limits Ceilings imposed by the account's tier #
GET /v1/whoami Identify the account and scopes behind this key #

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/weirapp-io:weirapp-io-account-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

weirapp-io-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Weirapp Io Account API
  version: f158984142f8-20261030T153102Z
  contact:
    name: Weir support
    url: https://weirapp.io
    email: support@weirapp.io
  license:
    name: Weir Terms of Service
    url: https://weirapp.io/terms
  termsOfService: https://weirapp.io/terms
  description: 'Operations tagged Account across 2 of this provider''s published API definitions: weirapp-openapi.json, weirapp-io-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.weirapp.io
  description: API
security:
- bearerAuth: []
tags:
- name: Account
  description: 'Introspection: who this key belongs to, what credit it has left, and what its tier allows. These endpoints are free — they never consume credits.'
paths:
  /v1/usage:
    get:
      operationId: getUsage
      tags:
      - Account
      summary: Credit balance, holds, and this month's free grant
      description: Returns the caller's own credit state. Requires authentication but no additional scope, because a key that cannot discover why it is being refused cannot handle being refused.
      security:
      - bearerAuth: []
      responses:
        '200':
          description: The account's credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      balance:
                        type: integer
                        minimum: 0
                        description: 'Credits the account holds: what is left of this month''s free grant plus everything bought. Purchased credits never expire.'
                      reserved:
                        type: integer
                        minimum: 0
                        description: Credits held by this account's calls still in flight. Each is charged what it returned and gives the rest back when it finishes.
                      available:
                        type: integer
                        minimum: 0
                        description: balance minus reserved. A billed call is admitted while this covers its minimum charge; below that, calls return 402 until credits are added.
                      freeGrant:
                        type:
                        - object
                        - 'null'
                        properties:
                          granted:
                            type: integer
                            minimum: 0
                          remaining:
                            type: integer
                            minimum: 0
                          resetsAt:
                            type: string
                            format: date-time
                            description: When this month's free credits expire and next month's arrive.
                        required:
                        - granted
                        - remaining
                        - resetsAt
                        description: 'This month''s free credits, which are spent before anything bought and do not roll over. Null for a workspace that does not receive them: each person''s oldest workspace does.'
                      tier:
                        type: string
                        enum:
                        - free
                        - t1
                        - t2
                        - t3
                        description: 'Raised by lifetime credit purchases, net of refunds: free, then t1 from $5, t2 from $100, t3 from $500. Spending and time never lower it.'
                      spendingPaused:
                        type: boolean
                        description: True while a refund or payment dispute on the account is resolved. Billed calls return 402 until then; free calls still work.
                    required:
                    - balance
                    - reserved
                    - available
                    - freeGrant
                    - tier
                    - spendingPaused
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - data
                - meta
        '400':
          description: The request failed validation.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '401':
          description: The API key is missing, malformed, expired, or revoked.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '402':
          description: 'The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '403':
          description: The API key does not carry the scope this route requires.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '404':
          description: The account no longer exists.
          content:
            application/json:
              schema:
                type: object
                properties: {}
                additionalProperties: {}
        '429':
          description: 'The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '500':
          description: An unexpected error occurred.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
      x-weir-billing:
        minimumCredits: 0
        rateLimitWeight: 1
        units: []
    servers:
    - url: https://api.weirapp.io
      description: API
  /v1/limits:
    get:
      operationId: getLimits
      tags:
      - Account
      summary: Ceilings imposed by the account's tier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Tier limits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tier:
                        type: string
                        enum:
                        - free
                        - t1
                        - t2
                        - t3
                        description: 'Raised by lifetime credit purchases, net of refunds: free, then t1 from $5, t2 from $100, t3 from $500. Spending and time never lower it.'
                      rateLimitPerMinute:
                        type: integer
                        exclusiveMinimum: 0
                      maxMonitors:
                        type: integer
                        minimum: 0
                      maxWebhooks:
                        type: integer
                        minimum: 0
                      hourlySchedules:
                        type: boolean
                        description: Whether monitors may run hourly. Daily and weekly schedules are on every tier.
                    required:
                    - tier
                    - rateLimitPerMinute
                    - maxMonitors
                    - maxWebhooks
                    - hourlySchedules
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - data
                - meta
        '400':
          description: The request failed validation.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '401':
          description: The API key is missing, malformed, expired, or revoked.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '402':
          description: 'The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '403':
          description: The API key does not carry the scope this route requires.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '404':
          description: The account no longer exists.
          content:
            application/json:
              schema:
                type: object
                properties: {}
                additionalProperties: {}
        '429':
          description: 'The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '500':
          description: An unexpected error occurred.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
      x-weir-billing:
        minimumCredits: 0
        rateLimitWeight: 1
        units: []
    servers:
    - url: https://api.weirapp.io
      description: API
  /v1/whoami:
    get:
      operationId: getIdentity
      tags:
      - Account
      summary: Identify the account and scopes behind this key
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Authenticated API identity.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      accountId:
                        type: string
                        format: uuid
                      apiKeyId:
                        type: string
                        format: uuid
                      scopes:
                        type: array
                        items:
                          type: string
                    required:
                    - accountId
                    - apiKeyId
                    - scopes
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - data
                - meta
        '401':
          description: Invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      retryable:
                        type: boolean
                      details:
                        type: object
                        additionalProperties: {}
                    required:
                    - code
                    - message
                    - retryable
                  meta:
                    type: object
                    properties:
                      requestId:
                        type: string
                    required:
                    - requestId
                required:
                - error
                - meta
      x-weir-billing:
        minimumCredits: 0
        rateLimitWeight: 1
        units: []
    servers:
    - url: https://api.weirapp.io
      description: API
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Weir API key
x-refined-from:
- weirapp-openapi.json
- weirapp-io-openapi.json