Birdeye · Authentication Profile
Birdeye Authentication
Authentication
Birdeye secures its APIs with apiKey and oauth2 across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).
Reputation ManagementReviewsCustomer ExperienceSurveysMessagingMulti-LocationArtificial Intelligence
Methods: apiKey, oauth2
Schemes: 2
OAuth flows: authorizationCode
API key in: header
Security Schemes
apiKey apiKey
· in: header (x-api-key)
oauth2 oauth2
Source
Authentication Profile
generated: '2026-08-13'
method: searched
source: https://docs.birdeye.com/api/authentication
docs:
rest: https://docs.birdeye.com/api/authentication
mcp: https://docs.birdeye.com/mcp/authentication
key_retrieval: >-
https://support.birdeye.com/en/articles/12653964-where-can-i-find-the-api-key-for-my-account
summary:
types: [apiKey, oauth2]
api_key_in: [header]
oauth2_flows: [authorizationCode]
surfaces:
rest: apiKey
mcp: oauth2
note: >-
Two distinct auth models on two distinct surfaces. The REST API at api.birdeye.com is
API-key only. The MCP server at mcp.birdeye.com is OAuth 2.0 only. There is no OAuth
for the REST API and no API key for MCP.
schemes:
- name: apiKey
type: apiKey
in: header
parameter: x-api-key
surface: rest
description: >-
Partner-specific API key provided by Birdeye for data exchange. Required and
mandatory on all API requests targeting business accounts. Retrieved from the Birdeye
dashboard; confidential.
handling_requirement: >-
Birdeye requires the key be sent only from a backend server — never from a browser
and never exposed in client-side code.
scope: per business account
rotation: undocumented
expiry: none documented
history: >-
Before 2026-02-11 the key was passed as a query parameter; the changelog records the
move to the x-api-key header. EU-region business accounts were called out as
header-mandatory on 2026-01-19.
sources:
- openapi/birdeye-reviews-api-openapi.yml
- https://docs.birdeye.com/api/authentication
spec_note: >-
The provider-published OpenAPI (docs.birdeye.com/api/openapi.yaml) declares
`security: []` at the root and defines NO components.securitySchemes, so the API key
requirement lives only in prose. The refined per-tag specs in openapi/ do declare an
apiKey scheme and apply it — that is an API Evangelist enhancement, captured in
overlays/, not something Birdeye publishes.
- name: oauth2
type: oauth2
surface: mcp
flow: authorizationCode
pkce: [S256]
dynamic_client_registration: true
authorization_server: https://mcp.birdeye.com/
authorization_endpoint: https://mcp.birdeye.com/authorize
token_endpoint: https://mcp.birdeye.com/token
registration_endpoint: https://mcp.birdeye.com/register
revocation_endpoint: https://mcp.birdeye.com/revoke
grant_types: [authorization_code, refresh_token]
token_endpoint_auth_methods: [client_secret_post, client_secret_basic]
scopes: [openid, profile, email]
scope_detail: scopes/birdeye-scopes.yml
protected_resource: https://mcp.birdeye.com/mcp
protected_resource_metadata: https://mcp.birdeye.com/.well-known/oauth-protected-resource/mcp
bearer_methods: [header]
client_id_metadata_document_supported: true
preauthorized_clients: [Claude (claude.ai), ChatGPT (chatgpt.com)]
client_registration_note: >-
Any other MCP client must register its redirect URI with Birdeye Support before the
OAuth flow will complete.
sources:
- https://mcp.birdeye.com/.well-known/oauth-authorization-server
- https://docs.birdeye.com/mcp/authentication
webhook_callback_auth:
mechanism: HTTP Basic (subscriber-supplied username/password)
scope: outbound webhook delivery from Birdeye to the subscriber endpoint
signature: none
detail: asyncapi/birdeye-webhooks.yml
enterprise_identity:
sso: true
scim: true
rbac: true
source: https://birdeye.com/security/
note: Platform-level SSO/SCIM/RBAC for the Birdeye application, not an API auth mode.
x-evidence:
- url: https://api.birdeye.com/
http_status: 401
body: '{"code":4011,"message":"User is not authorized to perform this action."}'
fetched: '2026-08-13'
- url: https://mcp.birdeye.com/.well-known/oauth-authorization-server
http_status: 200
fetched: '2026-08-13'
- url: https://docs.birdeye.com/api/authentication.md
http_status: 200
fetched: '2026-08-13'