Teams

Collaborate with others by inviting team members to your organization. Each member gets a role that controls what they can do.

Roles

Role Deploy View Manage team Billing
admin Yes Yes Yes Yes
deployer Yes Yes No No
viewer No Yes No No
billing-admin No Yes No Yes
  • Admin — Full access. Can invite and remove members, manage billing, and deploy functions.
  • Deployer — Can deploy, rollback, and manage functions. Cannot manage team members.
  • Viewer — Read-only access to functions, activations, and logs.
  • Billing admin — Can view resources and manage billing. Cannot deploy or manage team.

Inviting members

Admins can invite new members from the dashboard at app.fold.run/console/teams. Click Invite member, enter their email, and choose a role.

The invitee receives an email with an accept link. Invites expire after 48 hours.

Accepting an invite

The invitee clicks the link in their email or calls the accept endpoint directly:

curl -X POST https://api.fold.run/teams/accept \
  -H "Content-Type: application/json" \
  -d '{
    "token": "INVITE_TOKEN",
    "password": "new-password"
  }'

If the invitee doesn't have an account, one is created automatically. If they already have an account, the password field is optional.

Managing members

View your team members, pending invites, and remove access from the dashboard at app.fold.run/console/teams. Admins can change roles and remove members directly from the team page.

Workspace roles

In addition to account-level roles, members can have per-workspace roles. A team member can be an admin in one workspace and a viewer in another. Workspace roles use the same hierarchy as account roles (admin, deployer, viewer, billing-admin) but are scoped to a single workspace.

Manage workspace members from the workspace settings page or via the CLI:

fold workspace members list staging
fold workspace members add staging user_abc123 --role deployer

See Workspaces for details on workspace member management.

Custom roles

Create custom roles with granular permissions tailored to your team's needs. Custom roles work alongside the built-in roles (admin, deployer, viewer, billing-admin).

Create a custom role

curl -X POST https://api.fold.run/roles \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "release-manager",
    "permissions": ["deploy", "view_logs", "view_activations"]
  }'
Field Type Required Description
name string Yes Role name (1-100 characters)
permissions string[] Yes At least one permission from the list below

Available permissions

Permission Description
deploy Deploy, rollback, and delete functions
view_logs View logs and log streams
view_activations View activation records
manage_secrets Create, update, and delete secrets
manage_team Invite and remove team members
manage_billing Access billing, invoices, and plan changes
manage_hooks Create, update, and delete webhooks
manage_schedules Create, update, and delete schedules
manage_api_keys Create, rotate, and revoke API keys
manage_domains Add, verify, and remove custom domains

List custom roles

curl "https://api.fold.run/roles" \
  -H "Authorization: Bearer YOUR_TOKEN"

Update a custom role

curl -X PUT "https://api.fold.run/roles/role_abc123" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "permissions": ["deploy", "view_logs", "view_activations", "manage_hooks"]
  }'

Both name and permissions are optional on update — send only what you want to change.

Delete a custom role

curl -X DELETE "https://api.fold.run/roles/role_abc123" \
  -H "Authorization: Bearer YOUR_TOKEN"

Via the SDK

// List custom roles
const { roles } = await fold.listRoles();

// Create a custom role
await fold.createRole({
  name: 'release-manager',
  permissions: ['deploy', 'view_logs', 'view_activations'],
});

// Update a role
await fold.updateRole('role_abc123', { permissions: ['deploy', 'view_logs'] });

// Delete a role
await fold.deleteRole('role_abc123');

Custom roles can be assigned to workspace members the same way as built-in roles — see Workspaces for workspace member management.

Plan limits

Plan Team members
Free Up to 3 (including yourself)
Pro Unlimited

Upgrade to Pro from Billing to add more team members.