Fusio Authorization API

The Fusio Authorization API is the OAuth2 authorization server Fusio ships in the product. It issues and refreshes access tokens across the authorization_code, client_credentials, password and refresh_token grants, resolves the identity behind a token, and revokes tokens. It is advertised through RFC 8414 authorization-server metadata, RFC 9728 protected-resource metadata and an OpenID Connect discovery document served from the same instance.

Operations 2

GET /authorization/whoami #
POST /authorization/revoke #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fusio-authorization-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fusio-authorization.json Raw ↑
{
    "openapi": "3.0.3",
    "info": {
        "title": "Fusio",
        "description": "Self-Hosted API Management for Builders.",
        "version": "1"
    },
    "servers": [
        {
            "url": "https://demo.fusio-project.org"
        }
    ],
    "paths": {
        "/authorization/whoami": {
            "get": {
                "tags": [
                    "authorization"
                ],
                "description": "Returns user data of the current authenticated user",
                "operationId": "authorization.getWhoami",
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Backend_User"
                                }
                            }
                        }
                    },
                    "4XX": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Common_Message"
                                }
                            }
                        }
                    },
                    "5XX": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Common_Message"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "app": [
                            "authorization"
                        ]
                    }
                ]
            }
        },
        "/authorization/revoke": {
            "post": {
                "tags": [
                    "authorization"
                ],
                "description": "Revoke the access token of the current authenticated user",
                "operationId": "authorization.revoke",
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Common_Message"
                                }
                            }
                        }
                    },
                    "4XX": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Common_Message"
                                }
                            }
                        }
                    },
                    "5XX": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Common_Message"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "app": [
                            "authorization"
                        ]
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "Backend_App": {
                "description": "This object represents an app to access the API on-behalf of a user",
                "type": "object",
                "properties": {
                    "id": {
                        "description": "Unique identifier for the object",
                        "type": "integer"
                    },
                    "userId": {
                        "type": "integer"
                    },
                    "status": {
                        "description": "Status of the object either 1 = active, 2 = pending, 3 = deactivated or 4 = deleted",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Unique name of the object",
                        "type": "string"
                    },
                    "url": {
                        "description": "Url where the app is hosted",
                        "type": "string"
                    },
                    "parameters": {
                        "description": "Optional URL-encoded parameters of the app i.e. foo=bar&bar=foo",
                        "type": "string"
                    },
                    "appKey": {
                        "description": "The app key also known as client id which is generated on creation",
                        "type": "string"
                    },
                    "appSecret": {
                        "description": "The app secret also known as client secret which is generated on creation",
                        "type": "string"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/Common_Metadata"
                    },
                    "date": {
                        "description": "The create date of this object",
                        "type": "string",
                        "format": "date-time"
                    },
                    "scopes": {
                        "description": "A list of assigned scopes for this app",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "tokens": {
                        "description": "A list of tokens which are assigned to this app",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Backend_Token"
                        }
                    }
                }
            },
            "Backend_Token": {
                "description": "This object represents a token, this an access token which was requested by a user",
                "type": "object",
                "properties": {
                    "id": {
                        "description": "Unique identifier for the object",
                        "type": "integer"
                    },
                    "status": {
                        "description": "Status of the object either 1 = active or 2 = deleted",
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "scopes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ip": {
                        "type": "string"
                    },
                    "expire": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "date": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "Backend_User": {
                "description": "This object represents a user",
                "type": "object",
                "properties": {
                    "id": {
                        "description": "Unique identifier for the object",
                        "type": "integer"
                    },
                    "roleId": {
                        "description": "A role which is assigned to the user",
                        "type": "integer"
                    },
                    "planId": {
                        "description": "A plan which is assigned to the user",
                        "type": "integer"
                    },
                    "status": {
                        "description": "Status of the object either 1 = active, 2 = disabled or 0 = deleted",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Unique name of the object",
                        "type": "string"
                    },
                    "email": {
                        "description": "The email address of the user",
                        "type": "string"
                    },
                    "points": {
                        "description": "Points assigned to the user",
                        "type": "integer"
                    },
                    "scopes": {
                        "description": "List of scopes which are assigned to the user",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "apps": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Backend_App"
                        }
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/Common_Metadata"
                    },
                    "date": {
                        "description": "The insert date",
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "Common_Message": {
                "description": "Common error message",
                "type": "object",
                "properties": {
                    "success": {
                        "type": "boolean"
                    },
                    "message": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    }
                }
            },
            "Common_Metadata": {
                "type": "object",
                "additionalProperties": {
                    "type": "string"
                }
            }
        },
        "securitySchemes": {
            "app": {
                "type": "oauth2",
                "flows": {
                    "clientCredentials": {
                        "tokenUrl": "https://demo.fusio-project.org/authorization/token",
                        "refreshUrl": "https://demo.fusio-project.org/authorization/token",
                        "scopes": {
                            "authorization": "",
                            "openid": "OpenID scope"
                        }
                    },
                    "authorizationCode": {
                        "authorizationUrl": "https://demo.fusio-project.org/authorization/authorize",
                        "tokenUrl": "https://demo.fusio-project.org/authorization/token",
                        "refreshUrl": "https://demo.fusio-project.org/authorization/token",
                        "scopes": {
                            "authorization": "",
                            "openid": "OpenID scope"
                        }
                    }
                }
            }
        }
    }
}