API Keys

Create a new API key (one-time reveal)

Generates a new hubq_{live|test}_… key for the authenticated user. The full_key field in the response is the ONLY time you can read the token — store it immediately. Active keys are bounded per workspace by the plan (Free 1, Builder 2, Team 5, Enterprise 10, live and test together).

post/api/v1/api-keys

Request

  • Base URL: https://api.hub-equity.com
  • URL: https://api.hub-equity.com/api/v1/api-keys
  • Auth: HTTP bearer

Request body

namestring required

Human-readable label

allowed_cidrsstring[] nullable

IP ranges (CIDR, IPv4 or IPv6) allowed to present this key (Enterprise plan); absent or empty = every IP. A call from outside the list is refused (401).

scopesstring[] nullable

Requested scopes, validated against your plan. If absent, defaults to your plan's scope set. A scope your plan does not grant is rejected (403). Grantable scopes: facts.public, screener.read (free) + facts.premium, export.write (builder and up) + export.bulk (team and up) + webhooks.manage (enterprise). admin:* is never self-grantable.

plan_override'free' | 'pro' | 'enterprise' nullable

DEPRECATED, ignored, and no longer stored: the backing column was dropped. The key's effective plan resolves from the workspace's plan at every verification. A value sent here is still ACCEPTED rather than rejected, on purpose -- turning a request that returns 200 today into a 422 would break a public write contract for a field that already has no effect.

environment'live' | 'test'

'test' generates a hubq_test_... key, 'live' generates hubq_live_...

expires_atstring date-time nullable

Optional TTL. NULL = no expiry.

tos_acceptedboolean nullable

Set to true after reading https://hub-equity.com/legal/api-terms. Required from the frontend; optional for curl/SDK callers.

tos_versionstring nullable

Version of the API Terms accepted (e.g. '1.0.0-draft'). Stored on the row to detect when a future update requires re-acceptance.

Response

API key created

successboolean required

Changes

No recorded changes to this operation across all 1 revision of this API.