Vault

Submit an encrypted private-key import envelope

Consumes a one-time encrypted import session and imports the decrypted EVM or Solana private key into encrypted vault storage. Plaintext privateKey fields are rejected; audit metadata records only chain/session/address metadata.

post/vault/{agentId}/import/submit

Headers

X-Steward-Request-Timestampstring

Unix seconds, Unix milliseconds, or HTTP/ISO timestamp. Sensitive mutating routes require this or X-Steward-Request-Expires-At when request-expiry or request signatures are enforced.

X-Steward-Request-Expires-Atstring

Unix seconds, Unix milliseconds, or HTTP/ISO expiry time. Sensitive mutating routes require this or X-Steward-Request-Timestamp when request-expiry or request signatures are enforced.

X-Steward-Signaturestring

Authorization signature for sensitive mutating routes when STEWARD_REQUIRE_AUTH_SIGNATURE=true or production enforcement is enabled. Use v1=<hmac-sha256> or p256=<signature>.

X-Steward-Signing-Key-Idstring

Tenant request-signing key id used to select a managed HMAC signing key. Required when signing with a managed tenant key; omit only for static or app-client signing secrets.

Idempotency-Keystring

Required for signed sensitive requests and recommended for all sensitive mutating requests. Replays are scoped to authenticated or explicitly signed contexts.

Request body

importSessionIdstring required
ephemeralPublicKeystring required

Base64url DER-encoded X25519 SPKI public key generated by the client.

ivstring required

Base64url AES-GCM nonce, 12 bytes before encoding.

ciphertextstring required

Base64url encrypted private key bytes. Plaintext privateKey is rejected.

tagstring required

Base64url AES-GCM authentication tag.

Response

JSON response

oktrue required

Changes

Changed in 1 of the 9 revisions of this API.1