---
id: get-webhook-payload-content-types
title: "List all webhook content types"
description: "This endpoint lists the payload content types that a webhook can use. Use one of these values in the `contentType` field when you create or update a webhook. The server posts the payload as a JSON body for `application/json`. For `application/x-www-form-urlencoded`, the server makes a string of the payload and posts it as a form under the `payload` key. Note the capital `C` in the `ContentTypes` response field. The order of the values changes between calls."
sidebar_label: "List all webhook content types"
hide_title: true
hide_table_of_contents: true
api: eJztVttu2zgQ/RWCTwlgy86lwCIoik3ttHAbNAFy6UMRQLQ0tthIpEpScbyG/31nSNqWlRRFsW/FPiSWqLmeGc6ZFc+hNpAJBzk/m4nSQg+PbGZk7aRW/IzfFtIyUHmtpXKslNZZ5gpgtViWWuQs08oBfnHLGuiLcEywBUwLrR9ZJhRrLCTszgLTCv9mpIwvT6JsUF4qbyyNVm7RSMpmEsqcLQpQbKkblhnA+Jg2rKlzetraT9gtKlswT2BYrbuhCYuin26uvrCpzpdshhZSUdelxHwxucF3q1WasA/d8+f+YrHoo3jVb0wJKtM55GnP247OKvEIZN06I9U8prVzrPIYjnQhCjLGGpWjqs83SqbsEZYJ+6IxKzrPRC2dKFk6SrfQjHbQ2JQZsLVWCKAHKQCgDdmNMURgs0KoOf5OwS0AgcxEWdqE97iuwfg0J1hxPgf3NWB5HSJqe0PpjTvLz1b8eDikn1greuyiSWc2K6AS9FQbcuZk0N6zjO/dNvvNlsLg4FlUdQn87NvLQHr8lxXlDz0uHVSvRHP+aizep2qq/+KQ7KCD0Dd8vT0QxoglX68J8h+NNHQfv+1jttPW0++QOZRed2/r1WcMpACBDUFpkcDp8Oi3qtb2D8ZoM8LYKXN6Hre8vYin16n4ThtfoigOEZiDaVfvdDhcv2J+pxPBaqnw91gaqerGYaGMqMChyfX6FUDulGhcoY38BzPqQvPmNxv6z4Jmgv6MwmkTZ5p308EIlSxkjZFuiUmv+HktPwM9Pqx7K/4ehAFzjgD7E8pazC2hE4cKAYERFDrOGsJBkDQfPB0PEPeZnA/izbaDeOcGsR59F4dQiM/6APZTGEOlY/gohzcNzwrnans2GOT4rY/zNJFzI5RLpOYU876Ba6PzJqOXn5n5lYUbTJko4CfqNnzuBvKww/WG2it0xQbdbXlFOMA5Ra5CYfBNYVlpSsXO9u3Ku+U9v54QuzDqf0QzdnVgDE8SG8ZI9+ykLLhhVWMd0gfD/WAmnwEJWboChX1ILGUHasNazghZegxqkcFhj0EyTzpmz1hUfIuUbgiOPgb3Lk1oBrb7aMWn/g1ZuRJ4J/mnr7cvc8sysEgN+hGprRbWbsILlmLMRKF7QbAtgv5OE4bBGd/eV6qbH8NSzfRmOIjMDwecApJqa5u61sb9vavntiTy4+5ovxHaPdTJZquEcesnmfvNItN0nxFhSb8VVjCkEIt2VYOajP1Ocw9GzqSYlsBGOJyo1rjIsYm1jVAZsIOryfj0fjQ59HvJ64rXSPRbFwdB5vT++pAicjrTuDswvwlSV4EiHYt7x1yoCC0Vg0l0CT1W6DLveWdP5GHJcjn3a03WCq+xvmMcigmT277PVyIObFbqhQ3ljEj7aL+ejNj9iB1gP2CLTS5uP7CbcR/f8DR4m9xcsaO/hkcn/TesGutsUI0vWz79Eiac34JwyAOuNVTVzWXC3kVcj5Phi9IhlSfCf04w5UHUtYPLyejiy81Fn3SIyaUr93rAg5XrrNlWD03TJAtlPx4enyYnyRHp0rZYCdWK5xI3bYZL227xaW9F3RvRIrH/N/Y/bGOPk8nBsxvUpUAqWMcOXUU2/cafjlEw8Ck+bBjV060PO3xtsSoSUIH5ku5qNRUW7ky5XtPxjwaMZ3jsVWH8eAh8v+EfouFHoik/hmsidZ+C56vO+rRuLwAfL2iSizjmdxT36CkuPpD1zSe1bNnusl0Igf4TKb+q8pYuIJLOu614+PJThS0/BGmC+gGXoH8BRP1Now==
sidebar_class_name: "get api-method"
info_path: docs/openid4vc-api/igrant-io-api-documentation
custom_edit_url: null
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import ApiTabs from "@theme/ApiTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import Markdown from "@theme/Markdown";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";

<h1 className={"openapi__heading"}>List all webhook content types</h1>

<MethodEndpoint method={"get"} path={"/v2/config/webhooks/payload/content-types"}></MethodEndpoint>



This endpoint lists the payload content types that a webhook can use. Use one of these values in the `contentType` field when you create or update a webhook. The server posts the payload as a JSON body for `application/json`. For `application/x-www-form-urlencoded`, the server makes a string of the payload and posts it as a form under the `payload` key. Note the capital `C` in the `ContentTypes` response field. The order of the values changes between calls.

<div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

OK

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"ContentTypes"} required={true} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`application/json`, `application/x-www-form-urlencoded`]"} schema={{"description":"The payload content types that a webhook can use.","example":["application/json","application/x-www-form-urlencoded"],"items":{"description":"A payload content type.","enum":["application/json","application/x-www-form-urlencoded"],"type":"string"},"type":"array"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"ContentTypes\": [\n    \"application/json\",\n    \"application/x-www-form-urlencoded\"\n  ]\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

Unauthorized

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal server error

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      