Overview
Adapt’s multi-organisation support allows you to manage multiple websites across different teams or clients. Each organisation has its own members, usage limits, and data isolation.
Creating an Organisation
Navigate to Organisations
Click your profile menu and select “Organisations” from the dropdown.
Create New Organisation
Click “Create Organisation” and enter a name for your team or client. Organisation names must be 100 characters or fewer.
Automatic Setup
You’ll be automatically added as an admin and the organisation will become your active context.
API Usage
Create organisations programmatically:
curl -X POST https://adapt.app.goodnative.co/v1/organisations \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Corporation"
}'
Response:
{
"status" : "success" ,
"data" : {
"organisation" : {
"id" : "org_456def" ,
"name" : "Acme Corporation" ,
"created_at" : "2023-05-18T10:00:00Z" ,
"updated_at" : "2023-05-18T10:00:00Z"
}
},
"meta" : {
"timestamp" : "2023-05-18T10:00:00Z" ,
"version" : "1.0.0"
}
}
Switching Between Organisations
Your active organisation determines which data you see and which limits apply. Switch organisations from the dashboard or via API.
All jobs, domains, and usage statistics are scoped to your active organisation.
Switch via Dashboard
Click your profile menu
Select the organisation from the dropdown
The page will refresh with the new organisation’s data
Switch via API
curl -X POST https://adapt.app.goodnative.co/v1/organisations/switch \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_456def"
}'
Response:
{
"status" : "success" ,
"data" : {
"organisation" : {
"id" : "org_456def" ,
"name" : "Acme Corporation" ,
"created_at" : "2023-05-18T10:00:00Z" ,
"updated_at" : "2023-05-18T10:00:00Z"
}
},
"message" : "Organisation switched successfully"
}
Listing Your Organisations
View all organisations you’re a member of:
curl https://adapt.app.goodnative.co/v1/organisations \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Response:
{
"status" : "success" ,
"data" : {
"organisations" : [
{
"id" : "org_456def" ,
"name" : "Acme Corporation" ,
"created_at" : "2023-05-18T10:00:00Z"
},
{
"id" : "org_789ghi" ,
"name" : "Beta Industries" ,
"created_at" : "2023-06-12T14:30:00Z"
}
],
"active_organisation_id" : "org_456def"
}
}
Team Members
Member Roles
Full access to organisation settings, including:
Invite and remove members
Change member roles
Update subscription plans
Access all jobs and domains
Standard access:
Create and view jobs
View organisation usage
Cannot manage members or billing
Inviting Team Members
Open Team Settings
Navigate to Organisation Settings → Team Members.
Send Invite
Enter the email address and select a role (admin or member).
Invite Email Sent
The recipient receives an email with a secure invite link valid for 7 days.
Accept Invite
The recipient clicks the link, signs up or logs in, and automatically joins your organisation.
API: Create Invite
curl -X POST https://adapt.app.goodnative.co/v1/organisations/invites \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected] ",
"role": "member"
}'
Response:
{
"status" : "success" ,
"data" : {
"invite" : {
"id" : "inv_abc123" ,
"email" : "[email protected] " ,
"role" : "member" ,
"email_delivery" : "sent" ,
"created_at" : "2023-05-18T12:00:00Z" ,
"expires_at" : "2023-05-25T12:00:00Z"
}
},
"message" : "Invite sent successfully"
}
You must be an admin to invite members.
Viewing Team Members
List all members in your active organisation:
curl https://adapt.app.goodnative.co/v1/organisations/members \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Response:
{
"status" : "success" ,
"data" : {
"members" : [
{
"id" : "user_123" ,
"email" : "[email protected] " ,
"full_name" : "Jane Doe" ,
"role" : "admin" ,
"created_at" : "2023-05-18T10:00:00Z"
},
{
"id" : "user_456" ,
"email" : "[email protected] " ,
"full_name" : "John Smith" ,
"role" : "member" ,
"created_at" : "2023-05-20T14:30:00Z"
}
],
"current_user_id" : "user_123" ,
"current_user_role" : "admin"
}
}
Changing Member Roles
Update a member’s role (admins only):
curl -X PATCH https://adapt.app.goodnative.co/v1/organisations/members/user_456 \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"role": "admin"
}'
You cannot change your own role. At least one admin must remain in every organisation.
Removing Members
Remove a member from your organisation:
curl -X DELETE https://adapt.app.goodnative.co/v1/organisations/members/user_456 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
You cannot remove the last admin from an organisation.
Usage & Limits
Each organisation has its own daily page crawl limit based on the subscription plan.
Check Current Usage
curl https://adapt.app.goodnative.co/v1/usage \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Response:
{
"status" : "success" ,
"data" : {
"usage" : {
"daily_used" : 1247 ,
"daily_limit" : 5000 ,
"daily_remaining" : 3753 ,
"reset_at" : "2023-05-19T00:00:00Z"
}
}
}
Usage History
View historical usage data:
curl https://adapt.app.goodnative.co/v1/usage/history?days= 30 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Response:
{
"status" : "success" ,
"data" : {
"days" : 30 ,
"usage" : [
{
"usage_date" : "2023-05-18" ,
"pages_processed" : 1247 ,
"jobs_created" : 3
},
{
"usage_date" : "2023-05-17" ,
"pages_processed" : 892 ,
"jobs_created" : 2
}
]
}
}
Data Isolation
All data is strictly isolated per organisation:
Jobs and results
Domains and schedulers
Analytics and page data
API keys and webhooks
You can only access data from your active organisation. Switch organisations to view different data.
Best Practices
Name organisations after clients, projects, or teams for easy identification (e.g., “Acme Corp - Marketing”, “Beta Industries - Production”).
Always have at least two admins per organisation to prevent access issues if one admin is unavailable.
Audit your team members quarterly and remove users who no longer need access.
Monitor Usage Proactively
Set up alerts when usage approaches limits to avoid disruptions to scheduled crawls.