oauth

Authorization endpoint (authorization code + PKCE)

Browser entry point of the authorization-code flow. Validates the request, then sends the person to Microsoft sign-in (if needed) and the Presify consent page; on approval the browser is redirected to redirect_uri with code and state. PKCE with S256 is required. A client_id that is an https URL names a Client ID Metadata Document: Presify fetches it (https only, public addresses only, no redirects, at most 5 KB, cached per its Cache-Control), and a document it cannot fetch or validate is treated as an unknown client. An unknown client_id, an unregistered redirect_uri, or any error for a redirect_uri Presify has not verified (anything other than a known AI assistant callback or a loopback address) renders a local error page and never redirects (open-redirect guard); for a verified or loopback redirect_uri, errors redirect back to the client with error and error_description.

get/api/oauth/authorize

Request

  • Base URL: https://app.presify.io
  • URL: https://app.presify.io/api/oauth/authorize
  • Auth: none declared

Query parameters

response_type'code' required

Must be code.

string uuid required

Client registered through dynamic client registration (RFC 7591).

OR
string uri required

Client ID Metadata Document URL: https, no port, query or fragment, served from a public host.

Client identifier: the UUID from dynamic client registration, or the https URL of the client's Client ID Metadata Document.

redirect_uristring uri required

One of the redirect URIs registered for the client or listed in its Client ID Metadata Document (exact match; for a metadata-document client, a plain-http loopback URI may use any port, RFC 8252 section 7.3).

code_challengestring required

PKCE code challenge (base64url, 43 to 128 characters).

code_challenge_method'S256' required

Must be S256.

statestring

Opaque client state, echoed back on the redirect.

scopestring

Requested scope. Empty or presify:read; anything else is rejected.

resourcestring uri

RFC 8707 resource indicator. Must normalize to https://app.presify.io/api/mcp.

Changes

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