GitLab Documentation

Project snippets

Snippet visibility level

Snippets in GitLab can be either private, internal or public. You can set it with the visibility field in the snippet.

Constants for snippet visibility levels are:

visibility Description
private The snippet is visible only the snippet creator
internal The snippet is visible for any logged in user
public The snippet can be accessed without any authentication

List snippets

Get a list of project snippets.

GET /projects/:id/snippets


Single snippet

Get a single project snippet.

GET /projects/:id/snippets/:snippet_id


  "id": 1,
  "title": "test",
  "file_name": "add.rb",
  "description": "Ruby test snippet",
  "author": {
    "id": 1,
    "username": "john_smith",
    "email": "",
    "name": "John Smith",
    "state": "active",
    "created_at": "2012-05-23T08:00:58Z"
  "updated_at": "2012-06-28T10:52:04Z",
  "created_at": "2012-06-28T10:52:04Z",
  "web_url": ""

Create new snippet

Creates a new project snippet. The user must have permission to create new snippets.

POST /projects/:id/snippets


Update snippet

Updates an existing project snippet. The user must have permission to change an existing snippet.

PUT /projects/:id/snippets/:snippet_id


Delete snippet

Deletes an existing project snippet. This returns a 204 No Content status code if the operation was successfully or 404 if the resource was not found.

DELETE /projects/:id/snippets/:snippet_id


Snippet content

Returns the raw project snippet as plain text.

GET /projects/:id/snippets/:snippet_id/raw


Get user agent details

Notes: Introduced in GitLab 9.4.

Available only for admins.

GET /projects/:id/snippets/:snippet_id/user_agent_detail
Attribute Type Required Description
id Integer yes The ID of a snippet
curl --request GET --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"

Example response:

  "user_agent": "AppleWebKit/537.36",
  "ip_address": "",
  "akismet_submitted": false