Lacuna · Authentication Profile
Lacuna Authentication
Authentication
Lacuna secures its APIs with http and oauth2 across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).
AI MusicMusic GenerationAI Song GeneratorAI Lyrics GeneratorAudioMIDISongwritingGenerative AIMCP ServerAgentSkillA2ADeveloper Tools
Methods: http, oauth2
Schemes: 2
OAuth flows: authorizationCode
API key in: header
Security Schemes
bearerAuth http
scheme: bearer
oauth2 oauth2
· flows: authorizationCode
Source
Authentication Profile
generated: '2026-08-09'
method: searched
source: openapi/lacuna-music-openapi-original.json
docs: https://www.lacuna.fm/auth.md
discovery:
authorization_server_metadata: https://www.lacuna.fm/.well-known/oauth-authorization-server
protected_resource_metadata: https://www.lacuna.fm/.well-known/oauth-protected-resource
jwks_uri: https://www.lacuna.fm/.well-known/jwks.json
agent_auth_guide: https://www.lacuna.fm/auth.md
summary:
types:
- http
- oauth2
api_key_in:
- header
oauth2_flows:
- authorizationCode
anonymous_tier: false
notes: >-
Two credential paths, both requiring a human account holder at some point: a developer API key
(recommended for autonomous agents, the only browser-free path) or OAuth 2.0 authorization code
with PKCE for manually-registered first-party clients. Dynamic client registration (RFC 7591) is
explicitly NOT supported. The same Authorization: Bearer header is used across REST, MCP and A2A.
schemes:
- name: bearerAuth
type: http
scheme: bearer
description: >-
Lacuna developer API key issued from the dashboard at /profile/api and sent as
`Authorization: Bearer lyr_live_...`. Shown once at creation. Keys carry scopes and an optional
expiry set at creation time; revocation at the same URL takes effect immediately. Requires an
active Pro plan or above — the tier check runs on every request, so a downgrade invalidates
live keys without revoking them (403 permission_error / tier_insufficient).
key_prefix: lyr_live_
registration_url: https://www.lacuna.fm/profile/api
requires_human_interaction: true
sources:
- openapi/lacuna-music-openapi-original.json
- well-known/lacuna-auth.md
- a2a/lacuna-agent-card.json
- mcp/lacuna-mcp-server-card.json
- name: oauth2
type: oauth2
description: >-
OAuth 2.0 authorization code flow with PKCE (S256 required) for first-party clients registered
manually with Lacuna. Public clients — token_endpoint_auth_method is `none`. Access tokens live
15 minutes; refresh tokens are issued to the iOS client only.
flows:
- flow: authorizationCode
authorizationUrl: https://www.lacuna.fm/oauth/authorize
tokenUrl: https://www.lacuna.fm/oauth/token
revocationUrl: https://www.lacuna.fm/oauth/revoke
code_challenge_methods_supported:
- S256
scopes: 5
dynamic_client_registration: false
sources:
- well-known/lacuna-oauth-authorization-server.json
- well-known/lacuna-auth.md
- a2a/lacuna-agent-card.json
surfaces:
- surface: REST
endpoint: https://www.lacuna.fm/api/v1/music/generations
auth_required: true
- surface: MCP (Streamable HTTP)
endpoint: https://www.lacuna.fm/mcp
auth_required: partial
note: initialize and tools/list answer anonymously; tools/call requires a credential.
- surface: A2A (JSON-RPC)
endpoint: https://www.lacuna.fm/a2a
auth_required: true
note: Anonymous POST observed returning 401 authentication_error / invalid_api_key.
x-evidence:
fetched: '2026-08-09'
urls:
- url: https://www.lacuna.fm/auth.md
http_status: 200
- url: https://www.lacuna.fm/.well-known/oauth-authorization-server
http_status: 200
- url: https://www.lacuna.fm/.well-known/oauth-protected-resource
http_status: 200
- url: https://www.lacuna.fm/api/openapi.json
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/lacuna-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.