Skip to content

Routes and Methods

GoToSocial uses go-swagger to generate a V2 OpenAPI specification document from code annotations.

The resulting API documentation is rendered below. Please note that the doc is intended for reference only. You will not be able to use the built-in Authorize functionality in the below widget to actually connect to an instance or make API calls. Instead, you should use something like curl, Postman, or similar.

Most of the GoToSocial API endpoints require a user-level OAuth token. For a guide on how to authenticate with the API using an OAuth token, see the authentication doc.


If you'd like to do more with the spec, you can also view the swagger.yaml directly, and then paste it into something like the Swagger Editor. That way you can try autogenerating GoToSocial API clients in different languages (not supported, but fun), or convert the doc to JSON or OpenAPI v3 specification, etc. See here for more.

Gotcha: uploading files

When using an API endpoint that involves submitting a form to upload files (eg., the media attachments endpoints, or the emoji upload endpoint, etc), please note that filename is a required on the form field, due to the dependency that GoToSocial uses to parse forms, and some quirks in Go.

See the following issues for more context: