API documentation

Connect your server to Boostsy to list services, place orders and track delivery.

Getting started

Complete your account setup, verify your email and create an API key. Fund your wallet before placing orders. Each key can access only its account’s orders and balance.

ParameterDescription
HTTP methodPOST
API URLhttps://boostsy.net/api/v2
Response formatJSON
Request formatJSON or application/x-www-form-urlencoded
AuthenticationAuthorization: Bearer YOUR_API_KEY, or key in the request body

Example request

curl -X POST 'https://boostsy.net/api/v2' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"action":"services"}'

Use the API key on your server. Do not expose it in browser code. Order and service IDs are strings; preserve them exactly as returned.

Service list

ParameterDescription
actionservices

For pricing_model: retail_endings_usd, calculate the base charge from the rate and quantity, then round upward to the next USD .49 or .99 ending. Below $1, round upward to .09, .19, and so on. Exact endings stay unchanged. Other services use proportional pricing. The order status returns the actual wallet charge.

Returns services currently available to your account. rate is the USD price per 1,000 units. min and max are order quantities. Use the returned service ID when ordering.

Example response

[
  {
    "service": "s0123456789abcdef01234567",
    "name": "Example service",
    "type": "Default",
    "category": "Instagram",
    "rate": "2.5",
    "min": "100",
    "max": "10000",
    "refill": true,
    "cancel": false
  }
]

The catalogue can change. Refresh it before quoting customers. Subscription services are managed in the Boostsy workspace and are not returned by this API.

Add order

ParameterDescription
actionadd
serviceService ID from the service list
linkPublic target URL for delivery
quantityInteger within the service’s min and max; for Custom Comments, the number of nonempty comment lines is used
idempotency_keyUnique reference for this intended order; alternatively send an Idempotency-Key header

For Custom Comments services, supply comments as newline-separated text. For Web Traffic services, supply the additional fields below.

ParameterDescription
commentsRequired for Custom Comments; one comment per line
countryRequired for Web Traffic; country name or code
deviceRequired for Web Traffic; integer 1–5
type_of_trafficRequired for Web Traffic; integer 1–3
google_keywordRequired when type_of_traffic is 1
referring_urlRequired when type_of_traffic is 2

Example request

curl -X POST 'https://boostsy.net/api/v2' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: your-unique-order-reference' \
  -d '{"action":"add","service":"SERVICE_ID","link":"https://example.com/public-target","quantity":100}'

Example response

{"order":"o0123456789abcdef01234567"}

An accepted order is charged to your USD wallet and queued for fulfillment. Reusing the same idempotency key returns the original order ID without charging again. A new key creates a new order, so keep the original key when retrying after a timeout.

Order status

ParameterDescription
actionstatus
orderOne order ID
ordersComma-separated order IDs, up to 100; use instead of order

Single-order response

{
  "charge": "0.25",
  "start_count": "0",
  "status": "Pending",
  "remains": "100",
  "currency": "USD"
}

With orders, the response is an object keyed by each order ID. An unknown or other account’s order returns {"error":"Incorrect order ID"} for that ID. Poll until a terminal status such as Completed, Partial, Canceled or Failed.

Create refill

ParameterDescription
actionrefill
orderOne completed, refill-eligible order ID
ordersComma-separated order IDs, up to 100; use instead of order

Single-order response

{"refill":"0123456789abcdef01234567"}

With orders, the response is an array of {"order":"ORDER_ID","refill":"REFILL_ID"} entries. An ineligible order returns an error in its refill field. A refill can be requested only after completion when the service supports it.

Refill status

ParameterDescription
actionrefill_status
refillOne refill ID
refillsComma-separated refill IDs, up to 100; use instead of refill

Single-refill response

{"status":"Pending"}

With refills, the response is an array of {"refill":"REFILL_ID","status":"Pending"} entries. Unknown IDs return an error in the status field.

Cancel orders

ParameterDescription
actioncancel
ordersComma-separated order IDs, up to 100; include one ID for a single cancellation

Example response

[
  {"order":"ORDER_ID","cancel":1},
  {"order":"OTHER_ORDER_ID","cancel":{"error":"Cancellation is not available for this service"}}
]

cancel: 1 means the request was accepted. A submitted order may remain in Cancellation requested until the supplier confirms the outcome. Check its status for the final result.

Balance

ParameterDescription
actionbalance

Example response

{"balance":"100","currency":"USD"}

The API spends the authenticated account’s wallet. Add funds in the wallet; a pending deposit is not available balance.

Errors and limits

Errors return a JSON object such as {"error":"Insufficient balance. Add funds to continue."} with a non-2xx HTTP status. Check both the status code and the error field. Authentication failures return 401, insufficient wallet funds return 402, and rate limiting returns 429.

The limit is 120 requests per minute per account. Batch status, refill and cancellation requests accept up to 100 IDs. If an order submission times out, retry only with the same idempotency key; if the outcome remains unclear, check order history or contact support before creating another order.