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\": \"qui\",
\"search\": \"voluptatibus\",
\"available\": true,
\"category\": 11,
\"category_id\": 1,
\"start_date\": \"2025-11-21T09:44:06\",
\"end_date\": \"2025-11-21T09:44:06\",
\"is_stackable\": true,
\"types\": [
\"sim\"
]
}"
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": "qui",
"search": "voluptatibus",
"available": true,
"category": 11,
"category_id": 1,
"start_date": "2025-11-21T09:44:06",
"end_date": "2025-11-21T09:44:06",
"is_stackable": true,
"types": [
"sim"
]
};
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' => 'qui',
'search' => 'voluptatibus',
'available' => true,
'category' => 11,
'category_id' => 1,
'start_date' => '2025-11-21T09:44:06',
'end_date' => '2025-11-21T09:44:06',
'is_stackable' => true,
'types' => [
'sim',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 2516,
"available": true,
"image": "https://via.placeholder.com/640x480.png/0033dd?text=eaque",
"image_promo": "https://via.placeholder.com/640x480.png/005555?text=sed",
"name": "Ms. Aglae Hamill V",
"description": "Ad officiis laborum distinctio provident. Numquam corrupti eius sunt nesciunt assumenda. Necessitatibus in et aliquam.",
"prices": [
{
"id": "acec828d-fc8d-4c22-bc59-7130dacf9c03",
"label": "Recarga 278",
"public": 15,
"subscription_interval": "m:1",
"value": 15
},
{
"id": "8593cd1f-64c1-453d-90d7-634115b3ac00",
"label": "Recarga 555",
"public": 10,
"subscription_interval": "d:15",
"value": 10
}
],
"category": {
"id": 2466,
"name": "SIM"
},
"start_date": "2025-08-30",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "sim",
"currency": {
"id": 2746,
"name": "JPY",
"code": "ANG"
},
"metadata": null
},
{
"id": 2517,
"available": false,
"image": "https://via.placeholder.com/640x480.png/003300?text=at",
"image_promo": "https://via.placeholder.com/640x480.png/005577?text=facilis",
"name": "Gladyce Renner",
"description": "Dolor odio eos ut porro velit. Dolores illum earum in est ex ad. Sequi magnam ut omnis voluptatum magni minus. Accusamus laborum aut ut illum reprehenderit earum.",
"prices": [
{
"id": "a8fc0c84-f21f-4eeb-b143-5beab60b2240",
"label": "Recarga 476",
"public": 23,
"subscription_interval": "d:15",
"value": 23
},
{
"id": "257e08ad-7431-4db8-b4f5-14c6ecbfe153",
"label": "Recarga 056",
"public": 34,
"subscription_interval": null,
"value": 34
}
],
"category": {
"id": 2467,
"name": "SIM"
},
"start_date": "2025-12-06",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "recharge",
"currency": {
"id": 2747,
"name": "ANG",
"code": "CZK"
},
"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\": \"cumque\",
\"subscribe\": true
}"
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": "cumque",
"subscribe": true
};
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' => 'cumque',
'subscribe' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 13998,
"recipient_name": "Dr. Gus Walsh",
"recipient": "+1-334-550-5549",
"email": null,
"amount": "30.72",
"is_paid": false,
"status": "canceled",
"price_label": "Dorothea Koelpin",
"operator": {
"id": 5181,
"code": "6478",
"name": "Dorothea Koelpin",
"available": false,
"image": "https://via.placeholder.com/640x480.png/001122?text=molestiae"
},
"offer": {
"id": 2518,
"available": true,
"image": "https://via.placeholder.com/640x480.png/0066aa?text=tenetur",
"image_promo": "https://via.placeholder.com/640x480.png/007711?text=cumque",
"name": "Dr. Brook Wolff PhD",
"description": "Ipsa dolores ducimus autem. Modi illo veritatis ipsum alias quam. Est ipsum aliquam amet voluptatum aspernatur et sint. Tenetur provident qui temporibus quaerat.",
"prices": [
{
"id": "beef9d7b-50cb-4025-85ce-e27ea235c0a5",
"label": "Recarga 103",
"public": 33,
"subscription_interval": "d:15",
"value": 33
},
{
"id": "2a59173f-cef6-4911-9b9c-2fac3ff1bfa4",
"label": "Recarga 567",
"public": 24,
"subscription_interval": null,
"value": 24
}
],
"category": {
"id": 2468,
"name": "Recargas"
},
"start_date": "2025-11-17",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2748,
"name": "LYD",
"code": "KRW"
},
"metadata": null
},
"user": {
"id": 7868,
"name": "Dr. Trudie Corwin PhD",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "408-427-0992",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "449.00"
},
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"is_stacked": false,
"stacked_at": "2025-11-21T14:44:06.000000Z",
"retries": 1,
"completed_at": "2025-11-21T14:44:06.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\": \"dolore\",
\"subscribe\": true
}"
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": "dolore",
"subscribe": true
};
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' => 'dolore',
'subscribe' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 13999,
"recipient_name": "Dr. Juston Hill",
"recipient": "+16572634972",
"email": null,
"amount": "75.37",
"is_paid": false,
"status": "pending",
"price_label": "Roderick Crooks",
"operator": {
"id": 5183,
"code": "6980",
"name": "Roderick Crooks",
"available": false,
"image": "https://via.placeholder.com/640x480.png/004499?text=dolor"
},
"offer": {
"id": 2519,
"available": true,
"image": "https://via.placeholder.com/640x480.png/008877?text=commodi",
"image_promo": "https://via.placeholder.com/640x480.png/00aa77?text=deleniti",
"name": "Keagan Wyman",
"description": "Velit optio consequatur quisquam temporibus rem. Culpa et animi vitae in enim sit molestias ut. Aspernatur iure nulla rem ex atque.",
"prices": [
{
"id": "a203f97f-8e28-4f32-a357-e11538f57fb1",
"label": "Recarga 314",
"public": 35,
"subscription_interval": "d:15",
"value": 35
},
{
"id": "a970c139-2a43-4f95-a7ab-e336941e7738",
"label": "Recarga 578",
"public": 33,
"subscription_interval": "m:1",
"value": 33
}
],
"category": {
"id": 2469,
"name": "SIM"
},
"start_date": "2026-02-09",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "sim",
"currency": {
"id": 2749,
"name": "MZN",
"code": "AZN"
},
"metadata": null
},
"user": {
"id": 7869,
"name": "Crystel Bednar",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "1-747-901-3184",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "383.00"
},
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"is_stacked": true,
"stacked_at": "2025-11-21T14:44:06.000000Z",
"retries": 5,
"completed_at": "2025-11-21T14:44:06.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": 33,
"offer_name": "Isabell Bednar MD ",
"recipient": "+1-678-502-2827",
"recipient_name": "Prof. Baron Pfeffer",
"recipient_email": "[email protected]",
"amount": "48.75",
"status": "disabled",
"interval": "d:30",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z"
},
{
"id": 34,
"offer_name": "Mrs. Kaylah Swift I ",
"recipient": "+1 (402) 715-1099",
"recipient_name": "Jakob Hill",
"recipient_email": "[email protected]",
"amount": "56.34",
"status": "enabled",
"interval": "d:10",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.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\": \"perspiciatis\",
\"recipient_name\": \"dykktbygpicdoudakms\",
\"recipient\": \"quae\",
\"email\": \"[email protected]\",
\"comments\": \"nulla\"
}"
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": "perspiciatis",
"recipient_name": "dykktbygpicdoudakms",
"recipient": "quae",
"email": "[email protected]",
"comments": "nulla"
};
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' => 'perspiciatis',
'recipient_name' => 'dykktbygpicdoudakms',
'recipient' => 'quae',
'email' => '[email protected]',
'comments' => 'nulla',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 35,
"offer_name": "Jalyn Wintheiser ",
"recipient": "339-875-5942",
"recipient_name": "Mallory Schuppe",
"recipient_email": "[email protected]",
"amount": "39.14",
"status": "disabled",
"interval": "d:10",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"offer": {
"id": 2522,
"available": false,
"image": "https://via.placeholder.com/640x480.png/0011aa?text=non",
"image_promo": "https://via.placeholder.com/640x480.png/0000dd?text=nihil",
"name": "Jalyn Wintheiser",
"description": "Vel quo tempore facere exercitationem. Illo aut in dolor aut dicta esse. Similique consequatur iure reprehenderit. Unde dolores sed veniam fuga pariatur odio perferendis.",
"prices": [
{
"id": "db37c5ca-3cb0-4e13-92bc-4618c27ce8cd",
"label": "Recarga 867",
"public": 37,
"subscription_interval": "m:1",
"value": 37
},
{
"id": "8b87fdc7-8164-4a28-b51c-3bceed0004ad",
"label": "Recarga 301",
"public": 31,
"subscription_interval": null,
"value": 31
}
],
"category": {
"id": 2472,
"name": "SIM"
},
"start_date": "2025-12-03",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2752,
"name": "CDF",
"code": "PKR"
},
"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/4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"enabled\",
\"recipient\": \"aspernatur\",
\"recipient_name\": \"libero\",
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://api.sokyrecargas.com/api/v1/recharges/subscriptions/4"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "enabled",
"recipient": "aspernatur",
"recipient_name": "libero",
"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/4';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'status' => 'enabled',
'recipient' => 'aspernatur',
'recipient_name' => 'libero',
'email' => '[email protected]',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 36,
"offer_name": "Prof. Sabryna Grant ",
"recipient": "251.207.4621",
"recipient_name": "Kenyatta Bartoletti",
"recipient_email": "[email protected]",
"amount": "87.79",
"status": "disabled",
"interval": "d:15",
"interval_count": 0,
"last_payment_at": null,
"next_payment_at": null,
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.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=eveniet&operator_code=magni&recipient=reprehenderit&status=pariatur" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": 2,
\"operator_code\": \"vel\",
\"operator_id\": 3,
\"recipient_name\": \"et\",
\"recipient\": \"quas\",
\"status\": \"completed\",
\"is_stacked\": true
}"
const url = new URL(
"https://api.sokyrecargas.com/api/v1/recharges/mine"
);
const params = {
"user_id": "eveniet",
"operator_code": "magni",
"recipient": "reprehenderit",
"status": "pariatur",
};
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": 2,
"operator_code": "vel",
"operator_id": 3,
"recipient_name": "et",
"recipient": "quas",
"status": "completed",
"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' => 'eveniet',
'operator_code' => 'magni',
'recipient' => 'reprehenderit',
'status' => 'pariatur',
],
'json' => [
'user_id' => 2,
'operator_code' => 'vel',
'operator_id' => 3,
'recipient_name' => 'et',
'recipient' => 'quas',
'status' => 'completed',
'is_stacked' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 14000,
"recipient_name": "Prof. Adrian Hartmann MD",
"recipient": "(445) 617-4109",
"email": null,
"amount": "75.87",
"is_paid": false,
"status": "completed",
"price_label": "Reymundo O'Hara",
"operator": {
"id": 5189,
"code": "8210",
"name": "Reymundo O'Hara",
"available": true,
"image": "https://via.placeholder.com/640x480.png/007711?text=ex"
},
"offer": {
"id": 2524,
"available": false,
"image": "https://via.placeholder.com/640x480.png/0011dd?text=et",
"image_promo": "https://via.placeholder.com/640x480.png/00aaff?text=sit",
"name": "Judah Kuphal I",
"description": "Excepturi reprehenderit minus explicabo quis. Nihil et et harum et qui. Et sint omnis facere vero quam dicta vel. Earum blanditiis illum temporibus quam eaque nobis magni.",
"prices": [
{
"id": "ab4adb55-009f-42d0-bef0-7bfd1a1f96b3",
"label": "Recarga 357",
"public": 24,
"subscription_interval": "d:15",
"value": 24
},
{
"id": "245b6b59-6ee1-416f-95ab-11866b5790b4",
"label": "Recarga 127",
"public": 20,
"subscription_interval": "d:15",
"value": 20
}
],
"category": {
"id": 2474,
"name": "Recargas"
},
"start_date": "2026-01-28",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2754,
"name": "LAK",
"code": "DZD"
},
"metadata": null
},
"user": {
"id": 7874,
"name": "Prof. Mitchell Donnelly",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "(620) 696-3321",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "978.00"
},
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"is_stacked": true,
"stacked_at": "2025-11-21T14:44:06.000000Z",
"retries": 1,
"completed_at": "2025-11-21T14:44:06.000000Z",
"comments": null
},
{
"id": 14001,
"recipient_name": "Cristina Collier III",
"recipient": "(385) 287-6130",
"email": null,
"amount": "32.25",
"is_paid": false,
"status": "completed",
"price_label": "Mr. Erin Moore Sr.",
"operator": {
"id": 5191,
"code": "6543",
"name": "Mr. Erin Moore Sr.",
"available": false,
"image": "https://via.placeholder.com/640x480.png/009955?text=quo"
},
"offer": {
"id": 2525,
"available": true,
"image": "https://via.placeholder.com/640x480.png/00bbff?text=repellat",
"image_promo": "https://via.placeholder.com/640x480.png/001144?text=occaecati",
"name": "Jacey Moen",
"description": "Id voluptatibus qui quibusdam esse vero ut quia. Aut harum est modi qui. Eveniet dignissimos adipisci ut soluta. Fugiat earum consequatur dolorem est aliquam.",
"prices": [
{
"id": "0ea787ed-59a0-48ae-966d-1948ff585a44",
"label": "Recarga 548",
"public": 17,
"subscription_interval": null,
"value": 17
},
{
"id": "a05520f9-eed6-49c9-86b3-76ddd738a144",
"label": "Recarga 664",
"public": 33,
"subscription_interval": null,
"value": 33
}
],
"category": {
"id": 2475,
"name": "Recargas"
},
"start_date": "2025-11-09",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2755,
"name": "GTQ",
"code": "VND"
},
"metadata": null
},
"user": {
"id": 7875,
"name": "Carole Swaniawski",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "(650) 601-5999",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "235.00"
},
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"is_stacked": false,
"stacked_at": "2025-11-21T14:44:06.000000Z",
"retries": 9,
"completed_at": "2025-11-21T14:44:06.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": 14002,
"recipient_name": "Rebeca Upton",
"recipient": "812.839.9753",
"email": null,
"amount": "85.27",
"is_paid": false,
"status": "completed",
"price_label": "Carlee Mante",
"operator": {
"id": 5193,
"code": "4361",
"name": "Carlee Mante",
"available": true,
"image": "https://via.placeholder.com/640x480.png/00ff77?text=consectetur"
},
"offer": {
"id": 2526,
"available": true,
"image": "https://via.placeholder.com/640x480.png/0099cc?text=nobis",
"image_promo": "https://via.placeholder.com/640x480.png/009911?text=nostrum",
"name": "Porter Morissette",
"description": "Laboriosam est sit dolorem sapiente. Est sunt facere ab et unde laborum. Expedita sed laboriosam nobis rerum placeat ipsa.",
"prices": [
{
"id": "a4b607c2-3972-4b39-bcc6-a104ad49339b",
"label": "Recarga 873",
"public": 10,
"subscription_interval": "m:1",
"value": 10
},
{
"id": "bf48081c-801e-4762-9649-3473b1c13097",
"label": "Recarga 032",
"public": 24,
"subscription_interval": null,
"value": 24
}
],
"category": {
"id": 2476,
"name": "SIM"
},
"start_date": "2025-10-15",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "sim",
"currency": {
"id": 2756,
"name": "LSL",
"code": "UYU"
},
"metadata": null
},
"user": {
"id": 7876,
"name": "Mr. Olen Conroy",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "+1-650-435-4171",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "943.00"
},
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"is_stacked": true,
"stacked_at": "2025-11-21T14:44:06.000000Z",
"retries": 5,
"completed_at": "2025-11-21T14:44:06.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": 14003,
"recipient_name": "Mortimer Christiansen II",
"recipient": "+1 (320) 609-9600",
"email": null,
"amount": "87.78",
"is_paid": false,
"status": "completed",
"price_label": "Sylvan Kiehn",
"operator": {
"id": 5195,
"code": "8976",
"name": "Sylvan Kiehn",
"available": false,
"image": "https://via.placeholder.com/640x480.png/00aa44?text=et"
},
"offer": {
"id": 2527,
"available": true,
"image": "https://via.placeholder.com/640x480.png/001122?text=animi",
"image_promo": "https://via.placeholder.com/640x480.png/002288?text=autem",
"name": "Lelia Block",
"description": "Aliquam accusamus deleniti doloribus impedit. Velit nemo ducimus cumque ab animi ut voluptatum rerum. Officiis inventore ut recusandae voluptates.",
"prices": [
{
"id": "f4931b6d-8483-4b52-b0c0-d390e5361e6f",
"label": "Recarga 779",
"public": 30,
"subscription_interval": "d:15",
"value": 30
},
{
"id": "1dd18270-a467-44bb-bbbe-921cc2c83a55",
"label": "Recarga 261",
"public": 34,
"subscription_interval": "m:1",
"value": 34
}
],
"category": {
"id": 2477,
"name": "SIM"
},
"start_date": "2026-01-06",
"end_date": "2026-02-21",
"is_stackable": false,
"is_preorder": false,
"type": "nauta",
"currency": {
"id": 2757,
"name": "GEL",
"code": "VND"
},
"metadata": null
},
"user": {
"id": 7877,
"name": "Muhammad Auer",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "+1-319-619-2149",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "870.00"
},
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"is_stacked": true,
"stacked_at": "2025-11-21T14:44:06.000000Z",
"retries": 6,
"completed_at": "2025-11-21T14:44:06.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 (SOLO PARA PRUEBAS)
Las funcionalidades de SIM card aun no estan disponibles para el cliente final
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": 7878,
"name": "Alene Jenkins",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "+1-970-813-5036",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "861.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": 2745,
"name": "AFN",
"code": "MNT"
}
}
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\": 19,
\"to_user_id\": 16,
\"type\": \"withdrawal\",
\"types\": [
\"transfer\"
],
\"status\": \"neque\"
}"
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": 19,
"to_user_id": 16,
"type": "withdrawal",
"types": [
"transfer"
],
"status": "neque"
};
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' => 19,
'to_user_id' => 16,
'type' => 'withdrawal',
'types' => [
'transfer',
],
'status' => 'neque',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 22132,
"amount": "89.33",
"status": "failed",
"type": "deposit",
"fromUser": {
"id": 7862,
"name": "Frederic Bechtelar",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:05.000000Z",
"phone": "+1-747-745-1964",
"phone_verified_at": "2025-11-21T14:44:05.000000Z",
"role": "user",
"coins": "168.00"
},
"toUser": {
"id": 7863,
"name": "Dr. Liza Feil",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "401.522.3076",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "625.00"
},
"comments": "Canterbury, found it advisable--\"' 'Found WHAT?' said the Duchess. 'I make you grow shorter.' 'One side will make you dry enough!' They all made of solid glass; there was a little ledge of rock.",
"payment": null,
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.000000Z",
"metadata": null
},
{
"id": 22133,
"amount": "82.15",
"status": "failed",
"type": "consume",
"fromUser": {
"id": 7864,
"name": "Theo Bednar",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "859.376.9200",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "71.00"
},
"toUser": {
"id": 7865,
"name": "Dr. Cheyanne Kuhlman",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "+1 (743) 861-4465",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "150.00"
},
"comments": "She went in without knocking, and hurried off to trouble myself about you: you must manage the best way you can;--but I must be kind to them,' thought Alice, 'to speak to this mouse? Everything is.",
"payment": null,
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.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": 22134,
"amount": "62.76",
"status": "pending",
"type": "transfer",
"fromUser": {
"id": 7866,
"name": "Guiseppe Hegmann",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "+1 (740) 932-6929",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "599.00"
},
"toUser": {
"id": 7867,
"name": "Cortez Zemlak Jr.",
"email": "[email protected]",
"email_verified_at": "2025-11-21T14:44:06.000000Z",
"phone": "(859) 229-8062",
"phone_verified_at": "2025-11-21T14:44:06.000000Z",
"role": "user",
"coins": "71.00"
},
"comments": "I ask! It's always six o'clock now.' A bright idea came into Alice's shoulder as she listened, or seemed to rise like a Jack-in-the-box, and up the fan and two or three pairs of tiny white kid.",
"payment": null,
"created_at": "2025-11-21T14:44:06.000000Z",
"updated_at": "2025-11-21T14:44:06.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.