Create account
POST/create-account
Creates a new SideShift.ai account.
Recommended: generate an Ed25519 keypair offline and send its public key as pubKey. The key is registered as the account's credential and the account has no secret. Sign authenticated requests with the secret key, see Authentication. The response returns id and pubKey.
Without a pubKey, the account gets a legacy secret instead, used via the x-sideshift-secret header. The response returns id and secret.
Important: A SideShift.ai account represents your integration, not an individual end user. Use one account for your entire integration and the same id (as affiliateId) across all shift requests. End users are distinguished by their shiftId, not by separate accounts.
The id can be used as affiliateId in shift creation requests to earn commissions.
To rotate a key, register a new one with POST /v2/account/auth-keys and disable the old one. You do not need a new account.
Request
- application/json
Body
Ed25519 public key, 32 bytes hex encoded (64 characters, 0x prefix optional). Recommended. If set, the account authenticates with signed requests and has no secret.
Optional ID of the account that referred this account.
Responses
- 201
- 400
- 429
- 500
- application/json
- Schema
- Created with pubKey
- Created without pubKey (legacy)
Schema
The account ID. Can be used as affiliateId when creating shifts.
The registered public key. Returned when pubKey was sent.
The legacy account secret, used via the x-sideshift-secret header. Returned only when no pubKey was sent. Store securely and never share.
{
"id": "YQMi62XMb",
"pubKey": "033658ded9f327661cb5069122c9e0be02339d6dbe824a9d335e465030ba64b2"
}
{
"id": "YQMi62XMb",
"secret": "2d880aab08340f43c3803515f19a0ebf"
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Public key already registered",
"code": "BAD_USER_INPUT"
}
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Rate limit exceeded.",
"code": "APPLICATION_ERROR"
}
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Account creation disabled",
"code": "APPLICATION_ERROR"
}
}