Skip to main content
POST
/
v1
/
customer-seats
PHP (SDK)
declare(strict_types=1);

require 'vendor/autoload.php';

use Spaire;
use Spaire\Models\Components;

$sdk = Spaire\Spaire::builder()
    ->setSecurity(
        '<YOUR_BEARER_TOKEN_HERE>'
    )
    ->build();

$request = new Components\SeatAssign();

$response = $sdk->customerSeats->assignSeat(
    request: $request
);

if ($response->customerSeat !== null) {
    // handle response
}
{
  "created_at": "2023-11-07T05:31:56Z",
  "modified_at": "2023-11-07T05:31:56Z",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "order_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "member": {
    "id": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "customer_id": "<string>",
    "email": "<string>",
    "name": "Jane Doe",
    "external_id": "usr_1337"
  },
  "email": "<string>",
  "customer_email": "<string>",
  "invitation_token_expires_at": "2023-11-07T05:31:56Z",
  "claimed_at": "2023-11-07T05:31:56Z",
  "revoked_at": "2023-11-07T05:31:56Z",
  "seat_metadata": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.spairehq.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

You can generate an Organization Access Token from your organization's settings.

Body

application/json
subscription_id
string<uuid> | null

Subscription ID. Required if checkout_id and order_id are not provided.

checkout_id
string<uuid> | null

Checkout ID. Used to look up subscription or order from the checkout page.

order_id
string<uuid> | null

Order ID for one-time purchases. Required if subscription_id and checkout_id are not provided.

email
string<email> | null

Email of the customer to assign the seat to

external_customer_id
string | null

External customer ID for the seat assignment

customer_id
string<uuid> | null

Customer ID for the seat assignment

external_member_id
string | null

External member ID for the seat assignment. Can be used alone (lookup existing member) or with email (create/validate member).

member_id
string<uuid> | null

Member ID for the seat assignment.

metadata
Metadata · object

Additional metadata for the seat (max 10 keys, 1KB total)

immediate_claim
boolean
default:false

If true, the seat will be immediately claimed without sending an invitation email. API-only feature.

Response

Successful Response

created_at
string<date-time>
required

Creation timestamp of the object.

modified_at
string<date-time> | null
required

Last modification timestamp of the object.

id
string<uuid>
required

The seat ID

status
enum<string>
required

Status of the seat

Available options:
pending,
claimed,
revoked
subscription_id
string<uuid> | null

The subscription ID (for recurring seats)

order_id
string<uuid> | null

The order ID (for one-time purchase seats)

customer_id
string<uuid> | null

The customer ID. When member_model_enabled is true, this is the billing customer (purchaser). When false, this is the seat member customer.

member_id
string<uuid> | null

The member ID of the seat occupant

member
Member · object

The member associated with this seat

email
string | null

Email of the seat member (set when member_model_enabled is true)

customer_email
string | null

The assigned customer email

invitation_token_expires_at
string<date-time> | null

When the invitation token expires

claimed_at
string<date-time> | null

When the seat was claimed

revoked_at
string<date-time> | null

When the seat was revoked

seat_metadata
Seat Metadata · object

Additional metadata for the seat