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