OAuth
OAuth Authorization Endpoint
Initiate OAuth authorization flow and get consent screen information
get/oauth/authorize
Query parameters
response_type'code' required
OAuth response type, must be 'code'
Example:code
OAuth response type, must be 'code'
client_idstring required
Client ID of the OAuth application
Example:mid_client_abcdef123456789
Client ID of the OAuth application
redirect_uristring uri required
Redirect URI for OAuth callback
Example:https://myapp.com/callback
Redirect URI for OAuth callback
scopestring required
Space-separated list of requested scopes
Example:transactions.read invoices.read
Space-separated list of requested scopes
statestring required
Opaque state parameter for CSRF protection
Example:abc123xyz789_secure-random-state-value
Opaque state parameter for CSRF protection
code_challengestring
Code challenge for PKCE (S256)
Example:E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
Code challenge for PKCE (S256)
code_challenge_method'S256'
Code challenge method, must be S256
Example:S256
Code challenge method, must be S256
resourcestring uri
Resource parameter per RFC 9728 — identifies the MCP server
Example:https://api.midday.ai
Resource parameter per RFC 9728 — identifies the MCP server
Response
Application information for consent screen
Example response
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "My Raycast Extension",
"description": "A Raycast extension for managing transactions",
"overview": "This application provides advanced transaction management features including:\n- Real-time sync\n- Advanced filtering",
"developerName": "Acme Corp",
"logoUrl": "https://example.com/logo.png",
"website": "https://myapp.com",
"installUrl": "https://myapp.com/install",
"screenshots": [
"https://example.com/screenshot1.png",
"https://example.com/screenshot2.png"
],
"clientId": "mid_client_abcdef123456789",
"scopes": [
"transactions.read",
"invoices.read"
],
"redirectUri": "https://myapp.com/callback",
"state": "abc123xyz789_secure-random-state-value",
"status": "approved"
}