Skip to content

Group Markdown uploads API

DETAILS: Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

Markdown uploads are files uploaded to a group that can be referenced in Markdown text in an epic or a wiki page.

List uploads

Get all uploads of the group sorted by created_at in descending order.

You must have at least the Maintainer role to use this endpoint.

GET /groups/:id/uploads
Attribute Type Required Description
id integer or string Yes The ID or URL-encoded path of the group.

Example request:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/uploads"

Example response:

[
  {
    "id": 1,
    "size": 1024,
    "filename": "image.png",
    "created_at":"2024-06-20T15:53:03.067Z",
    "uploaded_by": {
      "id": 18,
      "name" : "Alexandra Bashirian",
      "username" : "eileen.lowe"
    }
  },
  {
    "id": 2,
    "size": 512,
    "filename": "other-image.png",
    "created_at":"2024-06-19T15:53:03.067Z",
    "uploaded_by": null
  }
]

Download an uploaded file by ID

You must have at least the Maintainer role to use this endpoint.

GET /groups/:id/uploads/:upload_id

Supported attributes:

Attribute Type Required Description
id integer or string Yes The ID or URL-encoded path of the group.
upload_id integer Yes The ID of the upload.

Example request:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/uploads/1"

If successful, returns 200 and the uploaded file in the response body.

Download an uploaded file by secret and filename

You must have at least the Guest role to use this endpoint.

GET /groups/:id/uploads/:secret/:filename

Supported attributes:

Attribute Type Required Description
id integer or string Yes The ID or URL-encoded path of the group.
secret string Yes The 32-character secret of the upload.
filename string Yes The filename of the upload.

Example request:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"

If successful, returns 200 and the uploaded file in the response body.

Delete an uploaded file by ID

You must have at least the Maintainer role to use this endpoint.

DELETE /groups/:id/uploads/:upload_id

Supported attributes:

Attribute Type Required Description
id integer or string Yes The ID or URL-encoded path of the group.
upload_id integer Yes The ID of the upload.

Example request:

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/uploads/1"

If successful, returns 204 status code without any response body.

Delete an uploaded file by secret and filename

You must have at least the Maintainer role to use this endpoint.

DELETE /groups/:id/uploads/:secret/:filename

Supported attributes:

Attribute Type Required Description
id integer or string Yes The ID or URL-encoded path of the group.
secret string Yes The 32-character secret of the upload.
filename string Yes The filename of the upload.

Example request:

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"

If successful, returns 204 status code without any response body.