diff options
Diffstat (limited to 'docs/api')
-rw-r--r-- | docs/api/ratelimiting.md | 12 | ||||
-rw-r--r-- | docs/api/swagger.yaml | 10 |
2 files changed, 14 insertions, 8 deletions
diff --git a/docs/api/ratelimiting.md b/docs/api/ratelimiting.md index a9ca07390..09b554093 100644 --- a/docs/api/ratelimiting.md +++ b/docs/api/ratelimiting.md @@ -1,10 +1,16 @@ # Rate Limit -To mitigate abuse + scraping of your instance, an IP-based HTTP rate limit is in place. +To mitigate abuse + scraping of your instance, IP-based HTTP rate limiting is in place. -This rate limit applies not just to the API, but to all requests (web, federation, etc). +There are separate rate limiters configured for different groupings of endpoints. In other words, being rate limited for one part of the API doesn't necessarily mean you will be rate limited for other parts. Each entry in the following list has a separate rate limiter: -By default, a maximum of 1000 requests in a 5 minute time window are allowed. +- `/users/*` and `/emoji/*` - ActivityPub (s2s) endpoints. +- `/auth/*` and `/oauth/*` - Sign in + OAUTH token requests. +- `/fileserver/*` - Media attachments, emojis, etc. +- `/nodeinfo/*` - NodeInfo endpoint(s). +- `/.well-known/*` - webfinger + nodeinfo requests. + +By default, each rate limiter allows a maximum of 300 requests in a 5 minute time window: 1 request per second per client IP address. Every response will include the current status of the rate limit with the following headers: diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml index b790cb71b..a900a31d5 100644 --- a/docs/api/swagger.yaml +++ b/docs/api/swagger.yaml @@ -1914,7 +1914,7 @@ definitions: title: SwaggerCollection represents an activitypub collection. type: object x-go-name: SwaggerCollection - x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/s2s/user + x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/activitypub/users swaggerCollectionPage: properties: id: @@ -1949,7 +1949,7 @@ definitions: title: SwaggerCollectionPage represents one page of a collection. type: object x-go-name: SwaggerCollectionPage - x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/s2s/user + x-go-package: github.com/superseriousbusiness/gotosocial/internal/api/activitypub/users tag: properties: name: @@ -2049,9 +2049,9 @@ paths: description: "" schema: $ref: '#/definitions/wellKnownResponse' - summary: Directs callers to /nodeinfo/2.0. + summary: Returns a well-known response which redirects callers to `/nodeinfo/2.0`. tags: - - nodeinfo + - .well-known /.well-known/webfinger: get: description: |- @@ -2074,7 +2074,7 @@ paths: $ref: '#/definitions/wellKnownResponse' summary: Handles webfinger account lookup requests. tags: - - webfinger + - .well-known /api/{api_version}/media: post: consumes: |