Tino Developers
POST/v1/service/@id/upgrade

Upgrade quote or request

Calculate the upgrade price; send send=true to submit the upgrade request.

Format of the resources parameter:

{
  "resource_id": "qty_value",
  "resource_id": "item_id",
  "resource_id": { "item_id": "qty_value" }
}
  • "qty_value": sliders and quantity fields
  • "item_id": select lists and radio buttons
  • { "item_id": "qty_value" }: select lists with a quantity field
API v1 · Updated 2026-10-21View .md

Call it through the gateway https://api.tino.vn/v1 with a token that has the services:write scope; see Calling the Tino API.

Authentication

Send the token in the header Authorization:

Authorization: Bearer <token>

Tokens that can call it: app tokens (tinoat_, Sign in with Tino) or personal API tokens (tinopat_).

Scopes

services:writeService management

Parameters

Path parameters

NameTypeRequiredDescription
idstringRequiredService ID

Body (JSON)

NameTypeRequiredDescription
resourcesarrayOptionalarray with resource values
packageintegerOptionalNew package id, optonal when upgrading resources
cyclestringOptionalNew billing cycle, optonal when upgrading resources
sendbooleanOptionalSet to true when you want to send your upgrade request

Response

The route's JSON answer, in the same shape as UserAPI returns it (Personal data). Live sample from a test account with personal data masked; long arrays and strings are trimmed (… N more item(s), … N more line(s)).

Error codes

Error codeDescription
401 · invalid_tokenThe token is wrong, expired or revoked.
403 · insufficient_scopeThe token lacks the services:write scope.
403 · ip_not_allowedA personal API token called from an IP outside its allow-list.

Business errors of a route usually come as HTTP 200 with {"error": ["<code>"]}; see common error codes.