---
id: config-list-sandbox-orgs
title: "List sandbox organisations"
description: "Lists the sandbox organisations of the organisation. The service sorts the list by the time of the last update, and it does not list deleted sandbox organisations."
sidebar_label: "List sandbox organisations"
hide_title: true
hide_table_of_contents: true
api: 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
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 sandbox organisations</h1>

<MethodEndpoint method={"get"} path={"/v2/config/sandbox-orgs"}></MethodEndpoint>



Lists the sandbox organisations of the organisation. The service sorts the list by the time of the last update, and it does not list deleted sandbox organisations.

Use the `offset` and the `limit` query parameters to page through the list. Use the `search` query parameter to filter the list, and the `sortOrder` query parameter to change the sort direction.

The response gives the sandbox organisation records only. To get the OpenID endpoints of one sandbox organisation, read it with `GET /config/sandbox-org/{sandboxOrgId}`.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Query Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Number of records to skip for pagination. A negative or unreadable value falls back to `0`.","in":"query","name":"offset","required":false,"schema":{"type":"integer","default":0,"minimum":0}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"limit","in":"query","description":"Maximum number of records to return per page.","required":false,"schema":{"type":"integer","default":10}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"Search term to filter results by","in":"query","name":"search","required":false,"schema":{"type":"string"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"description":"Sort order for the returned records (ascending or descending).","in":"query","name":"sortOrder","required":false,"schema":{"type":"string","enum":["desc","asc"],"default":"desc"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The service returns the sandbox organisations and the pagination data.

</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"}>sandboxOrgs</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 sandbox organisations on the current page.

</div><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique identifier of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Display name of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Human readable description of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"openIdDeploymentId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the associated OpenID deployment"}}></SchemaItem><SchemaItem collapsible={false} name={"status"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Status code of the sandbox organisation"}}></SchemaItem><SchemaItem collapsible={false} name={"ledgerId"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Identifier of the associated ledger"}}></SchemaItem><SchemaItem collapsible={false} name={"infrastructureProvider"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Name of the infrastructure provider"}}></SchemaItem><SchemaItem collapsible={false} name={"version"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Version of the sandbox organisation configuration"}}></SchemaItem><SchemaItem collapsible={false} name={"role"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Role of the sandbox organisation in the ecosystem"}}></SchemaItem><SchemaItem collapsible={false} name={"trustAnchor"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Trust anchor identifier or DID"}}></SchemaItem><SchemaItem collapsible={false} name={"isWalletProvider"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates whether this sandbox organisation acts as a wallet provider"}}></SchemaItem><SchemaItem collapsible={false} name={"secureVault"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Identifier of the primary secure vault"}}></SchemaItem><SchemaItem collapsible={false} name={"secureVaults"} required={false} schemaName={"integer[]"} qualifierMessage={undefined} schema={{"type":"array","nullable":true,"description":"Identifiers of the secure vaults that the sandbox organisation uses. The field holds `null` when the sandbox organisation has no secure vault.","items":{"type":"integer"}}}></SchemaItem><SchemaItem collapsible={false} name={"logoImageId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the logo image. The field is absent when the sandbox organisation has no logo image."}}></SchemaItem><SchemaItem collapsible={false} name={"coverImageId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Identifier of the cover image. The field is absent when the sandbox organisation has no cover image."}}></SchemaItem><SchemaItem collapsible={false} name={"logoImageUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Public URL for the logo image"}}></SchemaItem><SchemaItem collapsible={false} name={"coverImageUrl"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Public URL for the cover image"}}></SchemaItem><SchemaItem collapsible={false} name={"createdAt"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Timestamp when the sandbox organisation was created"}}></SchemaItem><SchemaItem collapsible={false} name={"updatedAt"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Timestamp when the sandbox organisation was last updated"}}></SchemaItem><SchemaItem collapsible={false} name={"isMain"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates whether this is the main organisation"}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>pagination</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"}}><SchemaItem collapsible={false} name={"currentPage"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Current page number","example":1}}></SchemaItem><SchemaItem collapsible={false} name={"totalItems"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of items available","example":25}}></SchemaItem><SchemaItem collapsible={false} name={"totalPages"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of pages based on limit","example":3}}></SchemaItem><SchemaItem collapsible={false} name={"limit"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Number of items per page","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"hasPrevious"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a previous page","example":false}}></SchemaItem><SchemaItem collapsible={false} name={"hasNext"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a next page","example":true}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"sandboxOrgs\": [\n    {\n      \"id\": \"string\",\n      \"name\": \"string\",\n      \"description\": \"string\",\n      \"openIdDeploymentId\": \"string\",\n      \"status\": 0,\n      \"ledgerId\": 0,\n      \"infrastructureProvider\": \"string\",\n      \"version\": \"string\",\n      \"role\": \"string\",\n      \"trustAnchor\": \"string\",\n      \"isWalletProvider\": true,\n      \"secureVault\": 0,\n      \"secureVaults\": [\n        0\n      ],\n      \"logoImageId\": \"string\",\n      \"coverImageId\": \"string\",\n      \"logoImageUrl\": \"string\",\n      \"coverImageUrl\": \"string\",\n      \"createdAt\": 0,\n      \"updatedAt\": 0,\n      \"isMain\": true\n    }\n  ],\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 25,\n    \"totalPages\": 3,\n    \"limit\": 10,\n    \"hasPrevious\": false,\n    \"hasNext\": true\n  }\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"sandboxOrgs\": [\n    {\n      \"id\": \"6889e1a4c5b2f30001a3d710\",\n      \"name\": \"Acme Test Issuer\",\n      \"description\": \"Sandbox organisation for issuance tests\",\n      \"openIdDeploymentId\": \"6889e1a4c5b2f30001a3d711\",\n      \"status\": 2,\n      \"ledgerId\": 0,\n      \"infrastructureProvider\": \"iGrant\",\n      \"version\": \"1.0.0\",\n      \"role\": \"\",\n      \"trustAnchor\": \"\",\n      \"isWalletProvider\": false,\n      \"secureVault\": 0,\n      \"secureVaults\": null,\n      \"logoImageId\": \"6889e1a4c5b2f30001a3d6f0\",\n      \"coverImageId\": \"6889e1a4c5b2f30001a3d6f1\",\n      \"logoImageUrl\": \"https://demo-api.igrant.io/v2/onboard/image/6889e1a4c5b2f30001a3d6f0/web\",\n      \"coverImageUrl\": \"https://demo-api.igrant.io/v2/onboard/image/6889e1a4c5b2f30001a3d6f1/web\",\n      \"createdAt\": 1754745764,\n      \"updatedAt\": 1754745764,\n      \"isMain\": false\n    }\n  ],\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 1,\n    \"totalPages\": 1,\n    \"limit\": 10,\n    \"hasPrevious\": false,\n    \"hasNext\": false\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>
      