---
id: set-extension-enabled-state
title: "Toggle extension"
description: "Enable or disable extensions in the platform. For example, enabling the OpenID Connect extension allows users to log in without passwords using their EUDI wallet."
sidebar_label: "Toggle extension"
hide_title: true
hide_table_of_contents: true
api: eJzlV81uGzcQfpUBTwmwlhwnvQhBUMd2CjX9CWIbPSQGPNod7TLmkhtyVrIq7K1P0kfrkxRDrlY/dhr0UqDIxV6RnOF88/cN16qgkHvdsHZWTdSFxZkhcB4KHeIn3TPZoJ0NoC1wRdAY5Lnz9QjeOA90j3VjKAMSUW3LeObXhuz0HM6ctZTzVgmgMW4ZoA3kA7AD40rRu9RcuZahwRCWzhdyotelPVxcn09hicYQj1SmXEMexeBpoSYqEF9s1Cfzi0tGJpWpBj3WxOSDmnxYH0C9qgim5+Dm0eDBQpUpLdsNcqUyZbEmNVHD9rRQmfL0udWeCjVh31KmQl5RjWqyVrxq5Hhgr22puu4mHabAr12xkhO5s0yW5RObxug8Ihl/CmLU+qEqN/tEOQsYL7hZU5BdSkh3Ds6cM4Rifx+SjXX7sKe2kDspgBbkOuwER370ertuF+aH4b6brktboXE2JFtOjo/l3/49l22eUwjz1pgVtE2BTMW+pyH0YfqvXdJlqibGAhmvvXksbBFjRVjE1FnLrxfHz/5V+Pac573zZ64QsPH7fMdVN9nXcA3SW0u1ZSrJ7yJ7cXzcPaL+AbodEfUaC9C2iYXXl8oG/X40ry22XDmvfycpgEPXvPiGXfOegmt9TmAdw9y19qGDvksF8o06aGqZvEUDgfyCPMRrDnzUZSpQ3nrNq9iqTxv9luTzpsvW6jWhJ3/achVXBDWW0tPVz2ixJBgIQDxSE1dOmKFpo0OkkU/UePF8nDs71+V46EDj9U5f75TYIBY+xhbnVLsegMpUK21DVcxNmIzHBdXuCBs90qVHyyPtlFi9r+Cdd0Wbc+x7j6v5moZLxlI48QviIW0fGnKz9eylJFjKi41/hwBjWujJL4VmS3+nffHHhFWHAT59N4U7WoG0CLLc5/UIhGEXaFrakOztnp5bSNdA3QaGGUHjaa7vqYjTANwmG+EWnljHFBWwRx1njNBgTk8zoFE5OlA7gV7w5cq1XtxxdEerV7cj1WV7mbRWs/jrjfM1spqoH3+7eogtshiwuyMbp5ONeUlTb7OMMHtGwODBWNWRjKKAGipW4hZpVur//XZIuNhU2A6j9ayl7dxtGgnmsZFQjVqyILRN4zx/v438EDz9w3ZpP2V2s+0A9yAET/7648+nMhogXC6p0KECYU6g+7xCWxKgLWBBXs/7wMcE1bnE0y10QX4EU5aJL0AgMz8KbkGedGlBF5IuvMp6+Thw5p7iMpqQAUKhS81o+vEvXhac0QU0rgCmvLLOuFJT2JlAESwtwdCCjKSeNLzYFXGmjeZVVIItuxpZjueuboxGm1MKbYTnqWxNxBMHX4Q0yWBbaI521mgteZlHjc7JhhixTb00mFcEJ6PjBz5fLpcjjNsj58txLxvGP03PLn65vDgSmS5TrNnsBQ+kygqXtzVZ3tShNKsUr5Pjkxej56NnItu4wDXaHXuuXFma/SG32O/zAzf9P54AfQ0x3fO4Mait4G7TMJca/ge1eJ5my7lOxLXFPtkd528yVbnAIrFezzDQtTddJ8ufW/KRgzK1QB+zMzFD8kuhJnM04XDC3vXlk/c9kz+FLz83HsWyactWenJsomqiVKbupGvvPUe6m2FWjdalE2fJhqMr0bPV8GDuEJpJEtLpGv7Hs7vk+u5amuWsf9XUccRQHpfyPMKlmqiP6qOKj7VYQ3GskfW1MmjLFks5n9RKE8S+JW/p6C7SUf8hwB51ySEzJSzyV5A9KvJSKuktrV4Nx9POFwWGXp5OS4DkGfQ3YmdTQQ==
sidebar_class_name: "put api-method"
info_path: docs/extensions-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"}>Toggle extension</h1>

<MethodEndpoint method={"put"} path={"/v3/config/extension/{extensionId}"}></MethodEndpoint>



Enable or disable extensions in the platform. For example, enabling the OpenID Connect extension allows users to log in without passwords using their EUDI wallet.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Path Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"The ID of the extension","in":"path","name":"extensionId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><MimeTabs className={"openapi-tabs__mime"}><TabItem label={"application/json"} value={"application/json-schema"}><details style={{}} className={"openapi-markdown__details mime"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-mime"}><h3 className={"openapi-markdown__details-summary-header-body"}>Body</h3></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"enabled"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","example":true,"description":"Indicates if this extension is enabled"}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

Successfully updated the extension state

</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={"enabled"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","example":true}}></SchemaItem><SchemaItem collapsible={false} name={"metadataUrl"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"enabled\": true,\n  \"metadataUrl\": \"string\"\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={"404"} value={"404"}><div>

Resource not found

</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>
      