Roles and Permissions

Super Organization

A super organisation gives you the ability to allocate and administer the rights of other organizations and their users from your account.

This allows you fine-grained control of all your sub (or child) organizations (read: accounts), their roles and permissions and gives the ability to share settings, allocate features, restrict roles and check usage. The billing of a sub (child) organization is handled by the main super organization.

Here is an overview of the role & permission hierarchy within API.audio:
Level 1: - Super org (you)
Level 2: - Org 1 | Org 2 | Org 3
Level 3: - User A, User B, User C | User A, User B, User C | User A, User B, etc.

Each of the orgs will have their own users.

Who is this for?
This feature is vital if you're a platform using API.audio. You'll have your own customers and want to give each of them access to specific voices, sound designs and Voice Intelligence. By being a super org you can manage your customers by creating (or letting them create) their own organization you can manage and control.

Most likely you'll also want to bill your customers according to their use of audio production so you'll have to know their monthly consumption of production credits.

The super organization feature is currently available for all enterprise customers. Get in touch with us if you are interested. Contact [email protected]

What do I get?

  • Access to enable unlimited sub(child) organization into your account (contact us)
  • An endpoint to conveniently return the list of all sub (child) organizations and their data
  • Access to sub (child) account usage on the self-serve developer portal (see image below)
  • Restrict access to chosen activities for sub (child) organizations
  • Billing integration - sub (child) organizations billed by the main super organization
  • Ability to act on behalf of your sub (child) organization
  • SDK support (Python & JavaScript)
1710

How to act on behalf of your sub (child) organization?

In order to control a child organization of yours, please use the following method to assume that organization id.

Set your child organization id to None to stop assuming an organization.

import apiaudio

apiaudio.set_assume_org_id('child_org_id')

# Stop using
apiaudio.set_assume_org_id(None)
const apiaudio = require('apiaudio')

apiaudio.setAssumeOrgId('child_org_id');

// stop using
apiaudio.setAssumeOrgId(null);
# in every call you make on behalf of your child org, you should include x-assume-org header

curl https://v1.api.audio/org --header 'x-api-key: <<API_KEY>>' --header 'x-assume-org: child-org-id'

https://github.com/aflorithmic/apiaudio-python#super-organizations