The Workspaces API allows you to create, manage, and organize your links within collaborative workspaces. Workspaces enable team collaboration, role-based access control, and organized link management across different projects and campaigns.
Base URL
https://api.taap.it/v1/workspaces
Create Workspace
Create a new workspace for organizing your links and collaborating with team members.
curl -X POST 'https://api.taap.it/v1/workspaces' \
-H 'Authorization: Bearer taapit_your_api_key_here' \
-H 'Content-Type: application/json' \
-d '{
"name": "Marketing Team Workspace",
"description": "Shared workspace for marketing team campaigns and initiatives"
}'
{
"id" : "ws_987654321" ,
"name" : "Marketing Team Workspace" ,
"description" : "Shared workspace for marketing team campaigns and initiatives" ,
"created_at" : "2024-01-15T10:30:00Z" ,
"updated_at" : "2024-01-15T10:30:00Z"
}
Optional description for the workspace
List Workspaces
Retrieve all workspaces accessible to the current user.
curl -X GET 'https://api.taap.it/v1/workspaces' \
-H 'Authorization: Bearer taapit_your_api_key_here'
[
{
"id" : "ws_987654321" ,
"name" : "Marketing Team Workspace" ,
"description" : "Shared workspace for marketing team campaigns and initiatives" ,
"created_at" : "2024-01-15T10:30:00Z" ,
"updated_at" : "2024-01-15T10:30:00Z"
},
{
"id" : "ws_123456789" ,
"name" : "Personal Workspace" ,
"description" : "My personal links and projects" ,
"created_at" : "2024-01-10T14:20:00Z" ,
"updated_at" : "2024-01-12T09:15:00Z"
}
]
Get Workspace
Retrieve details for a specific workspace.
curl -X GET 'https://api.taap.it/v1/workspaces/ws_987654321' \
-H 'Authorization: Bearer taapit_your_api_key_here'
{
"id" : "ws_987654321" ,
"name" : "Marketing Team Workspace" ,
"description" : "Shared workspace for marketing team campaigns and initiatives" ,
"created_at" : "2024-01-15T10:30:00Z" ,
"updated_at" : "2024-01-15T10:30:00Z"
}
Unique identifier for the workspace
Update Workspace
Update an existing workspace’s details.
curl -X PUT 'https://api.taap.it/v1/workspaces/ws_987654321' \
-H 'Authorization: Bearer taapit_your_api_key_here' \
-H 'Content-Type: application/json' \
-d '{
"name": "Marketing & Sales Workspace",
"description": "Collaborative workspace for marketing and sales team initiatives"
}'
{
"id" : "ws_987654321" ,
"name" : "Marketing & Sales Workspace" ,
"description" : "Collaborative workspace for marketing and sales team initiatives" ,
"created_at" : "2024-01-15T10:30:00Z" ,
"updated_at" : "2024-01-15T11:00:00Z"
}
Unique identifier for the workspace
Updated name for the workspace
Updated description for the workspace
Delete Workspace
Remove a workspace from your account.
curl -X DELETE 'https://api.taap.it/v1/workspaces/ws_987654321' \
-H 'Authorization: Bearer taapit_your_api_key_here'
{
"message" : "Workspace deleted successfully"
}
Unique identifier for the workspace to delete
Deleting a workspace will remove all associated links, projects, and member access. This action cannot be undone.
Member Management
Get Workspace Members
Retrieve all members of a workspace with their roles.
curl -X GET 'https://api.taap.it/v1/workspaces/ws_987654321/members' \
-H 'Authorization: Bearer taapit_your_api_key_here'
[
{
"user_id" : "user_123456789" ,
"email" : "[email protected] " ,
"role" : "admin" ,
"joined_at" : "2024-01-15T10:30:00Z"
},
{
"user_id" : "user_987654321" ,
"email" : "[email protected] " ,
"role" : "member" ,
"joined_at" : "2024-01-16T14:20:00Z"
}
]
Unique identifier for the workspace
Add Workspace Member
Add a new member to the workspace.
curl -X POST 'https://api.taap.it/v1/workspaces/ws_987654321/members?user_id=user_456789123&role=member' \
-H 'Authorization: Bearer taapit_your_api_key_here'
{
"message" : "Member added successfully"
}
Unique identifier for the workspace
ID of the user to add to the workspace
Role for the new member: “admin” or “member”
Update Member Role
Change a member’s role within the workspace.
curl -X PUT 'https://api.taap.it/v1/workspaces/ws_987654321/members/user_987654321?role=admin' \
-H 'Authorization: Bearer taapit_your_api_key_here'
{
"message" : "Member role updated successfully"
}
Unique identifier for the workspace
ID of the user whose role to update
New role: “admin” or “member”
Remove Workspace Member
Remove a member from the workspace.
curl -X DELETE 'https://api.taap.it/v1/workspaces/ws_987654321/members/user_987654321' \
-H 'Authorization: Bearer taapit_your_api_key_here'
{
"message" : "Member removed successfully"
}
Unique identifier for the workspace
ID of the user to remove from the workspace
Workspace Roles
Admin Role
Full access to workspace management and all resources
Create, update, and delete links
Manage workspace settings
Add and remove members
Change member roles
Access all analytics and statistics
Manage projects and domains
Member Role
Standard access to workspace resources with limited management capabilities
Create, update, and delete own links
View workspace links and analytics
Access projects and domains
Cannot manage workspace settings or members
Workspace Organization Strategies
Department-Based Organization
Organize workspaces by departments or teams:
Marketing Team
Sales Team
Product Team
{
"name" : "Marketing Department" ,
"description" : "All marketing campaigns and initiatives"
}
Project-Based Organization
Create workspaces for specific projects or campaigns:
{
"name" : "Q1 2024 Product Launch" ,
"description" : "All links and resources for the Q1 product launch campaign"
}
Client-Based Organization
Organize workspaces by clients or accounts:
{
"name" : "Client ABC Campaign" ,
"description" : "Links and resources for Client ABC's marketing campaign"
}
Workspace Workflow
Create Workspace
Start by creating a workspace with a clear name and description.
Invite Team Members
Add team members with appropriate roles (admin or member).
Set Up Projects
Create projects within the workspace to organize related links.
Configure Domains
Set up custom domains for branded link creation.
Create Links
Team members can create and manage links within the workspace.
Monitor Performance
Use workspace-level analytics to track overall performance.
Integration with Other APIs
Links in Workspaces
When creating links, specify the workspace:
curl -X POST 'https://api.taap.it/v1/links' \
-H 'Authorization: Bearer taapit_your_api_key_here' \
-H 'Content-Type: application/json' \
-d '{
"original_url": "https://example.com/campaign-page",
"workspace_id": "ws_987654321",
"custom_code": "summer-campaign"
}'
Projects in Workspaces
Projects are created within workspaces:
curl -X POST 'https://api.taap.it/v1/projects' \
-H 'Authorization: Bearer taapit_your_api_key_here' \
-H 'Content-Type: application/json' \
-d '{
"name": "Summer Campaign 2024",
"description": "Summer marketing campaign",
"workspace_id": "ws_987654321"
}'
Workspace Analytics
Get comprehensive analytics for all links in a workspace:
curl -X GET 'https://api.taap.it/v1/stats/workspaces/ws_987654321/summary?start_date=2024-01-01&end_date=2024-01-31' \
-H 'Authorization: Bearer taapit_your_api_key_here'
Error Responses
{
"detail" : "Workspace name is required"
}
{
"detail" : "Access denied to this workspace"
}
{
"detail" : "Workspace not found"
}
{
"detail" : "Workspace name already exists"
}
Rate Limits
Plan-based Rate Limits : Rate limits vary based on your subscription plan
Workspace-specific operations : 500 requests per hour per workspace
Best Practices
Use clear, descriptive names for workspaces
Create separate workspaces for different teams or projects
Use descriptions to provide context and guidelines
Regularly review and archive unused workspaces
Follow the principle of least privilege for member roles
Regularly audit member access and permissions
Use admin roles sparingly and only when necessary
Implement proper onboarding processes for new members
Monitor workspace access and member activities
Implement proper access controls for sensitive workspaces
Regularly review and update member permissions
Use strong authentication for workspace access
Workspace Analytics Dashboard
Build a comprehensive dashboard using workspace data:
// Workspace dashboard data
async function getWorkspaceDashboard ( workspaceId ) {
const [ workspace , members , stats ] = await Promise . all ([
fetch ( `/v1/workspaces/ ${ workspaceId } ` ). then ( r => r . json ()),
fetch ( `/v1/workspaces/ ${ workspaceId } /members` ). then ( r => r . json ()),
fetch ( `/v1/stats/workspaces/ ${ workspaceId } /summary?start_date=2024-01-01&end_date=2024-01-31` ). then ( r => r . json ())
]);
return {
workspace ,
memberCount: members . length ,
adminCount: members . filter ( m => m . role === 'admin' ). length ,
totalClicks: stats . total_clicks ,
topCountries: stats . top_countries . slice ( 0 , 5 )
};
}
Complete API Reference You’ve completed the API reference! Return to the introduction to explore additional resources and guides.