Permission Matrix
This page provides the complete access matrix for all BillHive resources, scopes, and roles. Use this as a reference when deciding which role to assign to a team member.
Resource Access by Role
The table below shows which roles have access to each resource. Access is granted at the resource level — if a role has access to a resource, it can perform all scopes (actions) on that resource.
| Resource | Owner | Administrator | CSM | Finance Manager | Pricing Strategist | Support Agent |
|---|---|---|---|---|---|---|
| Account | X | X | X | X | - | X |
| Addon | X | X | - | - | X | - |
| Analytics | X | X | - | X | X | - |
| API Key | X | X | - | - | - | - |
| Charge | X | X | - | - | X | - |
| Contact | X | X | X | - | - | X |
| Invoice | X | X | - | X | - | X |
| Notification | X | X | X | - | - | X |
| Offer | X | X | - | - | X | - |
| Order | X | X | X | - | - | - |
| Payment | X | X | - | X | - | - |
| Payment Gateway | X | X | - | X | - | - |
| Product | X | X | - | - | X | - |
| Rate Plan | X | X | - | - | X | - |
| Subscription | X | X | X | X | - | X |
| Template | X | X | - | - | - | - |
| Theme | X | X | - | - | X | - |
| User | X | X | - | - | - | - |
| Webhook | X | X | - | - | - | - |
Legend: X = Full access, - = No access
Resource Scopes (Detailed)
Each resource has specific scopes (actions). When a role has access to a resource, it can perform all scopes listed below.
Account (8 scopes)
| Scope | Description |
|---|---|
Account.find | List and search customer accounts |
Account.findById | View a specific customer account |
Account.create | Create a new customer account |
Account.updateById | Update customer account details |
Account.deleteById | Delete a customer account |
Account.addBillingAddress | Add billing address to an account |
Account.getBillingAddresses | View billing addresses |
Account.createPaymentMethod | Add a payment method to an account |
Addon (11 scopes)
| Scope | Description |
|---|---|
Addon.findAll | List all addons |
Addon.findById | View a specific addon |
Addon.create | Create a new addon |
Addon.updateById | Update addon details |
Addon.deleteById | Delete an addon |
Addon.deactivateById | Deactivate an addon |
Addon.createPrice | Create a price for an addon |
Addon.findAllAddonPrices | List all addon prices |
Addon.findAllPricesById | View prices for a specific addon |
Addon.findPriceById | View a specific addon price |
Addon.activatePriceById | Activate an addon price |
Addon.deactivatePriceById | Deactivate an addon price |
Analytics (7 scopes)
| Scope | Description |
|---|---|
Analytics.annualRecurringRevenue | View ARR metrics |
Analytics.paymentSuccessRate | View payment success/failure rates |
Analytics.subscriptionChange | View subscription change metrics |
Analytics.subscriptionRenewalRate | View renewal rate metrics |
Analytics.subscriptionStatusBreakdown | View subscription status distribution |
Analytics.trialConversionRate | View trial-to-paid conversion metrics |
Analytics.reportByQuestionType | Generate reports by question type |
API Key (5 scopes)
| Scope | Description |
|---|---|
ApiKey.findAll | List all API keys |
ApiKey.findAllPermissions | View API key permissions |
ApiKey.create | Create a new API key |
ApiKey.deleteById | Delete an API key |
ApiKey.refreshApiKey | Regenerate an API key |
Charge (15 scopes)
| Scope | Description |
|---|---|
Charge.find | Search charges |
Charge.findAll | List all charges |
Charge.findById | View a specific charge |
Charge.create | Create a new charge |
Charge.updateById | Update charge details |
Charge.deleteById | Delete a charge |
Charge.deactivateById | Deactivate a charge |
Charge.createPrice | Create a price for a charge |
Charge.findAllPrices | List all charge prices |
Charge.findAllPricesById | View prices for a specific charge |
Charge.findPriceById | View a specific charge price |
Charge.updatePriceByPriceId | Update a charge price |
Charge.activatePriceById | Activate a charge price |
Charge.deactivatePriceById | Deactivate a charge price |
Contact (4 scopes)
| Scope | Description |
|---|---|
Contact.find | List and search contacts |
Contact.create | Create a new contact |
Contact.update | Update contact details |
Contact.deleteById | Delete a contact |
Invoice (7 scopes)
| Scope | Description |
|---|---|
Invoice.find | List and search invoices |
Invoice.findById | View a specific invoice |
Invoice.Create | Create a new invoice |
Invoice.deleteById | Delete an invoice |
Invoice.generate | Generate an invoice |
Invoice.downloadByInvoiceId | Download invoice PDF |
Invoice.InvoiceItem.findByInvoiceId | View line items for an invoice |
Notification (4 scopes)
| Scope | Description |
|---|---|
Notification.find | List notifications |
Notification.send | Send a notification |
Notification.getEmailPreferences | View email preference settings |
Notification.updateEmailPreferenceByType | Update email preferences |
Offer (10 scopes)
| Scope | Description |
|---|---|
Offer.findAll | List all offers |
Offer.findById | View a specific offer |
Offer.create | Create a new offer |
Offer.updateById | Update offer details |
Offer.deleteById | Delete an offer |
Offer.activateOfferById | Activate an offer |
Offer.deactivateOfferById | Deactivate an offer |
Offer.findAllOfferLinks | List offer links |
Offer.offerLinkById | View a specific offer link |
Offer.getApplicableOffers | Get offers applicable to a subscription |
Order (4 scopes)
| Scope | Description |
|---|---|
Order.find | List and search orders |
Order.findById | View a specific order |
Order.create | Create a new order |
Order.estimate | Generate an order estimate |
Payment (1 scope)
| Scope | Description |
|---|---|
Payment.Mandate.find | List and view payment mandates |
Payment Gateway (2 scopes)
| Scope | Description |
|---|---|
PaymentGateway.createMerchant | Create a merchant account on a gateway |
PaymentGateway.getMerchantOnboardingLink | Get gateway onboarding link |
Product (8 scopes)
| Scope | Description |
|---|---|
Product.find | List and search products |
Product.findById | View a specific product |
Product.create | Create a new product |
Product.updateById | Update product details |
Product.deleteById | Delete a product |
Product.launch | Launch a product |
Product.findAllPricesById | View prices for a product |
Product.getPricingTable | View the pricing table for a product |
Rate Plan (18 scopes)
| Scope | Description |
|---|---|
RatePlan.findAll | List all rate plans |
RatePlan.findById | View a specific rate plan |
RatePlan.create | Create a new rate plan |
RatePlan.deleteById | Delete a rate plan |
RatePlan.createPrice | Create a price for a rate plan |
RatePlan.findAllPricesById | View prices for a rate plan |
RatePlan.findPriceById | View a specific rate plan price |
RatePlan.getRatePlanPrices | List all rate plan prices |
RatePlan.activatePriceById | Activate a rate plan price |
RatePlan.deactivatePriceById | Deactivate a rate plan price |
RatePlan.attachAddon | Attach an addon to a rate plan |
RatePlan.attachCharge | Attach a charge to a rate plan |
RatePlan.getAddonsByRatePlanId | View addons for a rate plan |
RatePlan.getAddonsByRatePlanPriceId | View addons for a rate plan price |
RatePlan.getChargesByRatePlanId | View charges for a rate plan |
RatePlan.findCouponsByRatePlanId | View coupons for a rate plan |
RatePlan.RatePlanPrice.deleteById | Delete a rate plan price |
Subscription (17 scopes)
| Scope | Description |
|---|---|
Subscription.find | List and search subscriptions |
Subscription.findById | View a specific subscription |
Subscription.create | Create a new subscription |
Subscription.delete | Delete a subscription |
Subscription.cancel | Cancel a subscription |
Subscription.pause | Pause a subscription |
Subscription.resume | Resume a paused subscription |
Subscription.renew | Renew a subscription |
Subscription.changePlan | Change subscription plan |
Subscription.changeFrequency | Change billing frequency |
Subscription.addAddon | Add an addon to a subscription |
Subscription.getAddons | View subscription addons |
Subscription.getTerms | View subscription terms |
Subscription.getAuditLog | View subscription audit log |
Subscription.calculateCostToPayNow | Calculate immediate payment amount |
Subscription.findSettings | View subscription settings |
Subscription.saveSettings | Update subscription settings |
Template (4 scopes)
| Scope | Description |
|---|---|
Template.find | List and search templates |
Template.findById | View a specific template |
Template.create | Create a new template |
Template.updateById | Update a template |
Theme (5 scopes)
| Scope | Description |
|---|---|
Theme.updateById | Update theme settings |
Theme.ThemeConfig.create | Create a theme configuration |
Theme.ThemeConfig.findByProductId | View theme config for a product |
Theme.ThemeConfig.findByProductIdCategory | View theme config by category |
Theme.ThemeConfig.upsertPricingTableRatePlanConfig | Configure pricing table display |
User (6 scopes)
| Scope | Description |
|---|---|
User.find | List and search users |
User.findByEmail | Find a user by email |
User.create | Create a new user |
User.updateByEmail | Update user details |
User.deleteById | Delete a user |
Role.find | List available roles |
Webhook (5 scopes)
| Scope | Description |
|---|---|
Webhook.findAll | List all webhooks |
Webhook.findById | View a specific webhook |
Webhook.create | Create a new webhook |
Webhook.updateById | Update a webhook |
Webhook.deleteById | Delete a webhook |
Related Topics
- Roles — Detailed breakdown of each role
- Managing Roles — How to assign roles to users