Skip to main content
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"
}
name
string
required
Name of the workspace
description
string
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"
}
workspace_id
string
required
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"
}
workspace_id
string
required
Unique identifier for the workspace
name
string
Updated name for the workspace
description
string
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"
}
workspace_id
string
required
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"
  }
]
workspace_id
string
required
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"
}
workspace_id
string
required
Unique identifier for the workspace
user_id
string
required
ID of the user to add to the workspace
role
string
default:"member"
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"
}
workspace_id
string
required
Unique identifier for the workspace
user_id
string
required
ID of the user whose role to update
role
string
required
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"
}
workspace_id
string
required
Unique identifier for the workspace
user_id
string
required
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:
{
  "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

1

Create Workspace

Start by creating a workspace with a clear name and description.
2

Invite Team Members

Add team members with appropriate roles (admin or member).
3

Set Up Projects

Create projects within the workspace to organize related links.
4

Configure Domains

Set up custom domains for branded link creation.
5

Create Links

Team members can create and manage links within the workspace.
6

Monitor Performance

Use workspace-level analytics to track overall performance.

Integration with Other APIs

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.