PrepaidIQ Refill And Activation API Documentation
This documentation aims to provide all the information you need to work with our API.
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_API_TOKEN}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by calling login method.
This endpoint allows you to fetch your access token..
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/login';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
],
'json' => [
'email' => '[email protected]',
'password' => 'password',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Login Successful",
"data": {
"token": "xyzAbc374672346",
"name": "Cassie",
"address": "Gujarat ",
"b_name": "Cassie",
"phone": "9193740211"
}
}
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/user';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"name": "cassie",
"email": "[email protected]",
"status": "active",
"credit": "$2856.71",
"account_type": "wallet"
}
}
This endpoint allows you fetch carriers which is provided by us.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/carriers';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": [
{
"id": 2,
"name": "AT&T Prepaid",
"category": "cellular",
"image": "https://d1uyfsnqaznpy7.cloudfront.net/uploads/8476e4dbbe50c835f6cf71dda57ba798.jpg"
}
]
}
This endpoint allows you to fetch carrier details based on carrier id
Enter The Carrier Id.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/carrier/8';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": 8,
"name": "Xyz-Abc",
"status": "enabled",
"category": "cellular",
"act_status": "enabled",
"ref_status": "enabled",
"slug": "Xyz-Abc",
"color": "#ed008c",
"title": "Xyz-Abc Wireless Prepaid Cell Phone Plans | Helloprepay",
"meta_desc": "Buy Xyz-Abc leads the pack, in terms of unlimited data, 4G download speeds and robust 5G network deployment.",
"es_title": "Planes de telefonía celular prepagos inalámbricos de Xyz-Abc | Holaprepago",
"es_meta_description": "Comprar Xyz-Abc lidera el grupo, en términos de datos ilimitados, velocidades de descarga 4G y sólida implementación de red 5G.",
"support_phone": null,
"description": null,
"created_at": "2021-09-22T22:19:05.000000Z",
"updated_at": "2025-04-01T07:51:02.000000Z",
"total_mobile_es_title": null,
"total_mobile_es_meta_description": null,
"total_mobile_title": null,
"total_meta_description": null,
"excluded_zipcodes": "3175",
"refill_daily_limit": null,
"activation_daily_limit": 100
}
}
This endpoint allows you to fetch all refill plans details based on carrier id
Enter The Carrier Id.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/refill_plans/8';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": [
{
"id": 204,
"carrier_id": 183,
"sku": "0843788022303",
"name": "$25 Gift Card",
"description": "To redeem your Gift Card Claim\r\nCode visit Your Account in\r\nyour Amazon App, or go to\r\namazon.com/redeem.\r\nAmazon.com Gift Cards (GCs)\r\nmay be redeemed toward the\r\npurchase of eligible goods on\r\nAmazon.com or certain of its\r\naffiliated websites. Except to\r\nthe extent required by law, GCs\r\ncannot be transferred for value\r\nor redeemed for cash. Amazon.com\r\nis not responsible if a GC is\r\nlost, stolen, destroyed or if\r\nyour GC or Amazon.com balance is\r\nused without your permission.\r\nFor full terms and conditions,\r\nsee amazon.com/gc-legal. No\r\nexpiration date or service fees.",
"price": "25.00",
"price_from": "0.00",
"price_to": "0.00",
"provider": "Manual",
"image": null,
"processing_fees": "5.00 %",
"discount": "0.00 %"
}
]
}
This endpoint allows you to fetch refill plan details based on refill id
Enter The refill plan ID.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/refill_plan/8';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": 67,
"sku": "843788044244",
"name": "Red Pocket RTR - Monthly plan (40 USD)",
"description": null,
"price": "40.00",
"price_from": "0.00",
"price_to": "0.00",
"provider": "Prepay",
"image": null
}
}
This endpoint allows you post your refill request
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/refill';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => 349.0,
'mdn' => 1234567890.0,
'price' => 50.0,
'sender_name' => 'Carlos',
'recipient_name' => 'steve',
'countrycode' => '+53',
'payment_details' => '{txn_id: 234u79287, timestamp: 2022-02-12 12:44:23 ...}',
'reference_no' => '1234abcd',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "64871b31801182348b099d82",
"price": "55.00",
"reference_no": 1234abcd,
"status": "pending"
}
}
This endpoint allows you to post your refill request.
You can retrieve the status and details of the refill by using the transactions/{id} endpoint, where {id} is the ID returned in the response.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/refill-with-card';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => 349.0,
'autopay' => 1.0,
'tax_amount' => 12.0,
'payment_intent_id' => '123',
'mdn' => 1234567890.0,
'price' => 50.0,
'sender_name' => 'Carlos',
'recipient_name' => 'steve',
'countrycode' => '+53',
'payment_details' => '{txn_id: 234u79287, timestamp: 2022-02-12 12:44:23 ...}',
'reference_no' => '1234abcd',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "64871b31801182348b099d82",
"price": "55.00",
"reference_no": 1234abcd,
"status": "pending"
}
}
This endpoint allows you to fetch all activations plans details based on carrier id
Enter The Carrier Id. (For Ex: Carrier Id of T-Mobile.)
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/activation_plans/8';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": [
{
"id": 30,
"type": "activation",
"plan_type": "standard",
"sku": "0843788050283",
"plan_name": "AT&T ($30) ",
"description": "AT&T ($30) 5GB (Unlimited Talk & Text)",
"price": "30.00"
}
]
}
Enter The activation plan ID.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/activation_plan/8';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Record Found",
"data": {
"_id": "66a342fd874ed021c90aa8f3",
"plan_id": 349,
"carrier": 8,
"carrier_name": "T-Mobile",
"carrier_id": 8,
"dealer_id": 1,
}
}
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/activate';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => 349.0,
'activation_type' => 'activation',
'first_name' => 'Strickland',
'last_name' => 'Gilberto',
'email' => '[email protected]',
'state' => 'CA',
'city' => 'miami',
'zip_code' => '33175',
'address' => '9702 NW 130th St',
'street_number' => '9702',
'street_name' => 'NW 130th St',
'address_line_1' => 'Meadow Lane',
'address_line_2' => 'Forest View',
'sim_type' => 'physical',
'sim_no' => '1234567890342156789',
'imei' => '123456789012345',
'month' => '01',
'account_pin' => '123456',
'addon' => '91',
'account_password' => '123456',
'reference_no' => '1234abcd',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "66a342fd874ed021c90aa8f3",
"subtotal": 46,
"status": "success",
"type": "activation",
"spiff": 5,
"processing_fee": 4.6
}
}
This endpoint allows you to post your activation request.
You can retrieve the status and details of the activation by using the transactions/{id} endpoint, where {id} is the ID returned in the response.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/activate-with-card';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => 349.0,
'discount' => 2.0,
'tax_amount' => 12.0,
'activation_fee' => 12.0,
'payment_intent_id' => '123',
'activation_type' => 'activation',
'first_name' => 'Strickland',
'last_name' => 'Gilberto',
'email' => '[email protected]',
'state' => 'CA',
'city' => 'Miami',
'zip_code' => '33175',
'address' => '9702 NW 130th St',
'street_number' => '9702',
'street_name' => 'NW 130th St',
'address_line_1' => 'Meadow Lane',
'address_line_2' => 'Forest View',
'sim_type' => 'physical',
'sim_no' => '1234567890342156789',
'imei' => '123456789012345',
'month' => '01',
'autopay' => 1.0,
'account_pin' => '1234,1234',
'addon' => '91',
'account_password' => '123456',
'reference_no' => '1234abcd',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "66a342fd874ed021c90aa8f3",
"subtotal": 46,
"status": "success",
"type": "activation",
"spiff": 5,
"processing_fee": 4.6
}
}
This endpoint allows you post your multiline activation request
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/multiline-activate-with-card';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'activation_type' => 'multiline',
'payment_intent_id' => 'pi_123456789',
'email' => '[email protected]',
'state' => 'NY',
'city' => 'New York',
'zip_code' => '10001',
'address' => '123 Main St',
'account_pin' => '1234',
'reference_no' => '1234abcd',
'lines' => '[ { "plan": "89", "month": "01", "first_name": "arpit", "last_name": "test", "imei": "265161651561611", "sim_no": "31610616165116161611", "addon": "89,91", "sim_type": "physical" }, { "plan": "89", "month": "01", "first_name": "arpit", "last_name": "test", "imei": "265161651561612", "sim_no": "31610616165116161613", "addon": null, "sim_type": "physical" } ]',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "662b580802555032fe0bc94c,662b580802555032fe0bc94d",
"type": "activation",
"status": "pending",
"subTotal": "70.25,
"spiff": 154.75,
"processing_fee": 0.00
}
}
This endpoint allows you post your multiline activation request It is only available for T-mobile & JR mobile Only 4 or 5 lines are available for activation with JR Mobile.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/multiline-activate';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => '1',
'activation_type' => 'activation',
'email' => '[email protected]',
'state' => 'NY',
'city' => 'New York',
'address' => '123 Main St',
'month' => '01',
'account_pin' => '1234',
'reference_no' => '1234abcd',
'lines' => '[ { "first_name": "arpit", "last_name": "test", "zip_code": "33175", "imei": "265161651561611", "sim_no": "31610616165116161611", "addon": "89,91", "sim_type": "physical" }, { "first_name": "arpit", "last_name": "test", "zip_code": "33175", "imei": "265161651561612", "sim_no": "31610616165116161613", "addon": null, "sim_type": "physical" } ]',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "662b580802555032fe0bc94c,662b580802555032fe0bc94d",
"type": "activation",
"status": "pending",
"subTotal": "70.25,
"spiff": 154.75,
"processing_fee": 0.00
}
}
This endpoint allows you to fetch all portin plans details based on carrier id.
Enter The Carrier Id.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/portin_plans/8';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": [
{
"id": 123,
"type": "activation",
"plan_type": "monthly",
"sku": "ABC123",
"plan_name": "T-Mobile 40 Plan",
"description": "Unlimited talk, text, and data",
"price": 40
}
]
}
This endpoint allows you to post your portin request.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/portin';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => 123,
'first_name' => 'steave',
'last_name' => 'job',
'email' => '[email protected]',
'activation_type' => 'port-in',
'state' => 'AL',
'city' => 'miami',
'zip_code' => '33101',
'address' => '9702 NW 130th St',
'address_line_1' => '127,5th street',
'address_line_2' => '127,5th street',
'authorizer_first_name' => 'steave',
'authorizer_last_name' => 'job',
'authorizer_address' => '9702 NW 130th St',
'authorizer_city' => 'miami',
'authorizer_state' => 'AL',
'authorizer_zipcode' => '33101',
'sim_type' => 'physical',
'imei' => '123456789012345',
'sim_no' => '1234567890123456789',
'account_pin' => '1234',
'account_number' => '123456789',
'account_password' => '123456',
'provider' => '123456789',
'phone' => '1234567890',
'ex_carrier' => 'Verizon',
'addon' => '89,91',
'callback_number' => '230945048',
'reference_no' => '1234abcd',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "66cf126ab59931768e020f55",
"subtotal": "35",
"status": "pending",
"type": "port-in",
"spiff": "15",
"processing_fee": "0"
}
}
This endpoint allows you to post your portin request.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/portin-with-card';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => 123,
'autopay' => 1,
'tax_amount' => 12.0,
'payment_intent_id' => '123',
'first_name' => 'steave',
'last_name' => 'job',
'email' => '[email protected]',
'activation_type' => 'port-in',
'state' => 'AL',
'city' => 'miami',
'zip_code' => '33101',
'address' => '9702 NW 130th St',
'address_line_1' => '127,5th street',
'address_line_2' => '127,5th street',
'authorizer_first_name' => 'steave',
'authorizer_last_name' => 'job',
'authorizer_address' => '9702 NW 130th St',
'authorizer_city' => 'miami',
'authorizer_state' => 'AL',
'authorizer_zipcode' => '33101',
'sim_type' => 'physical',
'imei' => '123456789012345',
'sim_no' => '1234567890123456789',
'account_pin' => '1234',
'account_number' => '123456789',
'account_password' => '123456',
'provider' => '123456789',
'phone' => '1234567890',
'ex_carrier' => 'Verizon',
'addon' => '89,91',
'callback_number' => '230945048',
'reference_no' => '1234abcd',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "66cf126ab59931768e020f55",
"subtotal": "35",
"status": "pending",
"type": "port-in",
"spiff": "15",
"processing_fee": "0"
}
}
This endpoint allows you to change your sim.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/sim-swap';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'sim_no' => '12345678901234567890',
'carrier_id' => '197',
'phone' => '1234567890',
'imei' => '123456789012345678',
'sim_type' => 'physical',
'account_pin' => '1234',
'reference_no' => '1234abcd',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"id": "fto639f3b1659b80f84i5s92",
"subtotal": "$1"
"status": "Pending"
"type": "sim-swap"
}
}
This endpoint allows you to change your phone number. You can retrieve the status and details of the activation by using the Trans/{id} endpoint, where {id} is the ID returned in the response. (Available for Travel Mobile, Quetal-T, Mobilex and Travelx only)
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/number-change';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'carrier_id' => 197,
'mdn' => '1234567890',
'zip_code' => '1234',
'sim_no' => '12345678901234567890',
'account_pin' => '586397',
'call_back_url' => 'https://example.com/callback',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Number Change Record Request has been submit.",
"data": {
"id": "fto639f3b1659b80f84i5s92",
"status": "pending"
"type": "sim-swap"
}
}
This endpoint allows you fetch your transactions.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/transaction';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'per_page' => 20,
'page' => 2,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": [
{
"id": "67ecd3bf3b3c7fdb840dfe31",
"reference": null,
"price": 15,
"subtotal": 15,
"plan_name": "15 Dollar Plan",
"sim_no": "12345678901234567891",
"carrier_name": "",
"type": "activation",
"mdn": null,
"reason": "Failed to check sim SIM or new SIM not found",
"created_at": "2025-04-02T06:05:51.082000Z",
"updated_at": "2025-04-02T06:05:55.762000Z",
"receipt": {
"prefix": "",
"customer": ""
}
}
],
"pagination": {
"total": 100,
"per_page": 20,
"current_page": 2,
"last_page": 5,
"from": 21,
"to": 40
}
}
The ID of the transaction.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/transaction/illo';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
This endpoint allows you void your transaction if its pending.
Enter The Transaction Id.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/transaction/66a342fd874ed021c90aa8f3/void';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"transaction_id": "67ef99d168d78f12c409b1d1",
"reference": null,
"plan_id": null,
"carrier_id": 197,
"price": 0,
"subtotal": null,
"total_price": null,
"p_fee": null,
"plan_name": "",
"addon_plan": "",
"sim_no": null,
"carrier_name": "MobileX",
"status": "success",
"type": "number-change",
"mdn": "3129145049",
"email": "",
"account_pin": "373667",
"account_number": "",
"reason": null,
"created_at": "2025-04-04T08:35:29.771000Z",
"updated_at": "2025-04-04T08:35:42.343000Z",
"receipt": {
"prefix": "",
"customer": "",
"CarrierConfirmationID": "",
"ConfirmationID": ""
},
"charge_amount": ""
}
}
This endpoint allows you void your transaction if its pending by transaction reference.
Number of the refrence.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/transaction/123456/void_by_ref';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"transaction_id": "67ef99d168d78f12c409b1d1",
"reference": 123456,
"plan_id": null,
"carrier_id": 197,
"price": 0,
"subtotal": null,
"total_price": null,
"p_fee": null,
"plan_name": "",
"addon_plan": "",
"sim_no": null,
"carrier_name": "MobileX",
"status": "success",
"type": "number-change",
"mdn": "3129145049",
"email": "",
"account_pin": "373667",
"account_number": "",
"reason": null,
"created_at": "2025-04-04T08:35:29.771000Z",
"updated_at": "2025-04-04T08:35:42.343000Z",
"receipt": {
"prefix": "",
"customer": "",
"CarrierConfirmationID": "",
"ConfirmationID": ""
},
"charge_amount": ""
}
}
This endpoint allows you fetch your transaction detail using reference number.
Enter refrence number upto 64 charactrers.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/transaction/ref/1239865526985';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": {
"transaction_id": "66cf198d48d950e3025",
"plan_id": 394,
"carrier_id": 197,
"price": 50,
"subtotal": 46.25,
"total_price": 56.25,
"p_fee": 6.25,
"plan_name": "Mobile X Unlimited $50",
"addon_plan": "",
"sim_no": "888888888888888F",
"carrier_name": "MobileX",
"status": "pending",
"type": "port-in",
"mdn": null,
"email": "[email protected]",
"account_pin": "",
"account_number": "697878854",
"account_password": "76589",
"reference_no": "1239865526985",
"reason": null,
"created_at": "2024-08-28T12:35:25.660000Z",
"updated_at": "2024-08-28T12:35:25.660000Z"
}
}
This endpoint allows you to check the status of your transaction
Enter The Transaction Id.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/status-check/676907ea853a2b71c405373f';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "",
"data": [
{
"id": "676907ea853a2b71c405373f",
"status": "pending"
}
]
}
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/travel_activations_plans';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Record Found",
"data": {
"id": "66a342fd874ed021c90aa8f3",
"plan_id": 123,
"sim_no": "123456789",
"amt": "15.00",
"phone": "null",
"carrier_id": 8,
"status": "available",
"imei": null,
"activation_date": "2022-04-07",
"travel_date": "2022-04-17",
"first_name": "abc",
"email": "[email protected]",
"note": "abc"
}
}
Enter The travel activation plan ID.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/travel_activations_plan/7';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Record Found",
"data": {
"id": "66a342fd874ed021c90aa8f3",
"plan_id": 123,
"sim_no": "123456789",
"amt": "15.00",
"phone": "null",
"carrier_id": 8,
"status": "available",
"imei": null,
"activation_date": "2022-04-07",
"travel_date": "2022-04-17",
"first_name": "abc",
"email": "[email protected]",
"note": "abc"
}
}
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/travel_activations';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'plan_id' => 8.0,
'sim_no' => '1234567890342156789',
'first_name' => 'Strickland',
'email' => '[email protected]',
'note' => 'Test',
'activation_date' => '2024-04-07',
'travel_date' => '2024-04-07',
'mdn' => '1234567890',
'imei' => '123456789012345',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Travel Activation Submited",
"data": {
"dealer_id": "1",
"plan_id": "7",
"sim_no": "123456789456123",
"first_name": "Test Travel Activation",
"amt": "15.00",
"phone": null,
"status": "Not Available",
"email": "[email protected]",
"imei": "",
"activation_date": "2024-04-07",
"travel_date": "2024-04-17",
"note": "Testing"
}
}
This endpoint allows you to change your address. Only allowed for Mobilex and Travelx Carrier.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/mobilex/address-change';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'phone' => '9876543210',
'house_no' => '123B',
'street_name' => 'Elm Street',
'city' => 'Springfield',
'state' => 'NY',
'zip_code' => '10001',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Wifi Calling Address Updated Successfully.",
"data": {
"houseNo": "123B",
"streetName": "Elm Street",
"city": "Springfield",
"state": "NY",
"zipCode": "10001",
"country": "US",
"phone": "9876543210"
}
}
This endpoint retrieves details of a MobileX line by MDN.
The MDN of the line.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/mobilex/line-details/9876543210';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"status": true,
"data": {
"mdn": "9876543210",
"sim_no": "89014103211111111111",
"account_number": "1234567890",
"sim_type": "physical",
"line_status": "active",
"account_pin": "1234"
}
}
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/get-tax';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'revenue' => '100.00',
'postalCode' => '33175',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"message": "Unauthenticated."
}
Check IMEI compatibility against one or more carriers.
This endpoint allows you to check if an IMEI is eligible under a specific carrier, multiple carriers, or all supported carriers if no carrier ID is provided.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/check-imei';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Accept' => 'application/json',
'Content-Type' => 'application/json',
],
'json' => [
'carrier_id' => [
8,
11,
274,
2,
273,
279,
197,
251,
246,
4,
265,
],
'imei' => '353456789012345',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "IMEI check(s) completed.",
"results": {
{
"success": true,
"message": "IMEI check successful.",
"data": {
"carrier_id": 8,
"imei": "353456789012345",
"sim_support": {
"physical_sim": true,
"esim": false
"eid": "12345678901234567890", // if applicable for the T-mobile carrier
},
"compatibility_status": "Compatible" // if applicable for the T-mobile carrier
}
},
{
"success": false,
"message": "IMEI not eligible or not found.",
"data": []
}
}
}
This endpoint checks which refill plans are available for a given MDN under carrier Quetal (ID: 279). It fetches the last successful transaction (activation, refill, port-in, or number-change) to determine eligibility.
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/check-refill-plan-availability';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Content-Type' => 'application/json',
],
'json' => [
'mdn' => '9876543210',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Available plans retrieved successfully.",
"data": {
"current_plan_id": 302,
"available_plan_ids": [
302
],
"plans": [
{
"id": 302,
"name": "Unlimited Talk & Data",
"price": "40.00"
},
{
"id": 305,
"name": "Data Only",
"price": "25.00"
}
],
"prev_record_type": "activation",
"mdn": "9876543210"
}
}
This endpoint retrieves the expiry details of a given MDN for carrier Quetal (ID: 279).
$client = new \GuzzleHttp\Client();
$url = 'https://apiv2.prepaidiq.com/api/quetal-mdn-expiry-info';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_API_TOKEN}',
'Content-Type' => 'application/json',
],
'json' => [
'mdn' => '9876543210',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); {
"success": true,
"message": "Expiry details found.",
"data": {
"expiry_date": "2025-09-30",
"status": "active",
"mdn": "9876543210"
}
}