{
  "opencollection": "1.0.0",
  "info": {
    "name": "Opik REST MCP OAuth API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "MCP OAuth",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "OAuth Authorization Endpoint",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:5173/api/oauth/authorize",
            "params": [
              {
                "name": "client_id",
                "value": "",
                "type": "query"
              },
              {
                "name": "redirect_uri",
                "value": "",
                "type": "query"
              },
              {
                "name": "response_type",
                "value": "",
                "type": "query"
              },
              {
                "name": "code_challenge",
                "value": "",
                "type": "query"
              },
              {
                "name": "code_challenge_method",
                "value": "",
                "type": "query"
              },
              {
                "name": "resource",
                "value": "",
                "type": "query"
              },
              {
                "name": "state",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "OAuth 2.1 authorization endpoint (RFC 6749 §3.1). Validates the client and PKCE parameters, then redirects to the login or consent page"
        },
        {
          "info": {
            "name": "Submit Authorization Consent",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:5173/api/oauth/authorize",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Submit the user's consent, issue an authorization code, and return the client redirect target"
        },
        {
          "info": {
            "name": "Get Authorization Consent Context",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:5173/api/oauth/authorize/context",
            "params": [
              {
                "name": "client_id",
                "value": "",
                "type": "query"
              },
              {
                "name": "redirect_uri",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Get the client details, eligible workspaces, and a CSRF token used to render the consent screen"
        },
        {
          "info": {
            "name": "Get OAuth Authorization Server Metadata",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "http://localhost:5173/api/.well-known/oauth-authorization-server"
          },
          "docs": "Get OAuth 2.1 Authorization Server Metadata (RFC 8414)"
        },
        {
          "info": {
            "name": "OAuth Dynamic Client Registration Endpoint",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:5173/api/oauth/register",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "OAuth 2.0 Dynamic Client Registration (RFC 7591). Registers a public client for the MCP OAuth flow; throttled per source IP"
        },
        {
          "info": {
            "name": "OAuth Token Revocation Endpoint",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:5173/api/oauth/revoke",
            "body": {
              "type": "form-urlencoded",
              "data": [
                {
                  "name": "token",
                  "value": ""
                },
                {
                  "name": "client_id",
                  "value": ""
                }
              ]
            }
          },
          "docs": "OAuth 2.0 token revocation endpoint (RFC 7009). Always returns 200, whether the token was revoked, never existed, or was invalid"
        },
        {
          "info": {
            "name": "OAuth Token Endpoint",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:5173/api/oauth/token",
            "body": {
              "type": "form-urlencoded",
              "data": [
                {
                  "name": "grant_type",
                  "value": ""
                },
                {
                  "name": "code",
                  "value": ""
                },
                {
                  "name": "redirect_uri",
                  "value": ""
                },
                {
                  "name": "client_id",
                  "value": ""
                },
                {
                  "name": "code_verifier",
                  "value": ""
                },
                {
                  "name": "refresh_token",
                  "value": ""
                }
              ]
            }
          },
          "docs": "OAuth 2.1 token endpoint (RFC 6749 §4.1.3, §6). Exchanges an authorization code with PKCE or a refresh token for an access/refresh token pair"
        },
        {
          "info": {
            "name": "Validate OAuth Access Token",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "http://localhost:5173/api/opik/auth-oauth",
            "headers": [
              {
                "name": "Authorization",
                "value": ""
              }
            ]
          },
          "docs": "Introspects a bearer access token and returns the identity it resolves to"
        }
      ]
    }
  ],
  "bundled": true
}