# Gitlab APIAll API requests require authentication. You need to pass `private_token` parameter to authenticate.To get or reset your token visit your profile.If no or invalid `private_token` provided error message will be returned with status code 401:```json{"message":"401 Unauthorized"}```API requests should be prefixed with `api` and the API version.API version is equal to Gitlab major version number and defined in `lib/api.rb`.Example of valid API request:```GET http://example.com/api/v2/projects?private_token=QVy1PB7sTxfy4pqfZM1U```The API uses JSON to serialize data. You don't need to specify `.json` at the end of API URL.## Contents+[Users](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/users.md)+[Projects](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md)