WeaveAPI - OpenAI-compatible AI API Gateway · Authentication Profile
Weaveapi Authentication
Authentication
WeaveAPI - OpenAI-compatible AI API Gateway secures its APIs with apiKey across 0 declared security schemes, as derived from its OpenAPI definitions.
Artificial IntelligenceLLMAI InferenceAPI GatewayAggregatorOpenAI-CompatibleDeveloper ToolsModel RoutingLLM Gatewayprepaid creditsAgent ToolsModel Marketplace
Methods: apiKey
Schemes: 0
OAuth flows:
API key in: header
Security Schemes
Source
Authentication Profile
generated: '2026-08-11'
method: searched
source: https://weaveapi.dev/docs/
docs: https://weaveapi.dev/docs/
summary:
types: [apiKey]
api_key_in: [header]
scheme: bearer
oauth2_flows: []
scopes_supported: false
note: >-
The WeaveAPI API itself has exactly one authentication mechanism: a bearer API key in the
Authorization header. There is no OAuth on the API surface, no scopes, no per-key permissions
documented, and no key-prefix convention published. The OAuth/OIDC/passkey machinery below belongs
to the hosted CONSOLE (human login), not to the API — the two are recorded separately because
conflating them would credit WeaveAPI with an API authorization model it does not have.
api_authentication:
schemes:
- name: bearerAuth
type: http
scheme: bearer
in: header
parameter_name: Authorization
format: 'Authorization: Bearer YOUR_WEAVEAPI_KEY'
applies_to: All /v1 routes
source: https://weaveapi.dev/docs/
issued_via: Console → Token Management
rotation: >-
"Create and rotate API keys in the hosted console." Rotation is self-serve; no rotation policy,
key lifetime, or expiry is published.
scopes: []
key_prefix: null
key_prefix_note: >-
No test/live key prefix convention is documented, and no sandbox/test key mode exists — a
WeaveAPI key is a live key. Not published, not inferable without an account.
verified_behavior:
method: probed
fetched: '2026-08-11'
observations:
- request: GET https://api.weaveapi.dev/v1/models with no Authorization header
status: 401
body: '{"error":{"code":"","message":"Invalid token (request id: …)","type":"new_api_error"}}'
- request: GET https://api.weaveapi.dev/v1/models with an invalid bearer token
status: 401
body: '{"error":{"code":"","message":"Invalid token (request id: …)","type":"new_api_error"}}'
note: >-
A missing credential and a wrong credential are indistinguishable — both return the identical
401 "Invalid token". No WWW-Authenticate challenge header is returned on either.
- request: POST https://api.weaveapi.dev/v1/chat/completions with no Authorization header
status: 401
www_authenticate_header: false
anthropic_compatible_route:
base_url: https://api.weaveapi.dev
path: /v1/messages
auth: >-
Documented as the same WeaveAPI key. The Claude Code guide instructs the developer to set the base
URL WITHOUT /v1 because the client appends the messages path itself, and to place the key in the
CC Switch provider API Key field.
probed_status: 401
source: https://weaveapi.dev/docs/claude-code-cc-switch/
# Console/account identity — human login to the hosted console. NOT API authorization.
console_authentication:
method: probed
source: https://api.weaveapi.dev/api/status
host: https://console.weaveapi.dev
methods:
- type: password
enabled: true
registration_enabled: true
email_verification_required: true
- type: oauth2
provider: GitHub
enabled: true
note: GitHub OAuth login for the console.
- type: openIdConnect
provider: Google
enabled: true
authorization_endpoint: https://accounts.google.com/o/oauth2/v2/auth
note: Google OIDC login for the console.
- type: webauthn
name: passkey
enabled: true
relying_party_id: console.weaveapi.dev
display_name: WeaveAPI
user_verification: preferred
note: >-
Passkey / WebAuthn login is supported on the console. This is the strongest authentication
control WeaveAPI operates, and it is on the human surface only.
bot_protection:
provider: Cloudflare Turnstile
enabled: true
mfa_for_api_keys: false
mfa_note: >-
No MFA, IP allowlisting, or key-scoping is documented for API keys themselves. Account access can be
hardened with a passkey; the credential that actually calls the API cannot be.
gaps:
- No scopes or per-key permissions — one key grants the account's full API surface.
- No key expiry, TTL, or documented rotation policy.
- No test/live key separation and no key prefix convention.
- No WWW-Authenticate challenge on 401.
- No /.well-known/oauth-authorization-server or /.well-known/oauth-protected-resource (both 404).
- Missing credential and invalid credential return identical responses.
x-evidence:
- url: https://weaveapi.dev/docs/
http_status: 200
- url: https://api.weaveapi.dev/v1/models
http_status: 401
- url: https://api.weaveapi.dev/api/status
http_status: 200
- url: https://api.weaveapi.dev/.well-known/oauth-authorization-server
http_status: 404
- url: https://weaveapi.dev/docs/claude-code-cc-switch/
http_status: 200
Work with this as data
Every security artifact 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 security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.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.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/weaveapi-authentication"
All security posture
curl "https://apis.io/api/v1/security?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.