Team seats let a single subscription cover multiple members of an organization. Instead of each user buying their own plan, one billing owner holds a subscription with a fixed number of seats and assigns those seats to teammates by email or customer ID. Laravel Polar exposes seat management directly on theDocumentation Index
Fetch the complete documentation index at: https://danestvesllc-2b77d201.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Subscription model. For admin or cross-subscription operations, use the LaravelPolar facade.
How seat assignment works: Assigning by email sends a Polar invitation link. Assigning by customer ID grants access directly without an email invite. Both approaches use the same underlying Polar endpoint.
Listing seats
Callseats() on a subscription to fetch a SeatsList object containing all seats and the available and total counts:
availableSeats to decide whether you can add more members before prompting the owner to upgrade.
Assigning a seat
CallassignSeat() to add a member to a subscription. You can identify the recipient by email, by an existing Polar customer ID, or by an external customer ID.
Assign by email (sends invitation)
Passing an email address sends the recipient an invitation link to claim the seat:Assign by customer ID
If the recipient already has a Polar customer record, assign the seat directly without sending an invitation:Assign with metadata
Pass ametadata array to attach structured data to the seat — for example, a role or department:
assignSeat() returns a Polar\Models\Components\CustomerSeat instance representing the new seat. Store the seatId if you need to revoke or resend the invitation later.Revoking a seat
Remove a member from a subscription by passing their seat ID torevokeSeat():
Resending a seat invitation
If a pending invitation has expired or the recipient missed it, resend it withresendSeatInvitation():
Facade variants for admin use
For operations that span multiple subscriptions or that run outside the context of a specific billable model, use theLaravelPolar facade directly: