2012-09-06 09:50:47 +02:00
# GitLab API
2012-07-05 15:57:45 +02:00
2012-08-14 18:54:25 +02:00
All API requests require authentication. You need to pass a `private_token` parameter to authenticate. You can find or reset your private token in your profile.
2012-07-05 15:57:45 +02:00
2012-08-14 18:54:25 +02:00
If no, or an invalid, `private_token` is provided then an error message will be returned with status code 401:
2012-07-05 15:57:45 +02:00
```json
{
"message": "401 Unauthorized"
}
```
2012-09-06 09:50:47 +02: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 15:57:45 +02:00
2012-08-14 18:54:25 +02:00
Example of a valid API request:
2012-07-05 15:57:45 +02: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 13:46:29 +02: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 15:57:45 +02:00
## Contents
+ [Users ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/users.md )
2012-09-20 16:44:44 +02:00
+ [Session ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/session.md )
2012-07-05 15:57:45 +02:00
+ [Projects ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md )
2012-08-25 18:21:11 +02:00
+ [Snippets ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/snippets.md )
2012-07-24 14:25:01 +02:00
+ [Issues ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/issues.md )
2012-08-29 14:45:00 +02:00
+ [Milestones ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/milestones.md )
2012-09-16 17:21:59 +02:00
+ [SSH Keys ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/keys.md )