2012-09-06 09:50:47 +02:00
# GitLab API
2012-07-05 15:57:45 +02:00
2013-01-28 14:49:27 +01:00
All API requests require authentication. You need to pass a `private_token` parameter by url or header. If passed as header, the header name must be "PRIVATE-TOKEN" (capital and with dash instead of underscore). 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"
}
```
2013-01-28 10:59:39 +01:00
API requests should be prefixed with `api` and the API version. The API version 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
```
2012-12-21 18:55:39 +01:00
GET http://example.com/api/v3/projects?private_token=QVy1PB7sTxfy4pqfZM1U
2012-07-05 15:57:45 +02:00
```
2013-01-28 14:49:27 +01:00
Example for a valid API request using curl and authentication via header:
```
curl --header "PRIVATE-TOKEN: QVy1PB7sTxfy4pqfZM1U" "http://example.com/api/v3/projects"
```
2012-07-05 15:57:45 +02:00
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
2012-12-01 11:07:57 +01:00
+ `per_page` (default: `20` , max: `100` ) - number of items to list per page
2012-09-03 13:46:29 +02:00
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 )
2013-02-01 14:59:22 +01:00
+ [Groups ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/groups.md )
2012-08-25 18:21:11 +02:00
+ [Snippets ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/snippets.md )
2012-09-21 14:06:36 +02:00
+ [Repositories ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/repositories.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-12-01 11:07:57 +01:00
+ [Notes ](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/notes.md )