Introduction
SokyRecargas API
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by contacting Admins or use testing token 2|fv4mvKeQztbuboJwcsrUSRWnOwLmrzbpyzAnOE6g844d6d1e
Recargas
Ofertas
Filtrar Ofertas
Obtener las ofertas disponibles paginadas
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/recharges/offers?search=51457852&types[]=sim&types[]=recharge&types[]=nauta" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"operator_code\": \"modi\",
\"search\": \"vero\",
\"available\": false,
\"category\": 9,
\"category_id\": 16,
\"start_date\": \"2025-12-18T14:41:59\",
\"end_date\": \"2025-12-18T14:41:59\",
\"is_stackable\": true,
\"types\": [
\"nauta\"
]
}"
const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/offers"
);
const params = {
"search": "51457852",
"types[0]": "sim",
"types[1]": "recharge",
"types[2]": "nauta",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"operator_code": "modi",
"search": "vero",
"available": false,
"category": 9,
"category_id": 16,
"start_date": "2025-12-18T14:41:59",
"end_date": "2025-12-18T14:41:59",
"is_stackable": true,
"types": [
"nauta"
]
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/offers';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'search' => '51457852',
'types[0]' => 'sim',
'types[1]' => 'recharge',
'types[2]' => 'nauta',
],
'json' => [
'operator_code' => 'modi',
'search' => 'vero',
'available' => false,
'category' => 9,
'category_id' => 16,
'start_date' => '2025-12-18T14:41:59',
'end_date' => '2025-12-18T14:41:59',
'is_stackable' => true,
'types' => [
'nauta',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 2533,
"available": true,
"image": "https://via.placeholder.com/640x480.png/006688?text=iusto",
"image_promo": "https://via.placeholder.com/640x480.png/00aa66?text=velit",
"name": "Ms. Jessica Rau",
"description": "Amet iusto quia et nostrum incidunt officiis. Molestiae laborum aliquam magni vitae voluptatum quaerat. Ex facilis voluptas sed corrupti. Non beatae quo sit accusantium eum et voluptatibus.",
"prices": [
{
"id": "4374ade8-e1f9-4847-b562-183882d828a6",
"label": "Recarga 254",
"public": 29,
"subscription_interval": null,
"value": 29
},
{
"id": "0bc6b8ec-e010-4f5c-adf5-c7be1af87ae8",
"label": "Recarga 391",
"public": 32,
"subscription_interval": "m:1",
"value": 32
}
],
"category": {
"id": 2478,
"name": "SIM"
},
"start_date": "2026-01-08",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "sim_tour",
"currency": {
"id": 2759,
"name": "XPF",
"code": "AED"
},
"metadata": null
},
{
"id": 2534,
"available": false,
"image": "https://via.placeholder.com/640x480.png/00aa00?text=maiores",
"image_promo": "https://via.placeholder.com/640x480.png/004455?text=quaerat",
"name": "Mrs. Citlalli Herzog DVM",
"description": "Et itaque aut voluptatum ut saepe quisquam. Debitis ullam et expedita consequatur enim voluptas. Asperiores aut corporis sunt suscipit quos. Et labore aut itaque voluptates et laudantium voluptatem.",
"prices": [
{
"id": "b3782a9e-3f4d-434b-a1f1-4bb8656b7c31",
"label": "Recarga 278",
"public": 22,
"subscription_interval": null,
"value": 22
},
{
"id": "c058f97c-fb2b-40d2-9027-5e16c701b75b",
"label": "Recarga 705",
"public": 27,
"subscription_interval": "d:15",
"value": 27
}
],
"category": {
"id": 2479,
"name": "SIM"
},
"start_date": "2025-11-06",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2760,
"name": "PLN",
"code": "CVE"
},
"metadata": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Recargar una Oferta
requires authentication
Hace una recarga asociada a una oferta y tomando el ID del precio que se desea recargar
Example request:
curl --request POST \
"https://stg-api.sokyrecargas.com/api/v1/recharges/offers/25/recharge" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"price_id\": \"dfcceeda-82d1-4ede-ac36-689f2c97badf\",
\"recipient_name\": \"John Doe\",
\"recipient\": \"5515151\",
\"email\": \"[email protected]\",
\"comments\": \"assumenda\",
\"subscribe\": true,
\"repeat\": 1
}"
const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/offers/25/recharge"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"price_id": "dfcceeda-82d1-4ede-ac36-689f2c97badf",
"recipient_name": "John Doe",
"recipient": "5515151",
"email": "[email protected]",
"comments": "assumenda",
"subscribe": true,
"repeat": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/offers/25/recharge';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'price_id' => 'dfcceeda-82d1-4ede-ac36-689f2c97badf',
'recipient_name' => 'John Doe',
'recipient' => '5515151',
'email' => '[email protected]',
'comments' => 'assumenda',
'subscribe' => true,
'repeat' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 14561,
"recipient_name": "Calista Hills",
"recipient": "+1-702-753-7345",
"email": null,
"amount": "99.39",
"is_paid": false,
"status": "pending",
"price_label": "Jaleel Crona",
"operator": {
"id": 5205,
"code": "5703",
"name": "Jaleel Crona",
"available": true,
"image": "https://via.placeholder.com/640x480.png/0066ff?text=culpa"
},
"offer": {
"id": 2535,
"available": false,
"image": "https://via.placeholder.com/640x480.png/005555?text=voluptatibus",
"image_promo": "https://via.placeholder.com/640x480.png/00cc22?text=omnis",
"name": "Mr. Esteban Swift",
"description": "Reiciendis doloremque totam nihil molestiae quibusdam quia. Et voluptas autem nulla eum. Distinctio ratione veniam a dolores perferendis eos.",
"prices": [
{
"id": "5d60d21e-bde2-4252-92cd-6be8ad3b08ad",
"label": "Recarga 695",
"public": 12,
"subscription_interval": "d:15",
"value": 12
},
{
"id": "8616b4d4-69eb-4746-acad-d63e7d9a7b36",
"label": "Recarga 366",
"public": 10,
"subscription_interval": null,
"value": 10
}
],
"category": {
"id": 2480,
"name": "Recargas"
},
"start_date": "2026-02-18",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "sim_tour",
"currency": {
"id": 2761,
"name": "LKR",
"code": "KZT"
},
"metadata": null
},
"user": {
"id": 7910,
"name": "Gabriel Sipes",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "817.829.1728",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "946.00"
},
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"is_stacked": true,
"stacked_at": "2025-12-18T19:41:59.000000Z",
"retries": 7,
"repeat": 4,
"completed_at": "2025-12-18T19:41:59.000000Z",
"comments": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Recargar una Oferta
requires authentication
Hace una recarga asociada a una oferta y tomando el ID del precio que se desea recargar
Example request:
curl --request POST \
"https://stg-api.sokyrecargas.com/api/v1/recharges/offers/25/recharge-stacked" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"price_id\": \"dfcceeda-82d1-4ede-ac36-689f2c97badf\",
\"recipient_name\": \"John Doe\",
\"recipient\": \"5515151\",
\"email\": \"[email protected]\",
\"comments\": \"sit\",
\"subscribe\": true,
\"repeat\": 1
}"
const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/offers/25/recharge-stacked"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"price_id": "dfcceeda-82d1-4ede-ac36-689f2c97badf",
"recipient_name": "John Doe",
"recipient": "5515151",
"email": "[email protected]",
"comments": "sit",
"subscribe": true,
"repeat": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/offers/25/recharge-stacked';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'price_id' => 'dfcceeda-82d1-4ede-ac36-689f2c97badf',
'recipient_name' => 'John Doe',
'recipient' => '5515151',
'email' => '[email protected]',
'comments' => 'sit',
'subscribe' => true,
'repeat' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 14562,
"recipient_name": "Dr. Solon Flatley I",
"recipient": "+1.913.418.9930",
"email": null,
"amount": "76.86",
"is_paid": false,
"status": "canceled",
"price_label": "Cameron Hauck",
"operator": {
"id": 5207,
"code": "1609",
"name": "Cameron Hauck",
"available": true,
"image": "https://via.placeholder.com/640x480.png/00aa22?text=similique"
},
"offer": {
"id": 2536,
"available": false,
"image": "https://via.placeholder.com/640x480.png/00ee44?text=est",
"image_promo": "https://via.placeholder.com/640x480.png/000088?text=facere",
"name": "Karolann Kreiger",
"description": "Quod rem amet suscipit. Distinctio consequuntur alias dolorem ab labore sint rerum. Minus ut est iusto ipsum.",
"prices": [
{
"id": "b2f5ea5a-ae02-46fb-9bf4-2855342ae152",
"label": "Recarga 524",
"public": 18,
"subscription_interval": "d:15",
"value": 18
},
{
"id": "d48c237d-02e5-44d7-a42e-6c4e4fad3582",
"label": "Recarga 329",
"public": 20,
"subscription_interval": null,
"value": 20
}
],
"category": {
"id": 2481,
"name": "Recargas"
},
"start_date": "2026-02-21",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "sim",
"currency": {
"id": 2762,
"name": "KHR",
"code": "IDR"
},
"metadata": null
},
"user": {
"id": 7911,
"name": "Emmalee Wiegand",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "520.285.7000",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "581.00"
},
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"is_stacked": true,
"stacked_at": "2025-12-18T19:41:59.000000Z",
"retries": 7,
"repeat": 2,
"completed_at": "2025-12-18T19:41:59.000000Z",
"comments": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscriptions
Subscriptions del Usuario
requires authentication
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 62,
"offer_name": "Titus Walter ",
"recipient": "301.928.2559",
"recipient_name": "Jason Pouros",
"recipient_email": "[email protected]",
"amount": "30.00",
"status": "disabled",
"interval": "d:15",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z"
},
{
"id": 63,
"offer_name": "Dr. Rafaela Schmidt ",
"recipient": "+1 (320) 768-7862",
"recipient_name": "Mario Stokes",
"recipient_email": "[email protected]",
"amount": "37.93",
"status": "enabled",
"interval": "d:15",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscribe to Offer
requires authentication
Example request:
curl --request POST \
"https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"price_id\": \"nostrum\",
\"recipient_name\": \"qirxptbmaeibgpmlpdjjwo\",
\"recipient\": \"laboriosam\",
\"email\": \"[email protected]\",
\"comments\": \"corporis\"
}"
const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"price_id": "nostrum",
"recipient_name": "qirxptbmaeibgpmlpdjjwo",
"recipient": "laboriosam",
"email": "[email protected]",
"comments": "corporis"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'price_id' => 'nostrum',
'recipient_name' => 'qirxptbmaeibgpmlpdjjwo',
'recipient' => 'laboriosam',
'email' => '[email protected]',
'comments' => 'corporis',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 64,
"offer_name": "Sasha Graham ",
"recipient": "(949) 226-2708",
"recipient_name": "Nakia Spencer",
"recipient_email": "[email protected]",
"amount": "71.52",
"status": "disabled",
"interval": "d:15",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"offer": {
"id": 2539,
"available": false,
"image": "https://via.placeholder.com/640x480.png/00ccdd?text=id",
"image_promo": "https://via.placeholder.com/640x480.png/0066ee?text=quidem",
"name": "Sasha Graham",
"description": "Accusantium labore sunt est sed totam. Sed molestias soluta error. Iusto quae ullam voluptatem. Blanditiis rerum magnam accusamus.",
"prices": [
{
"id": "ddf1f0eb-d50b-48ae-b989-3e381f3a5ecf",
"label": "Recarga 347",
"public": 23,
"subscription_interval": null,
"value": 23
},
{
"id": "608aaea3-7716-4bd1-be96-0894c7972de0",
"label": "Recarga 537",
"public": 25,
"subscription_interval": "d:15",
"value": 25
}
],
"category": {
"id": 2484,
"name": "SIM"
},
"start_date": "2026-03-13",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "sim",
"currency": {
"id": 2765,
"name": "LRD",
"code": "PAB"
},
"metadata": null
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Subscription
requires authentication
Example request:
curl --request PATCH \
"https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions/37" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"disabled\",
\"recipient\": \"veritatis\",
\"recipient_name\": \"sit\",
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions/37"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "disabled",
"recipient": "veritatis",
"recipient_name": "sit",
"email": "[email protected]"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/subscriptions/37';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'status' => 'disabled',
'recipient' => 'veritatis',
'recipient_name' => 'sit',
'email' => '[email protected]',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 65,
"offer_name": "Destinee Lebsack III ",
"recipient": "412-743-1728",
"recipient_name": "Garret Brown",
"recipient_email": "[email protected]",
"amount": "80.57",
"status": "enabled",
"interval": "d:30",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List My Recargas
requires authentication
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/recharges/mine?user_id=cum&operator_code=cum&recipient=architecto&status=quia" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": 11,
\"operator_code\": \"ea\",
\"operator_id\": 7,
\"recipient_name\": \"ea\",
\"recipient\": \"animi\",
\"status\": \"canceled\",
\"is_stacked\": true
}"
const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/mine"
);
const params = {
"user_id": "cum",
"operator_code": "cum",
"recipient": "architecto",
"status": "quia",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": 11,
"operator_code": "ea",
"operator_id": 7,
"recipient_name": "ea",
"recipient": "animi",
"status": "canceled",
"is_stacked": true
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/mine';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'user_id' => 'cum',
'operator_code' => 'cum',
'recipient' => 'architecto',
'status' => 'quia',
],
'json' => [
'user_id' => 11,
'operator_code' => 'ea',
'operator_id' => 7,
'recipient_name' => 'ea',
'recipient' => 'animi',
'status' => 'canceled',
'is_stacked' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 14563,
"recipient_name": "Dr. Ruthie Roob",
"recipient": "+12015959672",
"email": null,
"amount": "31.10",
"is_paid": false,
"status": "canceled",
"price_label": "Geovanny Erdman",
"operator": {
"id": 5213,
"code": "1147",
"name": "Geovanny Erdman",
"available": true,
"image": "https://via.placeholder.com/640x480.png/00ee66?text=ipsam"
},
"offer": {
"id": 2541,
"available": true,
"image": "https://via.placeholder.com/640x480.png/0000ff?text=quo",
"image_promo": "https://via.placeholder.com/640x480.png/002266?text=voluptatum",
"name": "Vern Halvorson",
"description": "Voluptas est enim veniam voluptatem ipsa fugit est soluta. Quam ipsum fugiat sunt deserunt. Ut voluptas impedit eligendi optio omnis odio. Nihil laborum ab nihil ad.",
"prices": [
{
"id": "2ee3b161-3426-40dd-b6eb-6f1affb2b422",
"label": "Recarga 699",
"public": 11,
"subscription_interval": "d:15",
"value": 11
},
{
"id": "db8a02be-6a8b-4ca6-8d01-aca4a5d0e860",
"label": "Recarga 053",
"public": 34,
"subscription_interval": null,
"value": 34
}
],
"category": {
"id": 2486,
"name": "Recargas"
},
"start_date": "2026-02-23",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "modem",
"currency": {
"id": 2767,
"name": "ALL",
"code": "XPF"
},
"metadata": null
},
"user": {
"id": 7916,
"name": "Dr. Jayson Casper",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "585-518-3444",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "752.00"
},
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"is_stacked": true,
"stacked_at": "2025-12-18T19:41:59.000000Z",
"retries": 1,
"repeat": 4,
"completed_at": "2025-12-18T19:41:59.000000Z",
"comments": null
},
{
"id": 14564,
"recipient_name": "Giovani Dickinson",
"recipient": "+1-240-637-2233",
"email": null,
"amount": "34.37",
"is_paid": false,
"status": "pending",
"price_label": "Miss Elaina Ledner III",
"operator": {
"id": 5215,
"code": "6309",
"name": "Miss Elaina Ledner III",
"available": false,
"image": "https://via.placeholder.com/640x480.png/001144?text=asperiores"
},
"offer": {
"id": 2542,
"available": false,
"image": "https://via.placeholder.com/640x480.png/0066aa?text=ut",
"image_promo": "https://via.placeholder.com/640x480.png/0088cc?text=porro",
"name": "Mr. Kade Mills Jr.",
"description": "Numquam itaque molestiae facere saepe quae quod. Reprehenderit iure placeat et omnis in. Nulla expedita quod quia quia.",
"prices": [
{
"id": "a1c04ec7-dc6e-4db7-a8c0-9811177ca8f4",
"label": "Recarga 709",
"public": 21,
"subscription_interval": null,
"value": 21
},
{
"id": "b3245aad-10ca-4a4c-b473-c5057c14af2a",
"label": "Recarga 386",
"public": 17,
"subscription_interval": "d:15",
"value": 17
}
],
"category": {
"id": 2487,
"name": "Recargas"
},
"start_date": "2025-12-26",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2768,
"name": "KZT",
"code": "SZL"
},
"metadata": null
},
"user": {
"id": 7917,
"name": "Cayla Baumbach",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "480-597-7608",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "288.00"
},
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"is_stacked": false,
"stacked_at": "2025-12-18T19:41:59.000000Z",
"retries": 4,
"repeat": 1,
"completed_at": "2025-12-18T19:41:59.000000Z",
"comments": null
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": 15,
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Recarga Details
requires authentication
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/recharges/20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/20"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/20';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 14565,
"recipient_name": "Jamil Feest",
"recipient": "224-603-2885",
"email": null,
"amount": "59.22",
"is_paid": false,
"status": "canceled",
"price_label": "Mrs. Rosalinda Halvorson I",
"operator": {
"id": 5217,
"code": "8284",
"name": "Mrs. Rosalinda Halvorson I",
"available": false,
"image": "https://via.placeholder.com/640x480.png/0011ee?text=quia"
},
"offer": {
"id": 2543,
"available": false,
"image": "https://via.placeholder.com/640x480.png/000088?text=eos",
"image_promo": "https://via.placeholder.com/640x480.png/00aaff?text=quam",
"name": "Osvaldo Price",
"description": "Totam beatae repudiandae delectus hic qui ut ea et. Dolorum qui sed ea iste eum amet maiores. Possimus et minima qui corporis dolore et et. Neque ut saepe magni inventore nihil aperiam non.",
"prices": [
{
"id": "d4aa7d94-638f-42d5-840c-12607e423502",
"label": "Recarga 541",
"public": 18,
"subscription_interval": "m:1",
"value": 18
},
{
"id": "beb30820-40fb-48a6-aeba-a48bd740992a",
"label": "Recarga 864",
"public": 14,
"subscription_interval": "d:15",
"value": 14
}
],
"category": {
"id": 2488,
"name": "Recargas"
},
"start_date": "2026-02-14",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "recharge",
"currency": {
"id": 2769,
"name": "MVR",
"code": "MUR"
},
"metadata": null
},
"user": {
"id": 7918,
"name": "Doris Gleichner Jr.",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:42:00.000000Z",
"phone": "+1-352-928-5267",
"phone_verified_at": "2025-12-18T19:42:00.000000Z",
"role": "user",
"coins": "236.00"
},
"created_at": "2025-12-18T19:42:00.000000Z",
"updated_at": "2025-12-18T19:42:00.000000Z",
"is_stacked": true,
"stacked_at": "2025-12-18T19:42:00.000000Z",
"retries": 10,
"repeat": 2,
"completed_at": "2025-12-18T19:42:00.000000Z",
"comments": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancelar una Recarga
requires authentication
Example request:
curl --request POST \
"https://stg-api.sokyrecargas.com/api/v1/recharges/9310/cancel" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/recharges/9310/cancel"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/recharges/9310/cancel';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 14566,
"recipient_name": "Vita Dickens",
"recipient": "(973) 752-9005",
"email": null,
"amount": "74.08",
"is_paid": false,
"status": "completed",
"price_label": "Mathilde Morissette",
"operator": {
"id": 5219,
"code": "5916",
"name": "Mathilde Morissette",
"available": false,
"image": "https://via.placeholder.com/640x480.png/0022cc?text=eos"
},
"offer": {
"id": 2544,
"available": false,
"image": "https://via.placeholder.com/640x480.png/00ccbb?text=perferendis",
"image_promo": "https://via.placeholder.com/640x480.png/00eebb?text=aut",
"name": "Stephen Cartwright",
"description": "Nemo voluptatibus autem velit ut sed. Est molestiae iste cumque nesciunt. Expedita accusamus ratione consequatur id minus quo quod. Vitae odio sapiente voluptate itaque iusto aut laborum sint.",
"prices": [
{
"id": "a11735d4-14c5-4b99-9ee4-45045a5fdd46",
"label": "Recarga 468",
"public": 23,
"subscription_interval": "m:1",
"value": 23
},
{
"id": "5a0d7e93-32f4-441e-a25d-8531463a6211",
"label": "Recarga 295",
"public": 34,
"subscription_interval": "d:15",
"value": 34
}
],
"category": {
"id": 2489,
"name": "Recargas"
},
"start_date": "2025-12-28",
"end_date": "2026-03-18",
"is_stackable": false,
"is_preorder": false,
"type": "sim_tour",
"currency": {
"id": 2770,
"name": "BND",
"code": "MWK"
},
"metadata": null
},
"user": {
"id": 7919,
"name": "Lisette Bode",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:42:00.000000Z",
"phone": "(713) 440-0635",
"phone_verified_at": "2025-12-18T19:42:00.000000Z",
"role": "user",
"coins": "447.00"
},
"created_at": "2025-12-18T19:42:00.000000Z",
"updated_at": "2025-12-18T19:42:00.000000Z",
"is_stacked": false,
"stacked_at": "2025-12-18T19:42:00.000000Z",
"retries": 7,
"repeat": 1,
"completed_at": "2025-12-18T19:42:00.000000Z",
"comments": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
SimCard
SimCard
Obtener los países
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/countries" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/countries"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/countries';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"name": null,
"code": null,
"flag": null
},
{
"name": null,
"code": null,
"flag": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Obtener los puntos de venta
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/physical-offices" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/physical-offices"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/physical-offices';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 1,
"name": "CENTRO MULTISERVICIOS MARTI",
"address": "Calle Martí No.33 e/ Gerardo de Medina e Isabel Rubio Pinar del Río",
"city": null,
"province": "Pinar del Río",
"phone": null,
"email": null,
"schedule": null
},
{
"id": 1,
"name": "CENTRO MULTISERVICIOS MARTI",
"address": "Calle Martí No.33 e/ Gerardo de Medina e Isabel Rubio Pinar del Río",
"city": null,
"province": "Pinar del Río",
"phone": null,
"email": null,
"schedule": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Users
Authentication
Get Current user
requires authentication
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/users/auth/current" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/users/auth/current"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/users/auth/current';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 7920,
"name": "Treva Aufderhar",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:42:00.000000Z",
"phone": "(848) 768-4968",
"phone_verified_at": "2025-12-18T19:42:00.000000Z",
"role": "user",
"coins": "898.00"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Wallets
Currencies
Get Available Currencies
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/coins/currencies" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/coins/currencies"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/coins/currencies';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 2758,
"name": "ETB",
"code": "XOF"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Transactions
List My Transactions
requires authentication
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/coins/transactions/mine" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from_user_id\": 10,
\"to_user_id\": 8,
\"type\": \"refund\",
\"types\": [
\"transfer\"
],
\"status\": \"ut\"
}"
const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/coins/transactions/mine"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from_user_id": 10,
"to_user_id": 8,
"type": "refund",
"types": [
"transfer"
],
"status": "ut"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/coins/transactions/mine';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'from_user_id' => 10,
'to_user_id' => 8,
'type' => 'refund',
'types' => [
'transfer',
],
'status' => 'ut',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 22912,
"amount": "37.28",
"status": "success",
"type": "transfer",
"fromUser": {
"id": 7904,
"name": "Boyd Flatley",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "1-978-968-0688",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "912.00"
},
"toUser": {
"id": 7905,
"name": "Vickie Herman",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "458.640.6047",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "497.00"
},
"comments": "Gryphon, and all would change to tinkling sheep-bells, and the poor child, 'for I never knew so much about a foot high: then she had this fit) An obstacle that came between Him, and ourselves, and.",
"payment": null,
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"metadata": null
},
{
"id": 22913,
"amount": "41.45",
"status": "pending",
"type": "refund",
"fromUser": {
"id": 7906,
"name": "Tevin Kessler",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "812-893-0896",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "344.00"
},
"toUser": {
"id": 7907,
"name": "Frieda Lynch",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "234.996.3411",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "166.00"
},
"comments": "Serpent!' 'But I'm not looking for them, but they were gardeners, or soldiers, or courtiers, or three of the March Hare moved into the sky. Alice went on at last, and they repeated their arguments.",
"payment": null,
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"metadata": null
}
],
"links": {
"first": "/?page=1",
"last": null,
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"path": "/",
"per_page": 15,
"to": 2
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Transaction Details
requires authentication
- Requires Admin permissions
Example request:
curl --request GET \
--get "https://stg-api.sokyrecargas.com/api/v1/coins/transactions/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://stg-api.sokyrecargas.com/api/v1/coins/transactions/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://stg-api.sokyrecargas.com/api/v1/coins/transactions/1';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 22914,
"amount": "57.55",
"status": "success",
"type": "consume",
"fromUser": {
"id": 7908,
"name": "Kory Schowalter MD",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "210.913.7466",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "183.00"
},
"toUser": {
"id": 7909,
"name": "Mrs. Daphnee Medhurst",
"email": "[email protected]",
"email_verified_at": "2025-12-18T19:41:59.000000Z",
"phone": "1-479-824-1782",
"phone_verified_at": "2025-12-18T19:41:59.000000Z",
"role": "user",
"coins": "804.00"
},
"comments": "However, this bottle does. I do wonder what they said. The executioner's argument was, that anything that looked like the tone of the ground.' So she tucked it away under her arm, with its wings.",
"payment": null,
"created_at": "2025-12-18T19:41:59.000000Z",
"updated_at": "2025-12-18T19:41:59.000000Z",
"metadata": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.