Workspace, membership, and invitation API
Create and update companies, discover workspace members, send invitations, and accept or decline an invitation through the API.
Before you begin
Use https://tasker.fit/api as the REST base URL. Create an active integration token in Profile → API Tokens, and send Authorization: Bearer <your-api-token>. Replace all example IDs with values returned for your account.
Planning your workflow
The REST API calls a workspace a company and identifies it with company_id. Discover that ID by listing companies instead of using the display title as an identifier. Workspace membership determines the available projects and management operations. Changing a company_id changes subsequent scoped URLs, so keep the returned identifier after an update.
Invitations target an existing member_id and an explicit role. The invite_code is a UUID used to accept, decline, or revoke the invitation. Recipient operations run under the invited account, while workspace invitation management requires the appropriate manager permissions. Member role updates use a JSON body containing company_id and member_id, rather than placing those IDs in query parameters.
Example
Create and update companies, discover workspace members, send invitations, and accept or decline an invitation through the API.
Step-by-step tutorials / 1
Integration workflow
List workspaces and select a company_id. Create a workspace only if your integration needs a new one.
List its members or search registered accounts to find numeric member IDs.
Create an invitation with a role; the invited account can accept using its invite_code. Review membership after acceptance.
What to expect: Read the returned data object and keep the resource identifiers for subsequent requests. Check the HTTP status before treating a write operation as successful.
Endpoints and request examples
Replace example identifiers, tokens, and dates with your own values. Each example shows fields for a specific operation, rather than a complete response schema.
| Method | Path | Operation |
|---|---|---|
| GET | /company/list/ | List accessible workspaces |
| POST | /company/list/ | Create a workspace |
| GET | /company/ | Read a workspace |
| PATCH | /company/ | Update workspace details |
| DELETE | /company/ | Delete a workspace |
| GET | /company/members/ | List workspace members |
| PATCH | /company/members/ | Change a workspace member role |
| GET | /member/search/ | Find registered members |
| GET | /company/invites/ | List workspace invitations |
| POST | /company/invites/ | Invite a registered member |
| DELETE | /company/invites/ | Revoke an invitation |
| GET | /member/company-invitations/ | List your invitations |
| PATCH | /member/company-invitations/ | Accept an invitation |
| DELETE | /member/company-invitations/ | Decline an invitation |
/api/company/list/List accessible workspaces
Authentication and permission for this operation are required.
URL query parameters (example)
{
"page": 1,
"limit": 20
}Additional fields: q
cURL example
curl --request GET 'https://tasker.fit/api/company/list/?page=1&limit=20' \
--header 'Authorization: Bearer <your-api-token>'/api/company/list/Create a workspace
Authentication and permission for this operation are required.
JSON request body (example)
{
"title": "Product team"
}Additional fields: description
cURL example
curl --request POST 'https://tasker.fit/api/company/list/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Product team"
}'/api/company/Read a workspace
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}cURL example
curl --request GET 'https://tasker.fit/api/company/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>'/api/company/Update workspace details
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}JSON request body (example)
{
"title": "Product team"
}Additional fields: company_id, description
cURL example
curl --request PATCH 'https://tasker.fit/api/company/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Product team"
}'/api/company/Delete a workspace
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}cURL example
curl --request DELETE 'https://tasker.fit/api/company/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>'/api/company/members/List workspace members
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}Additional fields: page, limit, q
cURL example
curl --request GET 'https://tasker.fit/api/company/members/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>'/api/company/members/Change a workspace member role
Authentication and permission for this operation are required.
JSON request body (example)
{
"company_id": "demo",
"member_id": 12,
"role": "member"
}cURL example
curl --request PATCH 'https://tasker.fit/api/company/members/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"company_id": "demo",
"member_id": 12,
"role": "member"
}'/api/member/search/Find registered members
Authentication and permission for this operation are required.
URL query parameters (example)
{
"q": "alex",
"page": 1,
"limit": 20
}cURL example
curl --request GET 'https://tasker.fit/api/member/search/?q=alex&page=1&limit=20' \
--header 'Authorization: Bearer <your-api-token>'/api/company/invites/List workspace invitations
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}cURL example
curl --request GET 'https://tasker.fit/api/company/invites/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>'/api/company/invites/Invite a registered member
Authentication and permission for this operation are required.
JSON request body (example)
{
"company_id": "demo",
"member_id": 12,
"role": "member"
}cURL example
curl --request POST 'https://tasker.fit/api/company/invites/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"company_id": "demo",
"member_id": 12,
"role": "member"
}'/api/company/invites/Revoke an invitation
Authentication and permission for this operation are required.
URL query parameters (example)
{
"invite_code": "<invite-uuid>"
}cURL example
curl --request DELETE 'https://tasker.fit/api/company/invites/?invite_code=%3Cinvite-uuid%3E' \
--header 'Authorization: Bearer <your-api-token>'/api/member/company-invitations/List your invitations
Authentication and permission for this operation are required.
URL query parameters (example)
{
"page": 1,
"limit": 20
}cURL example
curl --request GET 'https://tasker.fit/api/member/company-invitations/?page=1&limit=20' \
--header 'Authorization: Bearer <your-api-token>'/api/member/company-invitations/Accept an invitation
Authentication and permission for this operation are required.
URL query parameters (example)
{
"invite_code": "<invite-uuid>"
}cURL example
curl --request PATCH 'https://tasker.fit/api/member/company-invitations/?invite_code=%3Cinvite-uuid%3E' \
--header 'Authorization: Bearer <your-api-token>'/api/member/company-invitations/Decline an invitation
Authentication and permission for this operation are required.
URL query parameters (example)
{
"invite_code": "<invite-uuid>"
}cURL example
curl --request DELETE 'https://tasker.fit/api/member/company-invitations/?invite_code=%3Cinvite-uuid%3E' \
--header 'Authorization: Bearer <your-api-token>'Tips & troubleshooting
- Examples show the key request fields, not every optional field or a full response schema. Query fields belong in the URL; JSON body fields belong in the request body. Keep trailing slashes on endpoint paths.
- Role values are owner, admin, project_manager, member, and viewer. An accepted invitation establishes workspace membership; add board membership separately when the project requires it.
Frequently asked questions
Can these examples be used with any account?
Only resources accessible to the token's account can be read or changed. Use returned company, board, task, and numeric resource IDs; the examples' demo values are placeholders.
What should an integration do when a request fails?
Check the HTTP status and returned error payload. Validate identifiers and required fields, then check token activity, expiry, and permissions. Do not blindly repeat a POST: a previous attempt may already have created a resource.