Create stake action

Creates a new action for an existing stake. Use this endpoint to initiate a withdrawal or another protocol‑supported staking action.

HTTP request
POST/staking/stakes/{stakeId}/actions
Authentication
Authentication Type Supported
Organization User (CustomerEmployee) Yes
Delegated User (EndUser) No
Service Account Yes
Required permissions
Stakes:Update (always required)
Authorization requirements
Header Type Required Description
Authorization string Yes Bearer token used to authenticate the request. See Authentication flows for details.
X-DFNS-USERACTION string Yes User Action Signature used to sign change‑inducing requests. See User Action Signing flows for guidance.
Path parameters
Parameter Type Required Description
stakeId string Yes Unique identifier of the stake. Minimum length is 1 character.
Request body

Use this object when creating an IOTA withdrawal action.

Field Type Required
protocol enum string Yes
kind enum string Yes
amount string Yes
externalId string No
curl --request POST \
  --url https://api.digitalassets.ibm.com/staking/stakes/{stakeId}/actions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-DFNS-USERACTION: <api-key>' \
  --data '
{
  "protocol": "Iota",
  "kind": "Withdraw",
  "amount": "<string>",
  "externalId": "<string>"
}
'
Response
200: Success

Example response:

{
  "id": "<string>",
  "walletId": "<string>",
  "status": "Active",
  "requester": {
    "userId": "<string>",
    "tokenId": "<string>"
  },
  "requestBody": {
    "protocol": "Babylon",
    "walletId": "<string>",
    "provider": "Figment",
    "amount": "<string>",
    "duration": 123,
    "externalId": "<string>"
  },
  "dateCreated": "<string>",
  "protocol": "Babylon",
  "data": {
    "finalityProviders": [
      "<string>"
    ],
    "covenantPubkeys": [
      "<string>"
    ],
    "magicBytes": "<string>",
    "covenantThreshold": 123,
    "minUnbondingTime": 123,
    "lockHeight": 123
  },
  "actions": [
    {
      "id": "<string>",
      "stakeId": "<string>",
      "kind": "Stake",
      "requester": {
        "userId": "<string>",
        "tokenId": "<string>"
      },
      "requestBody": {
        "protocol": "Babylon",
        "walletId": "<string>",
        "provider": "Figment",
        "amount": "<string>",
        "duration": 123,
        "externalId": "<string>"
      },
      "dateCreated": "<string>",
      "transactionId": "<string>",
      "signatureId": "<string>",
      "transactionHash": "<string>",
      "failureReason": "<string>"
    }
  ],
  "provider": "Figment"
}