cryptodataapi-com Authentication API

API key management — create, inspect, rotate, and revoke `cdk_live_` keys.

Operations 5

POST /api/v1/auth/keys Create Api Key #
DELETE /api/v1/auth/keys Revoke Api Key #
GET /api/v1/auth/keys/me Get Current Key Info #
POST /api/v1/auth/resend-verify Resend Verify Email #
POST /api/v1/auth/keys/rotate Rotate Api 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/cryptodataapi-com:cryptodataapi-com-authentication-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

cryptodataapi-com-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Crypto Data Authentication API
  description: 'Real-time crypto market intelligence API. Built for AI agents: gasless USDC payments via x402 protocol, one-call onboarding, and 180+ endpoints for prices, derivatives, funding, and sentiment.'
  version: '2026-10-28'
servers:
- url: https://cryptodataapi.com
tags:
- name: Authentication
  description: API key management — create, inspect, rotate, and revoke `cdk_live_` keys.
paths:
  /api/v1/auth/keys:
    post:
      tags:
      - Authentication
      summary: Create Api Key
      description: Create a new free-tier API key. The full key is only shown once.
      operationId: create_api_key_api_v1_auth_keys_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APIKeyCreate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Authentication
      summary: Revoke Api Key
      description: Revoke the current API key. 7-day cooldown before new key creation.
      operationId: revoke_api_key_api_v1_auth_keys_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Revoke Api Key Api V1 Auth Keys Delete
      security:
      - APIKeyHeader: []
  /api/v1/auth/keys/me:
    get:
      tags:
      - Authentication
      summary: Get Current Key Info
      description: 'Get information about the current API key.


        Shares key_limits_block with the mint and /resend-verify, so the three

        surfaces cannot disagree about what this key may do.


        Reports the EFFECTIVE limits (limits_for), not the tier''s headline numbers —

        a free key whose email is unverified is on the smaller starter allowance, and

        a dashboard or agent that showed the tier default would be promising quota

        the limiter won''t honour.'
      operationId: get_current_key_info_api_v1_auth_keys_me_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyInfo'
      security:
      - APIKeyHeader: []
  /api/v1/auth/resend-verify:
    post:
      tags:
      - Authentication
      summary: Resend Verify Email
      description: 'Re-send the confirmation link for this key''s email address.


        Exists so an agent that hits the unverified daily cap can get its human back

        on track without leaving the session — the 429 body names this endpoint. The

        10-minute resend cooldown inside _issue_verify is the abuse floor.


        Only ever acts on the CALLER''S OWN key, so the outcome is reported honestly

        rather than blurred: there is no other account''s state to probe here, and a

        vague "sent" for a mail that never went out just sends an agent back to wait

        for an email that will never arrive.'
      operationId: resend_verify_email_api_v1_auth_resend_verify_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /api/v1/auth/keys/rotate:
    post:
      tags:
      - Authentication
      summary: Rotate Api Key
      description: Rotate the current API key. Invalidates the old key.
      operationId: rotate_api_key_api_v1_auth_keys_rotate_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyRotateResponse'
      security:
      - APIKeyHeader: []
components:
  schemas:
    APIKeyInfo:
      properties:
        key_prefix:
          type: string
          title: Key Prefix
        email:
          type: string
          title: Email
        tier:
          type: string
          title: Tier
        is_active:
          type: boolean
          title: Is Active
        requests_today:
          type: integer
          title: Requests Today
        daily_limit:
          title: Daily Limit
          type:
          - integer
          - 'null'
        created_at:
          type: string
          format: date-time
          title: Created At
        expires_at:
          title: Expires At
          type:
          - string
          - 'null'
          format: date-time
        per_minute_limit:
          title: Per Minute Limit
          type:
          - integer
          - 'null'
        email_verified:
          type: boolean
          title: Email Verified
          default: false
        verified_daily_limit:
          title: Verified Daily Limit
          type:
          - integer
          - 'null'
        upgrade_message:
          title: Upgrade Message
          type:
          - string
          - 'null'
        rate_limit_scope:
          title: Rate Limit Scope
          type:
          - string
          - 'null'
        upgrade:
          title: Upgrade
          additionalProperties: true
          type:
          - object
          - 'null'
      type: object
      required:
      - key_prefix
      - email
      - tier
      - is_active
      - requests_today
      - daily_limit
      - created_at
      - expires_at
      title: APIKeyInfo
      description: API key information (without the full key).
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    APIKeyCreate:
      properties:
        email:
          type: string
          title: Email
          description: 'Where the confirmation link goes. Agents, in this order: your human''s real email (ask them); else your own agent mailbox (a Grok bot can set one up as your-bot@mail.grokbot.com); else create one you can read. Opening the link lifts this key from 100 to 1,000 requests/day and switches Pro on for 24 hours. A placeholder like you@example.com can never be confirmed.'
          example: owner@yourcompany.com
      type: object
      required:
      - email
      title: APIKeyCreate
      description: Request body for creating an API key.
    APIKeyRotateResponse:
      properties:
        api_key:
          type: string
          title: Api Key
        key_prefix:
          type: string
          title: Key Prefix
        message:
          type: string
          title: Message
          default: Your old API key has been invalidated. Save this new key securely.
      type: object
      required:
      - api_key
      - key_prefix
      title: APIKeyRotateResponse
      description: Response after rotating an API key.
    APIKeyResponse:
      properties:
        api_key:
          type: string
          title: Api Key
        key_prefix:
          type: string
          title: Key Prefix
        email:
          type: string
          title: Email
        tier:
          type: string
          title: Tier
        created_at:
          type: string
          format: date-time
          title: Created At
        message:
          type: string
          title: Message
          default: Save this API key securely. It will not be shown again.
        daily_limit:
          title: Daily Limit
          type:
          - integer
          - 'null'
        per_minute_limit:
          title: Per Minute Limit
          type:
          - integer
          - 'null'
        rate_limit_scope:
          title: Rate Limit Scope
          type:
          - string
          - 'null'
        email_verified:
          type: boolean
          title: Email Verified
          default: false
        verified_daily_limit:
          title: Verified Daily Limit
          type:
          - integer
          - 'null'
        next_step:
          title: Next Step
          type:
          - string
          - 'null'
        upgrade:
          title: Upgrade
          additionalProperties: true
          type:
          - object
          - 'null'
        next_calls:
          title: Next Calls
          additionalProperties: true
          type:
          - object
          - 'null'
      type: object
      required:
      - api_key
      - key_prefix
      - email
      - tier
      - created_at
      title: APIKeyResponse
      description: 'Response after creating an API key (only time full key is shown).


        Carries the SAME limits block as APIKeyInfo (built by

        src.services.tier_copy.key_limits_block). Until 2026-08-26 this returned the

        key and nothing else: a caller minting from outside the website — which is

        overwhelmingly an AI agent via the MCP tool — learned neither the 100/day cap

        it had just landed on nor that confirming the address lifts it, until a 429

        told it. All fields below are additive with defaults, so an existing consumer

        parsing this model is unaffected.'
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key