Topics

Workspace, membership, and invitation API

Create and update companies, discover workspace members, send invitations, and accept or decline an invitation through the API.

Updated October 3, 20263 min read

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

  1. List workspaces and select a company_id. Create a workspace only if your integration needs a new one.

  2. List its members or search registered accounts to find numeric member IDs.

  3. 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.

Endpoint directory
MethodPathOperation
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
GET/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>'
POST/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"
}'
GET/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>'
PATCH/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"
}'
DELETE/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>'
GET/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>'
PATCH/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"
}'
GET/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>'
GET/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>'
POST/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"
}'
DELETE/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>'
GET/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>'
PATCH/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>'
DELETE/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.

Continue learning