Skip to main content
POST
/
api
/
v3
/
admin
/
invitations
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'

const client = createAdminClient({
  baseUrl: 'https://your-store.com',
  secretKey: 'sk_xxx',
})

const invitation = await client.invitations.create({
  email: 'ada@example.com',
  role_id: 'role_xxx'
})
{
  "id": "inv_gbHJdmfrXB",
  "email": "new-staff@example.com",
  "status": "pending",
  "created_at": "2026-06-01T13:01:07.038Z",
  "updated_at": "2026-06-01T13:01:07.038Z",
  "expires_at": "2026-06-15T13:01:07.035Z",
  "role_id": "role_UkLWZg9DAJ",
  "role_name": "admin",
  "inviter_email": "lucinda.lueilwitz@roberts.ca",
  "acceptance_url": "/accept-invitation/inv_gbHJdmfrXB?token=z4cJh9MkusDHDHN1MMTzMKvd",
  "invitee_exists": false,
  "store": {
    "id": "store_UkLWZg9DAJ",
    "name": "Spree Test Store"
  }
}

Authorizations

x-spree-api-key
string
header
required

Secret API key for admin access

Authorization
string
header
required

JWT token for admin user authentication

Headers

x-spree-api-key
string
required
Authorization
string
required

Body

application/json
email
string
required
Example:

"ada@example.com"

role_id
string
required
Example:

"role_xxx"

Response

201 - application/json

invitation created