Wallet Infrastructure
Wallet Infrastructure
Passkeys

Retry passkey enrolment

POST
/v1/passkeys/{credentialId}/safe-owner

Requires scope wallets:write.

Authorization

ApiKey
headerAuthorizationBearer <sk_test_ or sk_live_ key>

Your sk_live_ / sk_test_ API key

Header Parameters

x-customer-id?string

Request Body

application/json
  1. body
treasury?boolean
existingOwner*

The P-256 coordinates of a passkey that is already a Safe owner and will approve this change.

Response Body

200application/json

On-chain half re-attempted

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
401application/json

The Authorization header is missing, malformed, or the API key is unknown or revoked

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
429application/json

The API key exceeded its request budget for the window

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean

Language

curl -X POST 'https://api.pilot.shiga.io/v1/passkeys/{credentialId}/safe-owner' \  -H 'x-customer-id: <customer id>' \  -H 'Authorization: Bearer sk_test_...' \  -H 'Content-Type: application/json' \  -d '{  "existingOwner": {    "x": "string",    "y": "string"  }}'
Example Response
{  "data": {    "entityKey": "string",    "credentialId": "string",    "moduleId": "evm_erc4337",    "label": "string",    "onChain": {      "status": "active",      "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",      "signerAddress": "string",      "enrolledChains": [        "string"      ],      "pendingChains": [        "string"      ],      "complete": true,      "signatureRequests": [        {          "userOpHash": "string",          "chains": [            "string"          ]        }      ],      "results": [        {          "chain": "string",          "ok": true,          "skipped": true,          "userOpHash": "string",          "error": "string"        }      ],      "reason": "string",      "code": "string",      "retryable": true,      "warning": "string"    }  },  "status": 200,  "success": true}