Accounts

Accounts are the fundamental container for your Faraday resources, defining data isolation and API access.

Accounts overview

Accounts are the secure container for your organization's resources and data on the Faraday platform. Defined rigorously in our code as a well-structured resource with clearly defined data structures, the Account object establishes the boundary for data ownership and API access.

While an account is typically created automatically when you sign up on the website, it remains a distinct object with properties that can be managed programmatically. Specifically:

  • Identity: An account has a name.
  • Membership: Users (you) are members of an account.
  • Access: The account is tied to an API key, which determines the scope of resources you can access or create.

Sub-accounts

The Account abstraction is essential for creating sub-accounts. This feature is commonly used by "Powered by Faraday" users or partners who need to provision Faraday environments for their own clients.

Creating a sub-account allows you to achieve the necessary logical data isolation required by your client's specific security posture.

Provisioning flow

The standard workflow for provisioning a new client environment via the API involves the following steps:

  1. Authenticate as Parent: Use your parent account API key to initiate the process.
  2. Create Sub-account: Use the create account endpoint (POST accounts) to generate a new sub-account.
  3. Retrieve Credentials: Upon creation, you will receive a new API key specific to that sub-account.
  4. Provision Resources: Switch contexts and use the new sub-account API key to configure connections, datasets, and other resources inside that isolated environment.

Inheritance and isolation

When managing sub-accounts, it is critical to understand what is shared and what is isolated.

FeatureInheritance StatusDescription
Billing PlanInheritedThe billing plan is inherited from the parent account to the sub-account.
ResourcesNot InheritedNo resources are shared between sub-accounts, nor are they shared from the parent to the sub-account. They must be affirmatively created again in the sub-account.
DataNot InheritedData (datasets, connections) is not shared, ensuring logical data isolation.

📘Resource creation in sub-accounts

Managing accounts

You can interact with the Account abstraction to retrieve basic details, such as the account name, and in some cases update them programmatically.

  • Look up: You can use the API to look up and retrieve the name of an account.
  • Update: You can change the name of an account programmatically.