---
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: eJztVlFv2zgM/iuEnlrAcdKuAw7BMFyXdEO6YS3QrH0oCoSxmVirLWmS3DQX5L8fKDmJk3YYhnsb7qV1JJH89JHix5XIyVjK0FMu+jMsHSUiJ5dZabzUSvTFuJAOSOVGS+WhlM478AWBwWWpMYdMK0/Kg18a4h30gLCgaaH1I2SooHaUwjdHoBWBnrGxI3jCsiYHUgVnk8bLeGloAjNJZQ6LghQsdQ2ZJfQE2kJtcv7a+k9hXBA4sk9kwehDaOgA4fLm6itMdb6EmbYwQWNKmSFfrvvdaTVJ4ePh+nNnsVh0ZtpWndqWpDKdUz5Jgu8mWIWPxN6dt1LNm2vtAqu8gSN9RMHOoFY52Xjf5uQEHmmZwlftKaxnaKTHEiaDyZaawY4aNwFLzmjlKJIUCdCW/TYYGmKzAtWcHEzJL4gUZFiWLhWJ0IZsuOYoF30xJ38XubyOiNrRRCI24Zzor8Rpr8f/mlzx5yGbvOaygirkL2M5mJfRes9zf/WizH6zpEQi6BkrU5Lo378EkohfZlQ8JEJ6ql5Bc/4qlhBT1dV/Cch+RF/EuhHr7QJai0uxXjPlP2pp+T3e73O2s9bT75R5sebj+8CvPotEFIQ5Wb4WHzjrnfxW1trxyVptBzonvjl/D1vRXuBJDjK+s+6vNkel8jQn287eWa+3fsX9zqYhq2UiPmAOUpnag0GLFXmyTMdLQr4prH2hrfyH8hfUvP3Ngv6zqBkpT1ZhuelpIcwBR+tEOMpqK/1S9O9X4tzIz8SfD+tkJT4QWrLntS/CCt8a547ZaZoKE1GRL3TTa5gH5NOi+3TazbSayXm3edmu27y5bpOPjm+aUMTnAoD9Kwyp0g18kYjalqIvCu+N63e7OVW6g0amcm5R+VRqwZj3HVxbndcZ//iZm195uPE4Zwn4ibmL24dAHna83nB5xarYsLtNL8aFREgOFRMjEqGw4t3zprJDuYrD9J5fj1hdgOuflG+qOipGEImNYkz2/EwghoGqdh6mBMbSTD5TDgvpC5hEjDCBI7VRLW9RloEDgxkdJ0DpPD1w24fG8N1S15bp6DzS8v0k5R7YrqOVmIZfH7Wt0Iu+uLwbv7xblpFz4PUjKTDo3AZe9NRgZgndAwFbBsObZg5jMLF9r5y30IalmulNc8AsNAeqUHJuXW2Mtv7vXT63KZGfdkv7hdCuoYPbbI3AWP0k8zBZZJrfsyeQ/L8i5eMVmqRdGVKjYZhpbsnKmcRpSTCwlHOusXQwcq5GlREcXY2GZ7eD0XGYS143vLbktiGO4pmz2+tjRuR1pkvHhSMdcFWRYhsH2s5RNdRyMkA6V1MChS7zJAR74ghLyOU8jDVZC17tQsV4VDna3HXCfSUqD7NSL1xMZ8N0QHv3ZgC3Azi6vBsfJzC6GH+Em2Hn8m4Mt4MYbXRzBSd/9U7edN5CNdRZtxp+acUMQxj6MAWVMiPlQvfdPCaDWUFwmvZepG6xWKQYtlNt593G1nW/jAYXX28uOmzDSi59uVcDgaxcZ/U2eyIR3Mli2k97p2fpm/SEbXlarFC18HyRzgOW5W7waU9Fhy+iJWL/T+x/2MTedCZPz75rSpSKCyZU6KpR03vxdCoSEfVUJGKjqEFuA+y421LVh0QU2nm2Xa2m6OibLddrXv5Rkw0Kn4gntKE9RL3f6A/L8CPLVGjDhkU9XCHo1cH4tG4PAJ8uuJNj0+Z3EvcYJK75YO+bLbVs+T5UuwiB/7Iov2ryjh/gZ1q+3x6POz812OpDPM1UP6zX638BRP1Now==
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>
      