2012-09-06 03:50:47 -04:00
# GitLab API
2012-07-05 09:57:45 -04:00
2012-10-02 11:52:19 -04:00
All API requests require authentication. You need to pass a `private_token` parameter by url or header. You can find or reset your private token in your profile.
2012-07-05 09:57:45 -04:00
2012-08-14 12:54:25 -04:00
If no, or an invalid, `private_token` is provided then an error message will be returned with status code 401:
2012-07-05 09:57:45 -04:00
```json
{
"message": "401 Unauthorized"
}
```
2012-09-06 03:50:47 -04:00
API requests should be prefixed with `api` and the API version. The API version is equal to the GitLab major version number, which is defined in `lib/api.rb` .
2012-07-05 09:57:45 -04:00
2012-08-14 12:54:25 -04:00
Example of a valid API request:
2012-07-05 09:57:45 -04:00
```
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.
2012-09-03 07:46:29 -04:00
#### Pagination
When listing resources you can pass the following parameters:
+ `page` (default: `1` ) - page number
+ `per_page` (default: `20` , max: `100` ) - how many items to list per page
2012-07-05 09:57:45 -04:00
## Contents
+ [Users ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/users.md )
2012-09-20 10:44:44 -04:00
+ [Session ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/session.md )
2012-07-05 09:57:45 -04:00
+ [Projects ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md )
2012-08-25 12:21:11 -04:00
+ [Snippets ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/snippets.md )
2012-09-21 08:06:36 -04:00
+ [Repositories ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/repositories.md )
2012-07-24 08:25:01 -04:00
+ [Issues ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/issues.md )
2012-08-29 08:45:00 -04:00
+ [Milestones ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/milestones.md )