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
Recargas
Ofertas
Filtrar Ofertas
Obtener las ofertas disponibles paginadas
Example request:
curl --request GET \
--get "https://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\": \"nisi\",
\"search\": \"et\",
\"available\": false,
\"category\": 9,
\"category_id\": 11,
\"start_date\": \"2026-01-08T16:58:38\",
\"end_date\": \"2026-01-08T16:58:38\",
\"is_stackable\": false,
\"types\": [
\"sim_tour\"
]
}"
const url = new URL(
"https://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": "nisi",
"search": "et",
"available": false,
"category": 9,
"category_id": 11,
"start_date": "2026-01-08T16:58:38",
"end_date": "2026-01-08T16:58:38",
"is_stackable": false,
"types": [
"sim_tour"
]
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://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' => 'nisi',
'search' => 'et',
'available' => false,
'category' => 9,
'category_id' => 11,
'start_date' => '2026-01-08T16:58:38',
'end_date' => '2026-01-08T16:58:38',
'is_stackable' => false,
'types' => [
'sim_tour',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 2563,
"available": false,
"image": "https://via.placeholder.com/640x480.png/00aacc?text=quasi",
"image_promo": "https://via.placeholder.com/640x480.png/0011cc?text=distinctio",
"name": "Monty Sipes",
"description": "Nihil optio optio occaecati architecto quaerat. Sunt soluta fugit veniam facilis. Occaecati est tenetur incidunt similique corrupti. Harum corrupti in quae necessitatibus.",
"prices": [
{
"id": "f2d39009-c2ba-4b12-b3d6-3b1fc92aa622",
"label": "Recarga 104",
"public": 11,
"subscription_interval": "m:1",
"value": 11
},
{
"id": "227b561e-9f94-467a-a880-bf9c304fca38",
"label": "Recarga 315",
"public": 11,
"subscription_interval": "d:15",
"value": 11
}
],
"category": {
"id": 2502,
"name": "Recargas"
},
"start_date": "2025-11-21T18:17:48.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "modem",
"currency": {
"id": 2785,
"name": "PKR",
"code": "BRL"
},
"metadata": null
},
{
"id": 2564,
"available": true,
"image": "https://via.placeholder.com/640x480.png/00dd88?text=consequuntur",
"image_promo": "https://via.placeholder.com/640x480.png/00dd11?text=incidunt",
"name": "Lon Larson",
"description": "Quo autem dolor minus molestiae. Nobis architecto reiciendis sint ex numquam nesciunt. Non eum odio perspiciatis nulla quod. Et quia ea ratione ipsam soluta sint ut.",
"prices": [
{
"id": "5635ef32-f4a9-4489-b6de-4b3e069d4582",
"label": "Recarga 479",
"public": 34,
"subscription_interval": "m:1",
"value": 34
},
{
"id": "9d374bcf-5499-416e-8f95-ed7b3a0c7765",
"label": "Recarga 518",
"public": 28,
"subscription_interval": "m:1",
"value": 28
}
],
"category": {
"id": 2503,
"name": "SIM"
},
"start_date": "2025-11-18T10:50:13.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2786,
"name": "LYD",
"code": "AFN"
},
"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://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\": \"ea\",
\"subscribe\": true,
\"repeat\": 1
}"
const url = new URL(
"https://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": "ea",
"subscribe": true,
"repeat": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://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' => 'ea',
'subscribe' => true,
'repeat' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 16572,
"recipient_name": "Joey Haley V",
"recipient": "1-423-976-9403",
"email": null,
"amount": "96.29",
"is_paid": false,
"status": "canceled",
"price_label": "Mr. Ottis Beier",
"operator": {
"id": 5256,
"code": "0701",
"name": "Mr. Ottis Beier",
"available": true,
"image": "https://via.placeholder.com/640x480.png/0011ff?text=cum"
},
"offer": {
"id": 2565,
"available": true,
"image": "https://via.placeholder.com/640x480.png/002244?text=qui",
"image_promo": "https://via.placeholder.com/640x480.png/006666?text=quia",
"name": "Constance Lindgren",
"description": "Vel quo quo dicta. Dolor consectetur quas iure. Ab doloremque ratione sunt excepturi.",
"prices": [
{
"id": "b059feb0-800d-4db0-a616-0c26532ff5ba",
"label": "Recarga 458",
"public": 13,
"subscription_interval": "m:1",
"value": 13
},
{
"id": "184137e0-1e89-423e-a211-b1da0194059e",
"label": "Recarga 222",
"public": 36,
"subscription_interval": "m:1",
"value": 36
}
],
"category": {
"id": 2504,
"name": "SIM"
},
"start_date": "2026-04-05T23:25:26.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2787,
"name": "BGN",
"code": "CHF"
},
"metadata": null
},
"user": {
"id": 8220,
"name": "Waino Waelchi",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "(817) 680-4272",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "579.00"
},
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"is_stacked": true,
"stacked_at": "2026-01-08T21:58:38.000000Z",
"retries": 10,
"repeat": 2,
"completed_at": "2026-01-08T21:58:38.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://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\": \"labore\",
\"subscribe\": true,
\"repeat\": 1
}"
const url = new URL(
"https://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": "labore",
"subscribe": true,
"repeat": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://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' => 'labore',
'subscribe' => true,
'repeat' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 16573,
"recipient_name": "Lilliana Baumbach",
"recipient": "1-754-357-7461",
"email": null,
"amount": "57.58",
"is_paid": false,
"status": "canceled",
"price_label": "Reynold Klein",
"operator": {
"id": 5258,
"code": "4940",
"name": "Reynold Klein",
"available": true,
"image": "https://via.placeholder.com/640x480.png/001100?text=amet"
},
"offer": {
"id": 2566,
"available": true,
"image": "https://via.placeholder.com/640x480.png/00ee11?text=non",
"image_promo": "https://via.placeholder.com/640x480.png/00eeff?text=voluptas",
"name": "Filomena Wunsch",
"description": "In id minus laboriosam cum hic dolore animi. Atque rerum ullam commodi impedit aut dolorem soluta. Quisquam sint quae earum voluptatem consequatur labore.",
"prices": [
{
"id": "0548ea2b-04b0-40af-b4b1-cfdbcaf7b59d",
"label": "Recarga 731",
"public": 38,
"subscription_interval": null,
"value": 38
},
{
"id": "f169c44f-fd60-4976-8198-34015e8a6f0d",
"label": "Recarga 935",
"public": 35,
"subscription_interval": "d:15",
"value": 35
}
],
"category": {
"id": 2505,
"name": "SIM"
},
"start_date": "2026-02-28T05:22:24.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "modem",
"currency": {
"id": 2788,
"name": "KMF",
"code": "MZN"
},
"metadata": null
},
"user": {
"id": 8221,
"name": "Zackary Cartwright",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "754.815.2629",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "40.00"
},
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"is_stacked": true,
"stacked_at": "2026-01-08T21:58:38.000000Z",
"retries": 8,
"repeat": 4,
"completed_at": "2026-01-08T21:58:38.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://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://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://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": 51,
"offer_name": "Merritt Murray ",
"recipient": "+1.680.604.4628",
"recipient_name": "Ruby Veum",
"recipient_email": "[email protected]",
"amount": "78.98",
"status": "enabled",
"interval": "d:10",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z"
},
{
"id": 52,
"offer_name": "Elliot Rohan ",
"recipient": "540-967-9799",
"recipient_name": "Ibrahim Lueilwitz DDS",
"recipient_email": "[email protected]",
"amount": "40.65",
"status": "disabled",
"interval": "d:30",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.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://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\": \"impedit\",
\"recipient_name\": \"gnc\",
\"recipient\": \"minus\",
\"email\": \"[email protected]\",
\"comments\": \"officia\"
}"
const url = new URL(
"https://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": "impedit",
"recipient_name": "gnc",
"recipient": "minus",
"email": "[email protected]",
"comments": "officia"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://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' => 'impedit',
'recipient_name' => 'gnc',
'recipient' => 'minus',
'email' => '[email protected]',
'comments' => 'officia',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 53,
"offer_name": "Axel Ledner ",
"recipient": "+1.954.477.4898",
"recipient_name": "Merlin Cummings",
"recipient_email": "[email protected]",
"amount": "62.59",
"status": "disabled",
"interval": "d:15",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"offer": {
"id": 2569,
"available": false,
"image": "https://via.placeholder.com/640x480.png/00ccff?text=non",
"image_promo": "https://via.placeholder.com/640x480.png/004422?text=omnis",
"name": "Axel Ledner",
"description": "Laudantium suscipit aperiam earum dolore est nihil. Vel similique voluptas et quae soluta ratione. Eum et quis perferendis eos.",
"prices": [
{
"id": "d76b550c-84db-4874-9ad6-497640a62d22",
"label": "Recarga 895",
"public": 16,
"subscription_interval": null,
"value": 16
},
{
"id": "331155bf-7f95-4ea9-92eb-343a885d44b0",
"label": "Recarga 551",
"public": 14,
"subscription_interval": "d:15",
"value": 14
}
],
"category": {
"id": 2508,
"name": "SIM"
},
"start_date": "2026-02-26T21:53:16.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "sim_tour",
"currency": {
"id": 2791,
"name": "LAK",
"code": "SZL"
},
"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://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\": \"voluptates\",
\"recipient_name\": \"placeat\",
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://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": "voluptates",
"recipient_name": "placeat",
"email": "[email protected]"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://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' => 'voluptates',
'recipient_name' => 'placeat',
'email' => '[email protected]',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 54,
"offer_name": "Lyla Murazik V ",
"recipient": "(872) 750-0623",
"recipient_name": "Linnie Paucek",
"recipient_email": "[email protected]",
"amount": "26.88",
"status": "enabled",
"interval": "d:10",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.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://api.sokyrecargas.com/api/v1/recharges/mine?user_id=quisquam&operator_code=expedita&recipient=eos&status=quia" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": 12,
\"operator_code\": \"non\",
\"operator_id\": 11,
\"recipient_name\": \"natus\",
\"recipient\": \"enim\",
\"status\": \"canceled\",
\"is_stacked\": true
}"
const url = new URL(
"https://api.sokyrecargas.com/api/v1/recharges/mine"
);
const params = {
"user_id": "quisquam",
"operator_code": "expedita",
"recipient": "eos",
"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": 12,
"operator_code": "non",
"operator_id": 11,
"recipient_name": "natus",
"recipient": "enim",
"status": "canceled",
"is_stacked": true
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://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' => 'quisquam',
'operator_code' => 'expedita',
'recipient' => 'eos',
'status' => 'quia',
],
'json' => [
'user_id' => 12,
'operator_code' => 'non',
'operator_id' => 11,
'recipient_name' => 'natus',
'recipient' => 'enim',
'status' => 'canceled',
'is_stacked' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 16574,
"recipient_name": "Eloy Trantow",
"recipient": "+1 (828) 229-3998",
"email": null,
"amount": "40.24",
"is_paid": false,
"status": "canceled",
"price_label": "Makenna Dickens",
"operator": {
"id": 5264,
"code": "6611",
"name": "Makenna Dickens",
"available": false,
"image": "https://via.placeholder.com/640x480.png/0099cc?text=dolorem"
},
"offer": {
"id": 2571,
"available": true,
"image": "https://via.placeholder.com/640x480.png/0044bb?text=quibusdam",
"image_promo": "https://via.placeholder.com/640x480.png/00ddbb?text=voluptas",
"name": "Ken Ondricka",
"description": "Et molestiae consequuntur error. Voluptatem autem totam a voluptatum omnis sunt. Accusamus laborum ipsa vitae et voluptatem aut ex. Vel mollitia aperiam corporis et ut in. Aut adipisci quidem quo.",
"prices": [
{
"id": "e4319293-2d15-4a6e-b5d1-690adf73b420",
"label": "Recarga 013",
"public": 11,
"subscription_interval": "m:1",
"value": 11
},
{
"id": "b24f2869-9f89-4da2-a017-6aa31e70a7f1",
"label": "Recarga 258",
"public": 40,
"subscription_interval": "m:1",
"value": 40
}
],
"category": {
"id": 2510,
"name": "SIM"
},
"start_date": "2026-02-13T22:43:15.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "modem",
"currency": {
"id": 2793,
"name": "SEK",
"code": "KRW"
},
"metadata": null
},
"user": {
"id": 8226,
"name": "Joany Rogahn",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "+1-878-501-6652",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "109.00"
},
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"is_stacked": true,
"stacked_at": "2026-01-08T21:58:38.000000Z",
"retries": 2,
"repeat": 4,
"completed_at": "2026-01-08T21:58:38.000000Z",
"comments": null
},
{
"id": 16575,
"recipient_name": "Marlene Rempel V",
"recipient": "+1-865-988-1957",
"email": null,
"amount": "72.92",
"is_paid": false,
"status": "completed",
"price_label": "Cole Conroy",
"operator": {
"id": 5266,
"code": "1113",
"name": "Cole Conroy",
"available": false,
"image": "https://via.placeholder.com/640x480.png/005544?text=cupiditate"
},
"offer": {
"id": 2572,
"available": true,
"image": "https://via.placeholder.com/640x480.png/007766?text=veniam",
"image_promo": "https://via.placeholder.com/640x480.png/003300?text=omnis",
"name": "Prof. Geoffrey Wolf",
"description": "Nam autem nulla sed esse voluptate libero molestiae assumenda. Sed ipsam error perferendis aspernatur ratione reprehenderit. Et ratione est nam omnis nobis officia. Neque dolor quae nobis porro enim.",
"prices": [
{
"id": "9774a507-304a-44d6-b325-ff0455b03064",
"label": "Recarga 672",
"public": 18,
"subscription_interval": "d:15",
"value": 18
},
{
"id": "a5f3fe1d-9c1e-4231-a2df-f1b6cbe688b4",
"label": "Recarga 727",
"public": 36,
"subscription_interval": "d:15",
"value": 36
}
],
"category": {
"id": 2511,
"name": "Recargas"
},
"start_date": "2026-03-28T15:36:21.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "modem",
"currency": {
"id": 2794,
"name": "JMD",
"code": "UZS"
},
"metadata": null
},
"user": {
"id": 8227,
"name": "Pauline Kassulke",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "(534) 981-2388",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "343.00"
},
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"is_stacked": true,
"stacked_at": "2026-01-08T21:58:38.000000Z",
"retries": 7,
"repeat": 1,
"completed_at": "2026-01-08T21:58:38.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://api.sokyrecargas.com/api/v1/recharges/6" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://api.sokyrecargas.com/api/v1/recharges/6"
);
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://api.sokyrecargas.com/api/v1/recharges/6';
$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": 16576,
"recipient_name": "Wilton Bayer",
"recipient": "678-674-7275",
"email": null,
"amount": "53.27",
"is_paid": false,
"status": "completed",
"price_label": "Madison Davis",
"operator": {
"id": 5268,
"code": "4112",
"name": "Madison Davis",
"available": true,
"image": "https://via.placeholder.com/640x480.png/003300?text=voluptatem"
},
"offer": {
"id": 2573,
"available": true,
"image": "https://via.placeholder.com/640x480.png/007700?text=cumque",
"image_promo": "https://via.placeholder.com/640x480.png/00eedd?text=praesentium",
"name": "Brooks Feil",
"description": "Alias non aliquam nulla laboriosam aspernatur ad. Et ipsa et quis cupiditate. Voluptate quibusdam aut et delectus.",
"prices": [
{
"id": "50a5c9eb-ba19-42cd-a7e1-5db132d87d26",
"label": "Recarga 844",
"public": 10,
"subscription_interval": null,
"value": 10
},
{
"id": "d3a40233-0c88-4db1-a118-8b48ef855efd",
"label": "Recarga 347",
"public": 32,
"subscription_interval": "m:1",
"value": 32
}
],
"category": {
"id": 2512,
"name": "SIM"
},
"start_date": "2026-03-24T20:50:02.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "modem",
"currency": {
"id": 2795,
"name": "SRD",
"code": "BAM"
},
"metadata": null
},
"user": {
"id": 8228,
"name": "Bernhard Wilkinson",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "1-980-241-1593",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "474.00"
},
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"is_stacked": true,
"stacked_at": "2026-01-08T21:58:38.000000Z",
"retries": 4,
"repeat": 4,
"completed_at": "2026-01-08T21:58:38.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://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://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://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": 16577,
"recipient_name": "Brigitte Reynolds DVM",
"recipient": "+1 (689) 709-7609",
"email": null,
"amount": "20.15",
"is_paid": false,
"status": "completed",
"price_label": "Enid Lynch",
"operator": {
"id": 5270,
"code": "0874",
"name": "Enid Lynch",
"available": false,
"image": "https://via.placeholder.com/640x480.png/00bb66?text=modi"
},
"offer": {
"id": 2574,
"available": true,
"image": "https://via.placeholder.com/640x480.png/005588?text=ipsa",
"image_promo": "https://via.placeholder.com/640x480.png/001188?text=voluptatem",
"name": "Mr. Lincoln Mraz",
"description": "Provident est et aperiam pariatur corrupti ratione vel. Neque magnam consectetur sit dolore vero. Dolores ut facilis impedit minus vitae nobis sapiente. Deleniti ut numquam modi culpa.",
"prices": [
{
"id": "4164d77b-d267-4794-b3ce-e5e24ede4a60",
"label": "Recarga 665",
"public": 24,
"subscription_interval": null,
"value": 24
},
{
"id": "224a270c-e6fb-44d7-a3c6-9539b4cde1e4",
"label": "Recarga 914",
"public": 33,
"subscription_interval": "m:1",
"value": 33
}
],
"category": {
"id": 2513,
"name": "SIM"
},
"start_date": "2026-02-23T15:38:57.000000Z",
"end_date": "2026-04-08T20:58:38.000000Z",
"is_stackable": false,
"is_preorder": false,
"type": "recharge",
"currency": {
"id": 2796,
"name": "MWK",
"code": "ZMW"
},
"metadata": null
},
"user": {
"id": 8229,
"name": "Fred Ritchie",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "1-985-708-8598",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "170.00"
},
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"is_stacked": true,
"stacked_at": "2026-01-08T21:58:38.000000Z",
"retries": 6,
"repeat": 3,
"completed_at": "2026-01-08T21:58:38.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://api.sokyrecargas.com/api/v1/countries" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://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://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://api.sokyrecargas.com/api/v1/physical-offices" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://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://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://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://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://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": 8230,
"name": "Adrianna Labadie",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "1-513-880-5569",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "759.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://api.sokyrecargas.com/api/v1/coins/currencies" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://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://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": 2784,
"name": "GIP",
"code": "SGD"
}
}
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://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\": 9,
\"to_user_id\": 5,
\"type\": \"deposit\",
\"types\": [
\"consume\"
],
\"status\": \"aut\"
}"
const url = new URL(
"https://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": 9,
"to_user_id": 5,
"type": "deposit",
"types": [
"consume"
],
"status": "aut"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://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' => 9,
'to_user_id' => 5,
'type' => 'deposit',
'types' => [
'consume',
],
'status' => 'aut',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 25873,
"amount": "72.38",
"status": "pending",
"type": "transfer",
"fromUser": {
"id": 8214,
"name": "Ivah Funk",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "+1 (239) 891-1433",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "466.00"
},
"toUser": {
"id": 8215,
"name": "Prof. Thea Hahn II",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "+1-270-718-2636",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "76.00"
},
"comments": "Hatter: 'as the things being alive; for instance, there's the arch I've got to the Caterpillar, and the Queen, and in a shrill, loud voice, and the pattern on their slates, 'SHE doesn't believe.",
"payment": null,
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.000000Z",
"metadata": null
},
{
"id": 25874,
"amount": "14.58",
"status": "pending",
"type": "refund",
"fromUser": {
"id": 8216,
"name": "Greta O'Connell",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "1-364-481-4861",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "498.00"
},
"toUser": {
"id": 8217,
"name": "Phoebe Lakin",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "+1-330-896-3437",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "487.00"
},
"comments": "Alice; not that she could not taste theirs, and the poor child, 'for I never heard it before,' said the Mock Turtle yawned and shut his note-book hastily. 'Consider your verdict,' the King said.",
"payment": null,
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.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://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://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://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": 25875,
"amount": "80.95",
"status": "pending",
"type": "consume",
"fromUser": {
"id": 8218,
"name": "Mateo Dach",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "+1-270-889-2694",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "257.00"
},
"toUser": {
"id": 8219,
"name": "Quincy Farrell",
"email": "[email protected]",
"email_verified_at": "2026-01-08T21:58:38.000000Z",
"phone": "1-820-346-2727",
"phone_verified_at": "2026-01-08T21:58:38.000000Z",
"role": "user",
"coins": "705.00"
},
"comments": "And the Gryphon as if it likes.' 'I'd rather finish my tea,' said the cook. 'Treacle,' said the Cat. 'I'd nearly forgotten to ask.' 'It turned into a pig, my dear,' said Alice, a little nervous.",
"payment": null,
"created_at": "2026-01-08T21:58:38.000000Z",
"updated_at": "2026-01-08T21:58:38.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.