Topics

Subscription, checkout, and support API

Read tariff plans and usage, create payment checkouts, review transactions, cancel subscriptions, and submit support tickets.

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

Tariff plans are public read-only data; account subscription, checkout, transactions, and cancellation require authentication. Use the API's returned plan code and billing information rather than hardcoding prices. Creating a checkout returns a checkout_url and order_reference. Opening checkout is not proof that payment was approved: use current subscription and transaction information to confirm account state.

Cancellation takes the checkout's order_reference, while disabling the member subscription uses an authenticated POST without a JSON body. These operations have financial effects and should follow an explicit user decision. Support tickets describe questions or problems with Tasker itself; a project defect belongs in a board Bug task or QA report instead.

Example

Read tariff plans and usage, create payment checkouts, review transactions, cancel subscriptions, and submit support tickets.

Step-by-step tutorials / 1

Integration workflow

  1. Read tariff plans and current subscription to show accurate plan choices and account usage.

  2. After the user chooses a plan, create checkout with plan_code and direct them to its returned checkout_url.

  3. Keep order_reference for payment lookup. Read current subscription or transactions to confirm the result; submit support tickets with concrete product context.

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/subscription/tariff-plans/Read available tariff plans
GET/subscription/current/Read current plan and usage
GET/subscription/transactions/List payment transactions
POST/subscription/checkout/Create a plan checkout
POST/subscription/cancel/Cancel a subscription payment
POST/subscription/disable/Disable the member subscription
GET/ticket/List your support tickets
POST/ticket/Submit a support request
GET/api/subscription/tariff-plans/

Read available tariff plans

No Bearer header; satisfy the request-body requirements.

cURL example

curl --request GET 'https://tasker.fit/api/subscription/tariff-plans/'
GET/api/subscription/current/

Read current plan and usage

Authentication and permission for this operation are required.

cURL example

curl --request GET 'https://tasker.fit/api/subscription/current/' \
  --header 'Authorization: Bearer <your-api-token>'
GET/api/subscription/transactions/

List payment transactions

Authentication and permission for this operation are required.

URL query parameters (example)

{
  "page": 1,
  "limit": 20
}

Additional fields: order_reference, q

cURL example

curl --request GET 'https://tasker.fit/api/subscription/transactions/?page=1&limit=20' \
  --header 'Authorization: Bearer <your-api-token>'
POST/api/subscription/checkout/

Create a plan checkout

Authentication and permission for this operation are required.

JSON request body (example)

{
  "plan_code": "<plan-code>"
}

cURL example

curl --request POST 'https://tasker.fit/api/subscription/checkout/' \
  --header 'Authorization: Bearer <your-api-token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "plan_code": "<plan-code>"
}'
POST/api/subscription/cancel/

Cancel a subscription payment

Authentication and permission for this operation are required.

JSON request body (example)

{
  "order_reference": "<order-reference>"
}

cURL example

curl --request POST 'https://tasker.fit/api/subscription/cancel/' \
  --header 'Authorization: Bearer <your-api-token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "order_reference": "<order-reference>"
}'
POST/api/subscription/disable/

Disable the member subscription

Authentication and permission for this operation are required.

cURL example

curl --request POST 'https://tasker.fit/api/subscription/disable/' \
  --header 'Authorization: Bearer <your-api-token>'
GET/api/ticket/

List your support tickets

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/ticket/?page=1&limit=20' \
  --header 'Authorization: Bearer <your-api-token>'
POST/api/ticket/

Submit a support request

Authentication and permission for this operation are required.

JSON request body (example)

{
  "type": "question",
  "message": "How can our team set up QA sessions?"
}

cURL example

curl --request POST 'https://tasker.fit/api/ticket/' \
  --header 'Authorization: Bearer <your-api-token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "question",
  "message": "How can our team set up QA sessions?"
}'

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.
  • Ticket types are question, bug, and advice. Payment-provider webhook routes are not general-purpose client APIs and are not included in these examples.

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