API Overview
Stack offers a REST API for backends & frontends of any programming language or framework. This API is used to authenticate users, manage user data, and more.
Authentication
The following authentication headers are common to every endpoint:
To see how to use these headers in various programming languages, see the examples.
FAQ
Which languages are supported?
Any language that has the ability to send HTTP requests can use the Stack REST API. This includes JavaScript, Python, Ruby, Java, Go, C#, Dart, and many more.
Should I use client or server access type?
Client access type is mostly used for client-side applications, like a browser or mobile app. The client APIs can only read and update the currently authenticated user’s data, and it is usually fine to post the publishable client key in the client-side code.
Server access type, on the other hand, is for your backend server that you control. It has full access over all user data, and the secret server key should never be exposed to client-side code.
For more information, see the concept documentation on StackApp.
What is this 'admin' access type that I see?
If you’d like to build your own version of the Stack dashboard (or update project configuration programmatically), you can use the admin
access type. These endpoints are very dangerous and you should only use them if you know what you’re doing.
For more information, see the concept documentation on StackApp.