Scoped Permissions

Every ROLLER API key carries a scope that controls exactly which endpoints it may call. Understand full access, granular scopes, and restricted endpoints.

Every API key issued in ROLLER Venue Manager carries a scope — the set of endpoints the key is allowed to call. When your application calls an endpoint outside its scope, the API responds:

HTTP 403 Forbidden
{ "Message": "Invalid scope" }

Access models

An API key holds one of the following:

ModelWhat it grants
REST API full accessEvery REST API endpoint (bookings, payments, products, guests, discounts, redemptions, webhooks, venue, resources) — except restricted endpoints
Reporting API full accessEvery Data API and reporting endpoint (/data/*, /reporting/*)
Granular scopesAn explicit list of endpoint scopes from the catalog below — nothing else
🚧

Restricted endpoints (all Staff endpoints) are never covered by full access. They must be explicitly granted on the key, and the venue must additionally be enabled for the Staff Management API.

When you request API access for a venue, request only the scopes your integration needs — venues see and approve what your key can do.

Working out which scopes you need

Each operation in the API Reference lists its required scope. A typical marketplace vendor checkout integration needs:

ProductAvailability_Get   Product_Get
BookingDraft_Create       BookingDraft_Costs      BookingDraft_Publish
Booking_Get               Booking_Cancel
Payment_Create
Webhook_Create            Webhook_Get             Webhook_GetFailedMessages

Add Data_* / Reporting_* scopes (or Reporting API full access) if you reconcile sales with the Data API.

Scope catalog

Bookings

ScopeGrantsAPIEndpoint
Booking_GetGet booking detailREST APIGET /bookings/{uniqueId}
Booking_SearchSearch bookingsREST APIGET /bookings
Booking_CreateCreate bookingREST APIPOST /bookings
Booking_UpdateUpdate bookingREST APIPUT /bookings/{uniqueId}
Booking_CancelCancel bookingREST APIPOST /bookings/{uniqueId}/cancel
Booking_DeleteDelete bookingREST APIDELETE /bookings/{uniqueId}
BookingDraft_CreateCreate draft bookingREST APIPOST /bookings/draft
BookingDraft_CostsGet booking costsREST APIPOST /bookings/draft/costs
BookingDraft_PublishPublish draft bookingREST APIPOST /bookings/draft/publish
BookingFormResponse_GetGet booking form responsesREST APIGET /bookings/{uniqueId}/form-responses
BookingResources_GetGet booking resourcesREST APIGET /bookings/{uniqueId}/resources
BookingResources_PostUpdate booking resourcesREST APIPOST /bookings/{uniqueId}/resources

Capacity Reservation

ScopeGrantsAPIEndpoint
CapacityReservation_CreateValidate & reserve capacityREST APIPOST /capacity-reservation
CapacityReservation_DeleteDelete capacity reservationREST APIDELETE /capacity-reservation/{uniqueId}
CapacityBlock_CreateBlock resource capacityREST APIPOST /capacity-reservation/block
CapacityBlock_GetGet resource capacity blockREST APIGET /capacity-reservation/block/{blockId}
CapacityBlock_SearchSearch capacity blocksREST APIGET /capacity-reservation/block
CapacityBlock_DeleteDelete capacity blockREST APIDELETE /capacity-reservation/block/{blockId}

Discounts

ScopeGrantsAPIEndpoint
Discount_GetGet discountREST APIGET /discounts/{discountId}
Discount_CreateCreate discountREST APIPOST /discounts
Discount_UpdateUpdate discountREST APIPUT /discounts/{discountId}
Discount_ValidateValidate discountsREST APIPOST /discounts/validate
DiscountCode_CreateCreate discount codesREST APIPOST /discounts/{discountId}/codes
DiscountCode_DeleteDelete discount codesREST APIDELETE /discounts/{discountId}/codes

Guests

ScopeGrantsAPIEndpoint
Guest_GetGet guest detailREST APIGET /guests/{guestId}
Guest_UpdateUpdate guest detailREST APIPUT /guests/{guestId}
Customer_GetGet customer detailREST APIGET /customers/{customerId}
CustomerMultiPass_GetGet guest multi-passesREST APIGET /customers/{customerId}/multi-passes
SignedWaiver_GetGet signed waiverREST APIGET /signed-waivers/{signedWaiverId}
SignedWaiverFormResponses_GetGet signed waiver form responsesREST APIGET /signed-waivers/{signedWaiverId}/form-responses

Products

ScopeGrantsAPIEndpoint
ProductAvailability_GetGet product availabilityREST APIGET /product-availability
Product_GetGet product detailREST APIGET /products
Product_Create_StockCreate stock productsREST APIPOST /products/stock
Product_Update_StockUpdate stock productsREST APIPUT /products/stock
Product_Update_StockQuantityUpdate stock quantityREST APIPUT /products/stock/{parentProductId}/quantity

Redemptions

ScopeGrantsAPIEndpoint
Redemption_RedeemTicketsRedeem ticketsREST APIPOST /redemptions

Resources

ScopeGrantsAPIEndpoint
Resource_GetGet resourcesREST APIGET /resources
ResourceCalendar_GetGet resource calendarREST APIGET /resources/calendar/daily

Payments

ScopeGrantsAPIEndpoint
Payment_CreateAdd payment to bookingREST APIPOST /bookings/{uniqueId}/payments
PaymentLink_PostCreate payment linkREST APIPOST /bookings/{uniqueId}/payments/links
PaymentLink_DeleteCancel payment linkREST APIDELETE /bookings/{uniqueId}/payments/links/{paymentLinkId}

Venue

ScopeGrantsAPIEndpoint
Venue_GetGet venue detailREST APIGET /venues/me

Webhooks

ScopeGrantsAPIEndpoint
Webhook_GetGet webhooksREST APIGET /webhooks
Webhook_CreateCreate webhookREST APIPOST /webhooks
Webhook_UpdateUpdate webhookREST APIPUT /webhooks/{webhookId}
Webhook_DeleteDelete webhookREST APIDELETE /webhooks/{webhookId}
Webhook_GetFailedMessagesGet failed webhook messagesREST APIGET /webhooks/messages/failed

Staff

ScopeGrantsAPIEndpoint
Staff_GetGet staff detail ⚠️ restrictedREST APIGET /staff/{uniqueId}
Staff_CreateCreate staff ⚠️ restrictedREST APIPOST /staff
Staff_UpdateUpdate staff ⚠️ restrictedREST APIPUT /staff/{uniqueId}
Staff_DeleteDelete staff ⚠️ restrictedREST APIDELETE /staff/{uniqueId}
Staff_LockLock staff ⚠️ restrictedREST APIPOST /staff/{uniqueId}/lock
Staff_UnlockUnlock staff ⚠️ restrictedREST APIPOST /staff/{uniqueId}/unlock
Staff_SendInvitationSend staff invitation ⚠️ restrictedREST APIPOST /staff/{uniqueId}/send-invitation

Data

ScopeGrantsAPIEndpoint
Data_AttendanceGet attendanceData APIGET /data/attendances
Data_BookingItemGet booking itemsData APIGET /data/bookingitems
Data_BookingPaymentGet paymentsData APIGET /data/bookingpayments
Data_BookingSignedWaiverGet booking signed waiversData APIGET /data/bookingsignedwaivers
Data_CustomerGet customersData APIGET /data/customers
Data_DiscountGet discountsData APIGET /data/discounts
Data_GiftCardGet gift cardsData APIGET /data/giftcards
Data_LocationGet resourcesData APIGET /data/locations
Data_MembershipRedemptionGet membership redemptionsData APIGET /data/membershipredemptions
Data_MembershipStatusGet membership statusesData APIGET /data/membershipstatuses
Data_MembershipCreditGet membership creditsData APIGET /data/membershipcredits
Data_ProductGet productsData APIGET /data/products
Data_ReportingCategoryGet reporting categoriesData APIGET /data/reportingcategories
Data_RevenueGet revenuesData APIGET /data/revenues
Data_SignedWaiverGet signed waiversData APIGET /data/signedwaivers
Data_StaffGet staffData APIGET /data/staffs
Data_TicketGet ticketsData APIGET /data/tickets
Data_WaiverGet waivers informationData APIGET /data/waivers
Data_TillGet POS till reconciliationsData APIGET /data/tillreconciliations
Data_DeviceGet devicesData APIGET /data/devices
Data_ModifiersGet modifiersData APIGET /data/modifiers
Data_GxsGet GX Score responsesData APIGET /reporting/gxs
Data_BookingAuditLogGet booking audit logsData APIGET /reporting/bookings/audit-logs
Data_RoleGet rolesData APIGET /data/roles

Reporting

ScopeGrantsAPIEndpoint
Reporting_RevenueEntriesGet revenue entriesData APIGET /reporting/revenue-entries
Reporting_BulkRevenueBulk revenue activity exportData APIPOST /reporting/bulk/revenue-activity
Reporting_BulkDataExportBulk data export requestData APIPOST /reporting/bulk

Notes

  • Scope identifiers are case-sensitive and match the values shown above.
  • The /token endpoint requires no scope — any enabled key can request a token.
  • Legacy keys issued without a scope have unrestricted access; new keys are always scoped.
  • Scopes are configured when the key is created and can be updated in ROLLER Venue Manager (Settings → Integrations → API) or by your ROLLER account manager.

Did this page help you?