Support

A list of all publicly available methods for interacting with the API.

GET

Donation info

/support/donation/{id}

GET /v2/support/donation/{id}

Query method

GEThttps://api.stableproxy.com/v2/support/donation/{id}

Query parameters

IdentifierRegulationsExample
id1required72

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/support/donation/{id}", {
3 method: "GET",
4 headers: {
5 "Content-Type": "application/json"
6 }
7});
8const data = await response.json();
PUT

Donate to support

/support/donation/{id}

PUT /v2/support/donation/{id}

This method requires authorization!
You can use your own API key, which can be obtained at control panel.
This method - requires permissions -support.update
When creating an API token in your control panel, you can choose certain permissions (for example: prevent the token from placing orders).
You can also find a list of permissions in our documentation.

Query method

PUThttps://api.stableproxy.com/v2/support/donation/{id}

Query parameters

IdentifierRegulationsExample
amountrequirednumericilluminate\_validation\_rules\_in0
id1required72

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/support/donation/{id}", {
3 method: "PUT",
4 headers: {
5 "Authorization": "API-Token [YOUR TOKEN]",
6 "Content-Type": "application/json"
7 },
8 body: JSON.stringify({
9 "amount": "0"
10 })
11});
12const data = await response.json();
PUT

Close ticket

/support/tickets/{id}/close

PUT /v2/support/tickets/{id}/close

This method requires authorization!
You can use your own API key, which can be obtained at control panel.
This method - requires permissions -support.update
When creating an API token in your control panel, you can choose certain permissions (for example: prevent the token from placing orders).
You can also find a list of permissions in our documentation.

Query method

PUThttps://api.stableproxy.com/v2/support/tickets/{id}/close

Query parameters

IdentifierRegulationsExample
id1required41

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/support/tickets/{id}/close", {
3 method: "PUT",
4 headers: {
5 "Authorization": "API-Token [YOUR TOKEN]",
6 "Content-Type": "application/json"
7 }
8});
9const data = await response.json();
POST

Create ticket

/support/tickets

Write ticket to support.

This method requires a solved Captcha!
Some methods require captcha, in order to solve them you need to create RecaptchaV3 and insert your secret key into captcha-key, add it to your page - pass them - and get the answer from the captcha and added to the g-recaptcha-response parameter.
Create a captcha in the Google Recaptcha control panel.
Also you can write to our support and we can disable captcha for you in some methods.

Query method

POSThttps://api.stableproxy.com/v2/support/tickets

Query parameters

IdentifierRegulationsExample
messageNot necessarilyrequired_without:files283
filesNot necessarilyarraydistinct3
captcha-keyNot necessarilynullablestring"6Le6gTwUAAA ... secret ...tjbYd6IAYN_"
g-recaptcha-responserequiredapp\_rules\_sp_captcha_rule"03AFcWeA690BhJU7VIxoIpsXXdDx7IVllNVz804lKvWNIBYmF42ALfY18TY4cjjQ0sY_...."
files..*requiredfiledistinct1852

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/support/tickets", {
3 method: "POST",
4 headers: {
5 "Content-Type": "application/json"
6 },
7 body: JSON.stringify({
8 "message": 283,
9 "files": 3,
10 "captcha-key": "\"6Le6gTwUAAA ... secret ...tjbYd6IAYN_\"",
11 "g-recaptcha-response": "\"03AFcWeA690BhJU7VIxoIpsXXdDx7IVllNVz804lKvWNIBYmF42ALfY18TY4cjjQ0sY_....\"",
12 "files..*": 1852
13 })
14});
15const data = await response.json();

Examples of answers

Success response200application/json
{
  "data": {
    "ticket": {
      "uuid": "673314bb55dc1",
      "locale": "uk",
      "user_id": 1,
      "name": "Fudo Tsukiko",
      "updated_at": "2024-11-12T08:41:31.000000Z",
      "created_at": "2024-11-12T08:41:31.000000Z",
      "id": "4ygkv920vq",
      "title": "hello",
      "message": {
        "id": 1240,
        "uuid": "MUaDpsuaMonGto78UmIsr56S",
        "message": "hello",
        "type": "SUPPORT",
        "conversation_id": "4ygkv920vq",
        "user_id": 1,
        "created_at": "2024-11-12T08:41:31.000000Z",
        "updated_at": "2024-11-12T08:41:31.000000Z",
        "role": "user",
        "read_at": null,
        "media": [],
        "user": {
          "name": "Fudo Tsukiko",
          "avatar_url": "https://dev.stableproxy.com/storage/embed/avatar/c4ca/a4fb5a6c485bd21e6915009f2d8fd39ff69b4ee6.jpg",
          "created_at": "2022-01-17T17:10:43.000000Z",
          "role": "Користувач"
        }
      },
      "messages_count": 1,
      "last_message": {
        "id": 1240,
        "uuid": "MUaDpsuaMonGto78UmIsr56S",
        "message": "hello",
        "type": "SUPPORT",
        "conversation_id": "4ygkv920vq",
        "user_id": 1,
        "created_at": "2024-11-12T08:41:31.000000Z",
        "updated_at": "2024-11-12T08:41:31.000000Z",
        "role": "user",
        "read_at": null,
        "media": [],
        "user": {
          "name": "Fudo Tsukiko",
          "avatar_url": "https://dev.stableproxy.com/storage/embed/avatar/c4ca/a4fb5a6c485bd21e6915009f2d8fd39ff69b4ee6.jpg",
          "created_at": "2022-01-17T17:10:43.000000Z",
          "role": "Користувач"
        }
      }
    },
    "message": {
      "uuid": "MUaDpsuaMonGto78UmIsr56S",
      "message": "hello",
      "type": "SUPPORT",
      "role": "user",
      "conversation_id": "4ygkv920vq",
      "user_id": 1,
      "updated_at": "2024-11-12T08:41:31.000000Z",
      "created_at": "2024-11-12T08:41:31.000000Z",
      "id": 1240,
      "media": [],
      "user": {
        "name": "Fudo Tsukiko",
        "avatar_url": "https://dev.stableproxy.com/storage/embed/avatar/c4ca/a4fb5a6c485bd21e6915009f2d8fd39ff69b4ee6.jpg",
        "created_at": "2022-01-17T17:10:43.000000Z",
        "role": "Користувач"
      }
    }
  },
  "good": true,
  "timestamp": 1731400891,
  "cause": {
    "type": "user",
    "user_id": 1,
    "token_id": 302,
    "token_sign": "8491affc7321d0925064c90eeeee53d2"
  }
}
GET

Conversation intro

/support/intro

Opening state for a chat window: greeting, availability, quick starts. GET /v2/support/intro

Query method

GEThttps://api.stableproxy.com/v2/support/intro

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/support/intro", {
3 method: "GET",
4 headers: {
5 "Content-Type": "application/json"
6 }
7});
8const data = await response.json();