diff --git a/docs/Server-Client API/index.md b/docs/Server-Client API/index.md index 431fa2b0..9b1e4af2 100644 --- a/docs/Server-Client API/index.md +++ b/docs/Server-Client API/index.md @@ -1,52 +1,20 @@ -# Server-Client API +# Start -### Authorization +The following pages document the server-client API of polyproto. Each file represents a group of +routes, organizing them by their purpose. -**Bearer token**, unless specified otherwise. +The core of the protocol lies in the [federation](federation.md) routes, which are used to +negotiate and establish connections between foreign servers and clients. -### Server - -`http://localhost:3001/api` +Theoretically, the polyproto-core federation protocol can be used with a different set of chat-APIs +However, a full implementation of the protocol requires the use of the +[polyproto-chat](chat/index.md) routes. There is no interoperability if different chat-APIs/protocols +are used. --- -## Federation tokens - -Routes concerning the creation, deletion and management of federation tokens. - -###
GET Generate Federation Token
- -`http://localhost:3001/api/federation/token` - -Ask your home server to generate a federation token for you. You can use this token to authenticate on another server. - -The token is signed using the home server's public signing key, so that other servers can verify its authenticity. - -#### Body +--8<-- "snippets/api.md" -```json -{ - "server": "https://server.example.com" -} -``` - -#### Response - -=== "200 OK" - - ##### Body - - ```json - "exampletoken" - ``` - -=== "404 Not Found" - - ##### Body +--- - ```json - { - "errcode": "PR_NOT_FEDERATED", - "error": "The server you are trying to generate a token for does not federate with this server. Either this server does not have federation enabled or at least one of the servers has denied federation with the other. Check with a server administrator for more information." - } - ``` \ No newline at end of file +--8<-- "snippets/glossary.md" \ No newline at end of file