Webhook pipeline triggers can't process requests with specific Content-Types

Summary

I use contentful.com as headless CMS and want to trigger a build of my Jekyll project, when content is updated. That worked until recently. Now I get the error message:

[...]
"statusCode": 406,
"body": "{\"error\":\"The requested content-type 'application/vnd.contentful.management.v1+json' is not supported.\"}"
[...]

Steps to reproduce

  1. Create an account with contentful.com
  2. Setup a webhook for the project
  3. Add webhook like: https://gitlab.com/api/v4/projects/PROJECT_ID/ref/master/trigger/pipeline?token=TOKEN
  4. Check the failing Webhook calls when you update a piece of content

What is the current bug behavior?

Gitlab.com rejects the webhook call which looks like this:

Request details
{
  "url": "https://gitlab.com/api/v4/projects/PROJECT_ID/ref/master/trigger/pipeline?token=TOKEN",
  "method": "POST",
  "headers": {
    "Content-Type": "application/vnd.contentful.management.v1+json",
    "X-Contentful-Topic": "ContentManagement.Entry.publish",
    "X-Contentful-Webhook-Name": "gitlab"
  },
  "timeout": 30000
}
Request body
{
  "sys": {
    "space": {
      "sys": {
        "type": "Link",
        "linkType": "Space",
        "id": "su64fh90h593"
      }
    },
    "type": "Entry",
    "contentType": {
      "sys": {
        "type": "Link",
        "linkType": "ContentType",
        "id": "video"
      }
    },
    "id": "72DqEdpfZCi0O62U0aM04C",
    "revision": 5,
    "createdAt": "2017-09-20T14:10:05.475Z",
    "updatedAt": "2017-10-24T05:56:30.447Z"
  },
  "fields": {
    "title": {
      "en-US": "Klischees"
    },
    "client": {
      "en-US": "Eurowings"
    },
    "director": {
      "en-US": "Claas Ortmann"
    },
    "agency": {
      "en-US": "Lukas Lindemann Rosinski"
    },
    "production": {
      "en-US": "TONY PETERSEN FILM"
    },
    "vimeoId": {
      "en-US": 151515306
    },
    "award": {
      "en-US": false
    },
    "thumbnail": {
      "en-US": {
        "sys": {
          "type": "Link",
          "linkType": "Asset",
          "id": "mgkWxggjeKo8kosa4cEqQ"
        }
      }
    }
  }
}

with this response:

Complete response
{
  "statusCode": 406,
  "body": "{\"error\":\"The requested content-type 'application/vnd.contentful.management.v1+json' is not supported.\"}",
  "headers": {
    "server": "nginx",
    "date": "Tue, 24 Oct 2017 05:56:30 GMT",
    "content-type": "application/json",
    "content-length": "104",
    "connection": "close",
    "cache-control": "no-cache",
    "vary": "Origin",
    "x-request-id": "e6dd741c-81a8-4fa6-9ae1-346cd53dbdb5",
    "x-runtime": "0.030656",
    "ratelimit-limit": "600",
    "ratelimit-observed": "2",
    "ratelimit-remaining": "598"
  },
  "url": "https://gitlab.com/api/v4/projects/PROJECT_ID/ref/master/trigger/pipeline?token=TOKEN"
}

What is the expected correct behavior?

I guess the idea of the Content-Type application/vnd.contentful.management.v1+json is that it would be processed as application/json.

This is their documentation on the matter: https://www.contentful.com/developers/docs/references/content-management-api/#/reference/webhooks

Output of checks

This bug happens on GitLab.com

Any help on this would be much appreciated!

Edited Jun 26, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading