funquail/api
Shin'ya Minazuki 01bb65f8da 発散解像度 -divergence resolution-
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-01-25 22:47:30 +01:00
..
config 発散解像度 -divergence resolution- 2026-01-25 22:47:30 +01:00
docker Update entrypoint for Docker 2026-01-24 20:40:33 -03:00
funkwhale_api 発散解像度 -divergence resolution- 2026-01-25 22:47:30 +01:00
tests 音楽で楽しみましょう!-Let's have fun with music!- 2026-01-24 16:16:49 -03:00
.dockerignore fix: Make sure entrypoint script gets copied 2023-01-18 15:15:43 +01:00
dev-requirements.txt 発散解像度 -divergence resolution- 2026-01-25 22:47:30 +01:00
Dockerfile fix: Make sure build requirements for ujson are met 2023-09-28 10:49:51 +02:00
install_os_dependencies.sh chore: fix shell scripts lint errors 2022-11-25 19:43:50 +00:00
Makefile test(api): lint code using pylint 2023-01-29 12:47:02 +00:00
manage.py Update import paths 2026-01-24 19:54:33 -03:00
poetry.lock Update dj-rest-auth and django-allauth to 7.0.0 and 0.60.0 respectively 2026-01-25 12:05:22 +01:00
pyproject.toml 発散解像度 -divergence resolution- 2026-01-25 22:47:30 +01:00
Readme.md 音楽で楽しみましょう!-Let's have fun with music!- 2026-01-24 16:16:49 -03:00
requirements.txt 発散解像度 -divergence resolution- 2026-01-25 22:47:30 +01:00

FunQuail API

This is the FunQuail API. Check out our API explorer for interactive documentation.

OAuth Authentication

FunQuail uses the OAuth authorization grant flow for external apps. This flow is a secure way to authenticate apps that requires a user's explicit consent to perform actions. You can use our demo server at https://demo.funkwhale.audio for testing purposes.

To authenticate with the FunQuail API:

  1. Create an application by sending a POST request to api/v1/oauth/apps. Include your scopes and redirect URI (use urn:ietf:wg:oauth:2.0:oob to get an authorization code you can copy)
  2. Send an authorization request to the /authorize endpoint to receive an authorization code
  3. Request an access token from /api/v1/oauth/token
  4. Use your access token to authenticate your calls with the following format: Authorization: Bearer <token>
  5. Refresh your access token by sending a refresh request to /api/v1/oauth/token

For more detailed instructions, see our API authentication documentation.

Application token authentication

If you have an account on your target pod, you can create an application at /settings/applications/new. Once you authorize the application you can retrieve an access token. Use your access token to authenticate your calls with the following format: Authorization: Bearer <token>

Rate limiting

FunQuail supports rate-limiting as of version 0.2.0. Pod admins can choose to rate limit specific endpoints to prevent abuse and improve the stability of the service. If the server drops a request due to rate-limiting, it returns a 429 status code.

Each API call returns HTTP headers to pass the following information:

  • What was the scope of the request (X-RateLimit-Scope)
  • What is the rate-limit associated with the request scope (X-RateLimit-Limit)
  • How many more requests in the scope can be made within the rate-limit timeframe (X-RateLimit-Remaining)
  • How much time does the client need to wait to send another request (Retry-After)

For more information, check our rate limit documentation

Resources

For more information about API usage, refer to our API documentation.