---
id: config-update-api-key-sandbox-org
title: "Bind API key to sandbox organisation"
description: "Binds an existing API key of the organisation to a sandbox organisation, or back to the main organisation. Every later call with the key then runs in that sandbox organisation (or in the main organisation). The normal way to get a key for a sandbox organisation is to select the sandbox organisation in the dashboard and create the key there (**Account** > **Developer APIs**); use this operation to move a key that you already have."
sidebar_label: "Bind API key to sandbox organisation"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "put 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"}>Bind API key to sandbox organisation</h1>

<MethodEndpoint method={"put"} path={"/v4/config/platform/admin/apikey/{apiKeyId}/sandbox-org"}></MethodEndpoint>



Binds an existing API key of the organisation to a sandbox organisation, or back to the main organisation. Every later call with the key then runs in that sandbox organisation (or in the main organisation). The normal way to get a key for a sandbox organisation is to select the sandbox organisation in the dashboard and create the key there (**Account** > **Developer APIs**); use this operation to move a key that you already have.

The service gives the key a new value: the old value stops working immediately, and the response holds the new value in `apiKey.apiKey`. This is the only time that you can read it, so store it now. The key keeps its id, name, scopes and IP allow-list, and its expiry starts again: `expiryTimestamp` is now plus `expiryInDays` days. If you move the key that makes this call, use the new value for the next call.

The sandbox organisation must belong to the organisation and its wallet must be deployed.


## 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 API key, as the dashboard shows it under **Account** > **Developer APIs**.","example":"6af0a1b2c3d4e5f6a7b8c9d0","in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"},"style":"simple"}}></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><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}><div style={{"marginTop":"1rem","marginBottom":"1rem"}}>

The sandbox organisation to bind the key to.

</div></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"sandboxOrgId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Required. The `id` of the sandbox organisation, from [List sandbox organisations](/docs/openid4vc-api/config-list-sandbox-orgs). An empty string binds the key to the main organisation. A request without the member gets `400`, so that a mistake never moves a key to the main organisation.","example":"6af08b7a38e8f33dcf799655"}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The API key after the change, with its new value.

</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 after the change.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The id of the API key. It does not change.","example":"6af0a1b2c3d4e5f6a7b8c9d0"}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The name of the key, as an admin gave it.","example":"Issuer backend"}}></SchemaItem><SchemaItem collapsible={false} name={"scopes"} required={true} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","description":"The scopes of the key. A retired scope that the key still has is not shown.","items":{"type":"string"},"example":["issuances:issue","webhooks:read"]}}></SchemaItem><SchemaItem collapsible={false} name={"apiKey"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The new value of the key (it starts with `owsk_`). Send it as `Authorization: ApiKey <value>`. The old value no longer works. No other response shows this value again.","example":"owsk_<new-api-key>"}}></SchemaItem><SchemaItem collapsible={false} name={"expiryInDays"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The lifetime of the key in days.","example":30}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"When the key was last changed (UTC), that is, the time of this change.","example":"2026-11-09T10:20:05Z"}}></SchemaItem><SchemaItem collapsible={false} name={"expiryTimestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"When the key expires (UTC): now plus `expiryInDays` days.","example":"2026-12-09T10:20:05Z"}}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The issuer of the key, always `igrantio`.","example":"igrantio"}}></SchemaItem><SchemaItem collapsible={false} name={"sandboxOrgId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The sandbox organisation of the key. Absent when the key belongs to the main organisation.","example":"6af08b7a38e8f33dcf799655"}}></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 admin who created the key, and when. It does not change.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The id of the admin.","example":"6ae2bf74a401855d2806ab5d"}}></SchemaItem><SchemaItem collapsible={false} name={"email"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The e-mail address of the admin.","example":"admin@example.com"}}></SchemaItem><SchemaItem collapsible={false} name={"at"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"When the key was created (UTC, RFC 3339).","example":"2026-11-02T08:15:30Z"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"keyFormat"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The form of the key value, always `owsk`.","example":"owsk"}}></SchemaItem><SchemaItem collapsible={false} name={"allowedIps"} required={false} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","description":"The IP allow-list of the key (CIDR ranges). Absent when the key works from every address.","items":{"type":"string"},"example":["203.0.113.0/24"]}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"apiKey\": {\n    \"id\": \"6af0a1b2c3d4e5f6a7b8c9d0\",\n    \"name\": \"Issuer backend\",\n    \"scopes\": [\n      \"issuances:issue\",\n      \"webhooks:read\"\n    ],\n    \"apiKey\": \"owsk_<new-api-key>\",\n    \"expiryInDays\": 30,\n    \"timestamp\": \"2026-11-09T10:20:05Z\",\n    \"expiryTimestamp\": \"2026-12-09T10:20:05Z\",\n    \"type\": \"igrantio\",\n    \"sandboxOrgId\": \"6af08b7a38e8f33dcf799655\",\n    \"createdBy\": {\n      \"id\": \"6ae2bf74a401855d2806ab5d\",\n      \"email\": \"admin@example.com\",\n      \"at\": \"2026-11-02T08:15:30Z\"\n    },\n    \"keyFormat\": \"owsk\",\n    \"allowedIps\": [\n      \"203.0.113.0/24\"\n    ]\n  }\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"apiKey\": {\n    \"id\": \"6af0a1b2c3d4e5f6a7b8c9d0\",\n    \"name\": \"Issuer backend\",\n    \"scopes\": [\n      \"issuances:issue\",\n      \"webhooks:read\"\n    ],\n    \"apiKey\": \"owsk_<new-api-key>\",\n    \"expiryInDays\": 30,\n    \"timestamp\": \"2026-11-09T10:20:05Z\",\n    \"expiryTimestamp\": \"2026-12-09T10:20:05Z\",\n    \"type\": \"igrantio\",\n    \"sandboxOrgId\": \"6af08b7a38e8f33dcf799655\",\n    \"createdBy\": {\n      \"id\": \"6ae2bf74a401855d2806ab5d\",\n      \"email\": \"admin@example.com\",\n      \"at\": \"2026-11-02T08:15:30Z\"\n    },\n    \"keyFormat\": \"owsk\"\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

The body is not valid JSON or has an unknown member, `sandboxOrgId` is missing, no sandbox organisation of the organisation has the id (`Sandbox Org not found: <id>`), or its wallet is not deployed (`Sandbox Org is not deployed: <id>`).

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

The `Authorization` header is missing, or the API key or token is not valid.

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"403"} value={"403"}><div>

The API key or token does not allow this call. An API key without the scope of the operation gets the older body `{"Code", "Message"}`. An `X-SandboxOrgId` header that names another sandbox organisation than the one of the API key gets `{"errorCode", "errorDescription"}`. When a platform admin has turned off the feature of the operation for the organisation, the answer has `errorKey` `feature_disabled` and the member `feature` (the name of the feature).

</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"}}><div><span className={"badge badge--info"}>anyOf</span><SchemaTabs><TabItem label={"MOD1"} value={"0-item-properties"}><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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></TabItem><TabItem label={"Older error body"} value={"1-item-properties"}><SchemaItem collapsible={false} name={"Code"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"The HTTP status.","example":403}}></SchemaItem><SchemaItem collapsible={false} name={"Message"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"What went wrong.","example":"Unauthorized access;User doesn't have enough permissions;"}}></SchemaItem></TabItem></SchemaTabs></div></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"Code\": 403,\n  \"Message\": \"Unauthorized access;User doesn't have enough permissions;\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"404"} value={"404"}><div>

No API key of the organisation has this id, or the key is deleted.

</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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Unexpected 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><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      