---
id: config-create-digital-wallet-open-id-api-key
title: "Create API key"
description: "Creates an API key for the organisation. Use the key to call the OID4VCI and OpenID4VP endpoints from a server, in place of a bearer access token. Send the key as `Authorization: ApiKey <apiKey>`."
sidebar_label: "Create API key"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "post 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"}>Create API key</h1>

<MethodEndpoint method={"post"} path={"/v2/config/admin/apikey"}></MethodEndpoint>



Creates an API key for the organisation. Use the key to call the OID4VCI and OpenID4VP endpoints from a server, in place of a bearer access token. Send the key as `Authorization: ApiKey <apiKey>`.

Give the key the scopes that it needs. The `config` scope opens the configuration endpoints of the digital wallet, such as credential definitions, presentation definitions, webhooks and keys. The service refuses any scope other than `config`, `audit`, `service` and `onboard` with HTTP 400.

The response holds the token in full, in the `apiKey` field. This is the only moment at which you can copy it from a create response, so keep it in a safe place.

To bind the key to a sandbox organisation instead of the main wallet, send the identifier of the sandbox organisation in the `sandboxOrgId` field of the body. This field is the only way to bind a key at creation; the `X-SandboxOrgId` header has no effect on this operation. The sandbox organisation must belong to your organisation and must be deployed.

## Request

<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><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}><div style={{"marginTop":"1rem","marginBottom":"1rem"}}>

The API key to create.

</div></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>apiKey</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The API key to create.

</div><SchemaItem collapsible={false} name={"name"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Name of the API key. Use it to tell your keys apart.","example":"Production issuance key"}}></SchemaItem><SchemaItem collapsible={false} name={"scopes"} required={true} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`config`, `audit`, `service`, `onboard`]"} schema={{"type":"array","description":"Scopes of the API key. Each scope opens a group of endpoints. The service refuses any other value with HTTP 400. Use `config` for the OID4VCI and OpenID4VP configuration endpoints.","items":{"type":"string","enum":["config","audit","service","onboard"]},"example":["config","service"]}}></SchemaItem><SchemaItem collapsible={false} name={"expiryInDays"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Lifetime of the API key in days, counted from the moment of creation. The service uses 30 days when you leave this field out, or when you send `0` or a negative value.","default":30,"example":30}}></SchemaItem><SchemaItem collapsible={false} name={"sandboxOrgId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the sandbox organisation to bind the API key to. Leave the field out, or send an empty string, to bind the key to the main wallet of the organisation. The sandbox organisation must belong to your organisation and must be deployed; if it does not, the service gives HTTP 400.","example":"6889e1a4c5b2f30001a3d710"}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The service created the API key. This operation returns 200, not 201. The `apiKey` field of the returned object holds the signed token.

</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={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>apiKey</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The API key that the service created.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier of the API key.","example":"6889e1a4c5b2f30001a3d720"}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Name of the API key. The service does not check this value for uniqueness.","example":"Production issuance key"}}></SchemaItem><SchemaItem collapsible={false} name={"scopes"} required={true} schemaName={"string[]"} qualifierMessage={"**Possible values:** [`config`, `audit`, `service`, `onboard`]"} schema={{"type":"array","description":"Scopes of the API key. Each scope opens a group of endpoints. The service refuses any other value with HTTP 400.","items":{"type":"string","enum":["config","audit","service","onboard"]},"example":["config","service"]}}></SchemaItem><SchemaItem collapsible={false} name={"apiKey"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The signed JSON Web Token. Send it as `Authorization: ApiKey <apiKey>`. The token holds the scopes, the organisation, the organisation administrator and, when the key is bound to a sandbox organisation, the sandbox organisation.","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJTY29wZXMiOlsiY29uZmlnIl0..."}}></SchemaItem><SchemaItem collapsible={false} name={"expiryInDays"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Lifetime of the API key in days, counted from the moment the service created or last updated the key. The service uses 30 days when you send `0` or a negative value.","default":30,"example":30}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","description":"Moment when the service last wrote the API key, in UTC. The service sets this value on create and on every update, including the delete operation.","example":"2026-08-09T10:15:30Z"}}></SchemaItem><SchemaItem collapsible={false} name={"expiryTimestamp"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","description":"Moment when the API key expires, in UTC.","example":"2026-09-08T10:15:30Z"}}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`igrantio`, `aip10`]"} schema={{"type":"string","description":"Type of the API key. The list operation returns only keys of type `igrantio`; these are the keys that you create with this group of operations.","enum":["igrantio","aip10"],"example":"igrantio"}}></SchemaItem><SchemaItem collapsible={false} name={"sandboxOrgId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the sandbox organisation that the API key is bound to. The field is absent when the key belongs to the main wallet of the organisation.","example":"6889e1a4c5b2f30001a3d710"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>createdBy</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The user who created the API key, and the moment of creation. The service keeps this as log metadata.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the user who created the API key. The value is an empty string for a key created with an API key.","example":"6889e1a4c5b2f30001a3d6e0"}}></SchemaItem><SchemaItem collapsible={false} name={"email"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Email address of the user who created the API key.","example":"admin@example.com"}}></SchemaItem><SchemaItem collapsible={false} name={"at"} required={true} schemaName={"date-time"} qualifierMessage={undefined} schema={{"type":"string","format":"date-time","description":"Moment of creation, in UTC.","example":"2026-08-09T10:15:30Z"}}></SchemaItem></div></details></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"apiKey\": {\n    \"id\": \"6889e1a4c5b2f30001a3d720\",\n    \"name\": \"Production issuance key\",\n    \"scopes\": [\n      \"config\",\n      \"service\"\n    ],\n    \"apiKey\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJTY29wZXMiOlsiY29uZmlnIl0...\",\n    \"expiryInDays\": 30,\n    \"timestamp\": \"2026-08-09T10:15:30Z\",\n    \"expiryTimestamp\": \"2026-09-08T10:15:30Z\",\n    \"type\": \"igrantio\",\n    \"sandboxOrgId\": \"6889e1a4c5b2f30001a3d710\",\n    \"createdBy\": {\n      \"id\": \"6889e1a4c5b2f30001a3d6e0\",\n      \"email\": \"admin@example.com\",\n      \"at\": \"2026-08-09T10:15:30Z\"\n    }\n  }\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"apiKey\": {\n    \"id\": \"6889e1a4c5b2f30001a3d720\",\n    \"name\": \"Production issuance key\",\n    \"scopes\": [\n      \"config\",\n      \"service\"\n    ],\n    \"apiKey\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJTY29wZXMiOlsiY29uZmlnIl0...\",\n    \"expiryInDays\": 30,\n    \"timestamp\": \"2026-08-09T10:15:30Z\",\n    \"expiryTimestamp\": \"2026-09-08T10:15:30Z\",\n    \"type\": \"igrantio\",\n    \"createdBy\": {\n      \"id\": \"6889e1a4c5b2f30001a3d6e0\",\n      \"email\": \"admin@example.com\",\n      \"at\": \"2026-08-09T10:15:30Z\"\n    }\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The request is invalid. The service returns this status when `apiKey` or `scopes` is missing, when `scopes` holds a value other than `config`, `audit`, `service` or `onboard`, when the sandbox organisation of `sandboxOrgId` does not exist, or when that sandbox organisation is not deployed.

</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={"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={"403"} value={"403"}><div>

The caller has no permission for this operation. Only an organisation administrator can manage API keys; an API key cannot create another API key.

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