Create sandbox organisation
POST/v2/config/sandbox-org
Creates a sandbox organisation for the organisation. A sandbox organisation is a separate wallet inside your organisation. It has its own credential definitions, presentation definitions and webhooks, so you can test an issuance or a verification flow without a change to the main wallet. It signs with the keys of the main organisation, and it has no holder wallet.
The main wallet of the organisation must be deployed before you create a sandbox organisation. The name must be unique in the organisation.
The service deploys a new wallet for the sandbox organisation and copies the logo image and the cover image of the organisation to it. To work in a sandbox organisation through the API, select the sandbox organisation in the dashboard, then create the API key under Account > Developer APIs (Create API Key). The key is bound to the sandbox organisation, and every call with it runs there.
Request
- application/json
Body
required
The sandbox organisation to create.
sandboxOrg objectrequired
The sandbox organisation to create.
Name of the sandbox organisation. This field is mandatory. The name must be unique in the organisation. If a sandbox organisation with the same name exists, the service gives HTTP 400.
Description of the sandbox organisation. This field is optional, and the service stores an empty string when you leave it out.
Responses
- 201
- 400
- 401
- 500
- 502
- 504
- 507
The service created the sandbox organisation.
Response Headers
- application/json
- Schema
- Example (from schema)
- Example
Schema
sandboxOrg objectrequired
The sandbox organisation that the service created. The service sets the id, the openIdDeploymentId, the status and the timestamps.
Unique identifier of the sandbox organisation
Display name of the sandbox organisation
Human readable description of the sandbox organisation
Identifier of the associated OpenID deployment
Status code of the sandbox organisation
Identifier of the associated ledger
Name of the infrastructure provider
Version of the sandbox organisation configuration
Role of the sandbox organisation in the ecosystem
Trust anchor identifier or DID
Indicates whether this sandbox organisation acts as a wallet provider
Identifier of the primary secure vault
Identifiers of the secure vaults that the sandbox organisation uses. The field holds null when the sandbox organisation has no secure vault.
Identifier of the logo image. The field is absent when the sandbox organisation has no logo image.
Identifier of the cover image. The field is absent when the sandbox organisation has no cover image.
Public URL for the logo image
Public URL for the cover image
Timestamp when the sandbox organisation was created
Timestamp when the sandbox organisation was last updated
Indicates whether this is the main organisation
{
"sandboxOrg": {
"id": "string",
"name": "string",
"description": "string",
"openIdDeploymentId": "string",
"status": 0,
"ledgerId": 0,
"infrastructureProvider": "string",
"version": "string",
"role": "string",
"trustAnchor": "string",
"isWalletProvider": true,
"secureVault": 0,
"secureVaults": [
0
],
"logoImageId": "string",
"coverImageId": "string",
"logoImageUrl": "string",
"coverImageUrl": "string",
"createdAt": 0,
"updatedAt": 0,
"isMain": true
}
}
{
"sandboxOrg": {
"id": "6889e1a4c5b2f30001a3d710",
"name": "Acme Test Issuer",
"description": "Sandbox organisation for issuance tests",
"openIdDeploymentId": "6889e1a4c5b2f30001a3d711",
"status": 2,
"ledgerId": 0,
"infrastructureProvider": "iGrant",
"version": "1.0.0",
"role": "",
"trustAnchor": "",
"isWalletProvider": false,
"secureVault": 0,
"secureVaults": null,
"logoImageId": "6889e1a4c5b2f30001a3d6f0",
"coverImageId": "6889e1a4c5b2f30001a3d6f1",
"logoImageUrl": "https://demo-api.igrant.io/v2/onboard/image/6889e1a4c5b2f30001a3d6f0/web",
"coverImageUrl": "https://demo-api.igrant.io/v2/onboard/image/6889e1a4c5b2f30001a3d6f1/web",
"createdAt": 1754745764,
"updatedAt": 1754745764,
"isMain": false
}
}
The main wallet of the organisation is not deployed, the name is missing, a sandbox organisation with the same name exists, or the wallet refused the request. A refusal of the wallet keeps the status and the text of the wallet, after Failed to deploy sandbox organisation: , also for another status than 400. The service then removes the sandbox organisation.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Unauthorized
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Internal server error
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
The wallet cannot be reached: Failed to deploy sandbox organisation: The wallet cannot be reached. The service removes the sandbox organisation.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
The wallet did not answer in time: Failed to deploy sandbox organisation: The wallet did not answer in time. The service removes the sandbox organisation.
Response Headers
- application/json
- Schema
- Example (from schema)
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
Insufficient Storage: the HSM partition of the key store has no room for a new key. This is the partition of the installation HSM (the local key store in a hardware security module), or the DPoD partition of a key store of your organisation. The text is The HSM partition has no room for a new key. Remove unused key pairs (kms signer orphans list) or give the partition more room. A new try fails the same way: the answer has no Retry-After, so do not send the request again before room is free. For the installation HSM, the operator of the installation removes the unused key pairs or gives the partition more room. For a DPoD partition of your organisation, delete unused key pairs in the partition or give it more room. Some operations put the text after their own text: the test CA (Failed to make the test CA: The HSM partition has no room ...), the deploy of the organisation wallet (Failed to deploy the OpenID digital wallet for organisation ID <id>: ...) and the create of a sandbox organisation (Failed to deploy sandbox organisation: ...). A route that signs can also give this answer for an organisation that has no default key yet, because the wallet makes the default key the first time that it needs it.
Response Headers
- application/json
- Schema
- Example (from schema)
- Example
Schema
{
"errorCode": 400,
"errorDescription": "Bad input parameter"
}
{
"errorCode": 507,
"errorDescription": "The HSM partition has no room for a new key. Remove unused key pairs (kms signer orphans list) or give the partition more room."
}