Scribiz Account API

The Account API from Scribiz — 5 operation(s) for account.

GitHub OpenAPI

Operations 7

DELETE /v1/account Delete the account and everything it owns #
POST /v1/cli/exchange Finish `scribiz login` #
GET /v1/keys List API keys #
POST /v1/keys Create an API key #
DELETE /v1/keys/{id} Revoke an API key #
GET /v1/me Account, plan and usage #
PATCH /v1/me Update speaker profile and glossary #

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/scribiz:scribiz-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

scribiz-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Scribiz Account API
  version: 1.0.0
  description: 'Operations tagged Account across 2 of this provider''s published API definitions: openapi.json, scribiz-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- description: 'The one public base for every client: https://scribiz.com/api (Better Auth at /api/auth, remote MCP at https://scribiz.com/mcp). The proxy routes both paths to this API.'
  url: https://scribiz.com/api
tags:
- name: Account
paths:
  /v1/account:
    delete:
      operationId: deleteAccount
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: true
                type: object
          description: Deleted.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: invalid_request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized, invalid_api_key or invalid_token
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: insufficient_scope, session_required, account_required, turnstile_required, bad_origin
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not_found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: rate_limited, too_many_in_flight, anonymous_limit, daily_spend_limit
      security:
      - bearer: []
      - cookie: []
      summary: Delete the account and everything it owns
      tags:
      - Account
    servers:
    - description: 'The one public base for every client: https://scribiz.com/api (Better Auth at /api/auth, remote MCP at https://scribiz.com/mcp). The proxy routes both paths to this API.'
      url: https://scribiz.com/api
  /v1/cli/exchange:
    post:
      description: Exchanges the session token of the device flow for a long-lived API key (and revokes that session).
      operationId: cliExchange
      requestBody:
        content:
          application/json:
            schema:
              properties:
                deviceLabel:
                  type: string
                scopes:
                  enum:
                  - all
                  - mcp
              type: object
        description: JSON
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
          description: The key, shown once.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: invalid_request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized, invalid_api_key or invalid_token
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: insufficient_scope, session_required, account_required, turnstile_required, bad_origin
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not_found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: key_limit_reached
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: rate_limited, too_many_in_flight, anonymous_limit, daily_spend_limit
      security:
      - bearer: []
      summary: Finish `scribiz login`
      tags:
      - Account
    servers:
    - description: 'The one public base for every client: https://scribiz.com/api (Better Auth at /api/auth, remote MCP at https://scribiz.com/mcp). The proxy routes both paths to this API.'
      url: https://scribiz.com/api
  /v1/keys:
    get:
      operationId: listKeys
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: Keys (without secrets).
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: invalid_request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized, invalid_api_key or invalid_token
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: insufficient_scope, session_required, account_required, turnstile_required, bad_origin
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not_found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: rate_limited, too_many_in_flight, anonymous_limit, daily_spend_limit
      security:
      - apiKey:
        - all
      - bearer:
        - all
      - cookie: []
      summary: List API keys
      tags:
      - Account
    post:
      operationId: createKey
      requestBody:
        content:
          application/json:
            schema:
              properties:
                expiresInDays:
                  type: integer
                name:
                  type: string
                scopes:
                  enum:
                  - all
                  - mcp
                  - read
              type: object
        description: JSON
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
          description: The key, shown once.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: invalid_request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized, invalid_api_key or invalid_token
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: insufficient_scope, session_required, account_required, turnstile_required, bad_origin
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not_found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: key_limit_reached
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: rate_limited, too_many_in_flight, anonymous_limit, daily_spend_limit
      security:
      - bearer: []
      - cookie: []
      summary: Create an API key
      tags:
      - Account
    servers:
    - description: 'The one public base for every client: https://scribiz.com/api (Better Auth at /api/auth, remote MCP at https://scribiz.com/mcp). The proxy routes both paths to this API.'
      url: https://scribiz.com/api
  /v1/keys/{id}:
    delete:
      operationId: revokeKey
      parameters:
      - description: The key id.
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: Revoked.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: invalid_request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized, invalid_api_key or invalid_token
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: insufficient_scope, session_required, account_required, turnstile_required, bad_origin
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not_found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: rate_limited, too_many_in_flight, anonymous_limit, daily_spend_limit
      security:
      - bearer: []
      - cookie: []
      summary: Revoke an API key
      tags:
      - Account
    servers:
    - description: 'The one public base for every client: https://scribiz.com/api (Better Auth at /api/auth, remote MCP at https://scribiz.com/mcp). The proxy routes both paths to this API.'
      url: https://scribiz.com/api
  /v1/me:
    get:
      description: Who the caller is, the plan, minutes used and left, and every limit. Anonymous callers get their daily bucket.
      operationId: me
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The caller.
      security:
      - apiKey: []
      - bearer: []
      - cookie: []
      - {}
      summary: Account, plan and usage
      tags:
      - Account
    patch:
      description: Update the signed-in account owner profile (speaker_name, glossary, speaker_notes, time_zone) used for speaker identification and glossary corrections.
      operationId: updateMe
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              properties:
                glossary:
                  items:
                    maxLength: 100
                    type: string
                  maxItems: 50
                  type:
                  - array
                  - 'null'
                speaker_name:
                  maxLength: 100
                  type:
                  - string
                  - 'null'
                speaker_notes:
                  maxLength: 300
                  type:
                  - string
                  - 'null'
                time_zone:
                  maxLength: 80
                  type:
                  - string
                  - 'null'
              type: object
        description: JSON
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: Updated profile.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: invalid_request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized, invalid_api_key or invalid_token
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: insufficient_scope, session_required, account_required, turnstile_required, bad_origin
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not_found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: rate_limited, too_many_in_flight, anonymous_limit, daily_spend_limit
      security:
      - apiKey:
        - all
      - bearer:
        - all
      - cookie: []
      - {}
      summary: Update speaker profile and glossary
      tags:
      - Account
    servers:
    - description: 'The one public base for every client: https://scribiz.com/api (Better Auth at /api/auth, remote MCP at https://scribiz.com/mcp). The proxy routes both paths to this API.'
      url: https://scribiz.com/api
