# "403 Forbidden" syncing milestones with Gitlab integration

**URL:** <https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472>\
**Category:** Bugs & Issues\
**Created:** [March 2, 2026, 9:18am UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472 "2026-03-02T09:18:08Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marcus](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/marcus/32/13918_2.png) [@Marcus](https://community.fibery.io/u/Marcus)\
**Post date:** [March 2, 2026, 9:18am UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472/1 "2026-03-02T09:18:08Z")

</div>

Hi,

It is great that the Gitlab integration is now also offering milestone sync. However, it gives me a “403 Forbidden” error.

When I trigger the Gitlab sync, it starts normally: syncing projects, merge requests and issues.

Then the “403 Forbidden” error occurs. The milestone database remains empty afterwards.

I tested:

- reauthenticating → the error persists
- deselecting milestones from the sync via the sync configuration → everything works as expected. But enabling milestones again brings back the 403.

Sorry that I cannot share screenshots since “new users can only put one embedded media item in a post.“ But I hope it is descriptive enough.

---

<div class="post-metadata">

**Author:** ![Evgeni\_Kisel](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/evgeni_kisel/32/13938_2.png) [@Evgeni\_Kisel](https://community.fibery.io/u/Evgeni_Kisel)\
**Post date:** [March 2, 2026, 9:37am UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472/2 "2026-03-02T09:37:10Z")

</div>

Hi,

What kind of access do you have to your projects (maintainer, viewer, etc)? E.g. project `66031889` (if I found properly)

You can inspect your permissions via direct API call `https://gitlab.com/api/v4/projects/{project_id}` . Find permissions sections in response and share it please.

```auto
A valid access level Possible values: 
0 (No access), 
5 (Minimal access), 
10 (Guest), 
15 (Planner), 
20 (Reporter), 
30 (Developer), 
40 (Maintainer), 
50 (Owner).

```

According to gitlab spec `Reporter` access level is required.

---

<div class="post-metadata">

**Author:** ![Marcus](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/marcus/32/13918_2.png) [@Marcus](https://community.fibery.io/u/Marcus)\
**Post date:** [March 2, 2026, 1:33pm UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472/3 "2026-03-02T13:33:39Z")

</div>

I am Developer (30) for this specific and most other projects. I can see / access milestones also via the browser.  
This particular project does not have milestones. Instead Group Milestones were used to manage issues within this project.  
We have both, some project milestones and most are group milestones.  
Could group milestones be the issue?

Issues can be linked to group or project milestones. In the issues API, you only recognize the difference because the corresponding milestone has either a project\_id or a group\_id.

```auto

{
  "id": ...,
  "project_id": ...,
  "milestone": {
    "id": ...,
    "project_id": ...,
  },
}

```

vs

```auto
{
  "id": ...,
  "project_id": ...,
  "milestone": {
    "id": ...,
    "group_id": ...,
  },
}

```

---

<div class="post-metadata">

**Author:** ![Evgeni\_Kisel](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/evgeni_kisel/32/13938_2.png) [@Evgeni\_Kisel](https://community.fibery.io/u/Evgeni_Kisel)\
**Post date:** [March 3, 2026, 7:08am UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472/4 "2026-03-03T07:08:31Z")

</div>

Made some changes. Could u try again, please?

---

<div class="post-metadata">

**Author:** ![Marcus](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/marcus/32/13918_2.png) [@Marcus](https://community.fibery.io/u/Marcus)\
**Post date:** [March 3, 2026, 8:26am UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472/5 "2026-03-03T08:26:00Z")

</div>

Thanks for the quick upate!

The sync now finishes without errors.  
Milestones - both project and group milestones - are synced and issues are linked to the corresponding milestones.

I could only find one issue:  
The Gitlab Link in the Milestone is incorrectly formatted for Group Milestones.

Project milestones have the URL “https://gitlab.com/[path to group/project]/-/milestones/[id]“ (as correctly specified in Fibery)  
However, Group milestones have a prefix ‘groups’ prefix added to the path:  
“https://gitlab.com/ **groups** /[path to group/project]/-/milestones/[id]”

---

<div class="post-metadata">

**Author:** ![Evgeni\_Kisel](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/evgeni_kisel/32/13938_2.png) [@Evgeni\_Kisel](https://community.fibery.io/u/Evgeni_Kisel)\
**Post date:** [March 3, 2026, 10:07am UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472/6 "2026-03-03T10:07:55Z")

</div>

Thank you for pointing out this issue. I’ve fixed it. The updated URLs will appear after the next sync.

---

<div class="post-metadata">

**Author:** ![Marcus](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/marcus/32/13918_2.png) [@Marcus](https://community.fibery.io/u/Marcus)\
**Post date:** [March 3, 2026, 10:21am UTC](https://community.fibery.io/t/403-forbidden-syncing-milestones-with-gitlab-integration/10472/7 "2026-03-03T10:21:59Z")

</div>

Nice. It works. Thanks!
