Group Markdown uploads API

{{< details >}}

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

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

List uploads

{{< history >}}

{{< /history >}}

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

{{< history >}}

{{< /history >}}

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

{{< history >}}

{{< /history >}}

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

{{< history >}}

{{< /history >}}

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

{{< history >}}

{{< /history >}}

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.