components:
  schemas:
    Error:
      properties:
        error:
          additionalProperties: true
          properties:
            code:
              description: snake_case.
              type: string
            engineCode:
              description: The engine's own code (QUOTA, SOURCE_UNAVAILABLE, ...) when there is one.
              type: string
            hint:
              type: string
            message:
              type: string
          required:
          - code
          - message
          type: object
      required:
      - error
      type: object
  securitySchemes:
    apiKey:
      description: 'An API key (sbz_live_...), as X-API-Key. Keys are made in the dashboard or by `scribiz login`. Each key has one scope, named in an operation''s security requirement. `all`: Everything a key can do: start jobs, upload, ask, cancel, the Gemini proxy and listing keys. Includes read. `mcp`: The remote MCP server at /mcp. Includes read. `read`: Read jobs and their events.'
      in: header
      name: X-API-Key
      type: apiKey
      x-scopes:
        all: 'Everything a key can do: start jobs, upload, ask, cancel, the Gemini proxy and listing keys. Includes read.'
        mcp: The remote MCP server at /mcp. Includes read.
        read: Read jobs and their events.
    bearer:
      description: 'An API key (sbz_live_...) or a session token from the device flow. Each key has one scope, named in an operation''s security requirement. `all`: Everything a key can do: start jobs, upload, ask, cancel, the Gemini proxy and listing keys. Includes read. `mcp`: The remote MCP server at /mcp. Includes read. `read`: Read jobs and their events. A session token has every scope.'
      scheme: bearer
      type: http
      x-scopes:
        all: 'Everything a key can do: start jobs, upload, ask, cancel, the Gemini proxy and listing keys. Includes read.'
        mcp: The remote MCP server at /mcp. Includes read.
        read: Read jobs and their events.
    cookie:
      description: The browser session (same-origin /api/*).
      in: cookie
      name: better-auth.session_token
      type: apiKey
x-refined-from:
- openapi.json
- scribiz-openapi.json