This documentation aims to provide all the information you need to work with our CP Dashboard API.
As you scroll, you'll see code examples for working with the API in different programming languages
in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).
To authenticate requests, include an Authorization
header with the value "Bearer {YOUR_BEARER_TOKEN}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
Login api endpoint to authorize the user by email and password.
curl --request POST \
"https://api.powerly.app/api/v3/auth/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"secret123\",
\"device_imei\": \"123456789012345\",
\"device_token\": \"abcdef1234567890\"
}"
{
"data": {
"id": 135231,
"status": 1,
"customer_type": "C",
"first_name": "",
"last_name": "",
"full_name": "",
"contact_number": "966977977974",
"email": "[email protected]",
"email_verified": 1,
"balance": "0.00",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnYXNhYmxlLnRlc3QiLCJpYXQiOjE3MTYwMjc4ODQsImV4cCI6MTc0NzU2Mzg4NCwiZGF0YSI6eyJ1c2VyX2lkIjoxMzUyMzEsInVzZXJfdHlwZSI6MX19.NlcGZdzy4kKACb1fJSSxL-VVJIwvvTbTqtz0_Rvv3_E"
},
"success": 1,
"message": "Done!"
}
To verify the email, you will need the verification_token received in response to the registration request, and the verification_code sent to the user's email.
curl --request POST \
"https://api.powerly.app/api/v3/auth/email/verify" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"verification_token\": \"123e4567-e89b-12d3-a456-426614174000\",
\"verification_code\": \"1234\"
}"
{
"data": {
"id": 135231,
"customer_type": "C",
"first_name": "",
"last_name": "",
"full_name": "",
"contact_number": "966977977974",
"email": "[email protected]",
"balance": "0.00",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnYXNhYmxlLnRlc3QiLCJpYXQiOjE3MTYwMjc4ODQsImV4cCI6MTc0NzU2Mzg4NCwiZGF0YSI6eyJ1c2VyX2lkIjoxMzUyMzEsInVzZXJfdHlwZSI6MX19.NlcGZdzy4kKACb1fJSSxL-VVJIwvvTbTqtz0_Rvv3_E"
},
"success": 1,
"message": "Done!"
}
You can resend the verification code to the user's email address.
Note that resending the code reduces the number of allowable code attempts, thereby increasing the time until the next code can be sent.
curl --request POST \
"https://api.powerly.app/api/v3/auth/email/resend-verification" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"verification_token\": \"123e4567-e89b-12d3-a456-426614174000\"
}"
{
"success": 1,
"message": "Please enter the verification code to continue.",
"data": {
"require_verification": 1,
"verification_token": "27ee3f39-8768-4bc3-a6ae-440d87660b02",
"can_resend_in_seconds": 60,
"available_attempts": 3
}
}
Use this api endpoint when you logout users to delete the access token. You need to provide device_imei to dissociate the device.
curl --request POST \
"https://api.powerly.app/api/v3/auth/logout" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"device_imei\": \"iste\"
}"
[Empty response]
curl --request POST \
"https://api.powerly.app/api/v3/auth/password/reset" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
curl --request POST \
"https://api.powerly.app/api/v3/auth/password/reset/resend" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"verification_token\": \"123e4567-e89b-12d3-a456-426614174000\"
}"
curl --request POST \
"https://api.powerly.app/api/v3/auth/password/reset/verify" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"verification_token\": \"123e4567-e89b-12d3-a456-426614174000\",
\"verification_code\": \"1234\"
}"
curl --request GET \
--get "https://api.powerly.app/api/user" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"msg": "Internal system error.",
"msg_arabic": "خطأ في النظام",
"trace": "Internal system error."
}
curl --request GET \
--get "https://api.powerly.app/api/user/balance" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"msg": "Internal system error.",
"msg_arabic": "خطأ في النظام",
"trace": "Internal system error."
}
curl --request GET \
--get "https://api.powerly.app/api/user/payout-methods" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"msg": "Internal system error.",
"msg_arabic": "خطأ في النظام",
"trace": "Internal system error."
}
curl --request GET \
--get "https://api.powerly.app/api/stats" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"msg": "Internal system error.",
"msg_arabic": "خطأ في النظام",
"trace": "Internal system error."
}
curl --request GET \
--get "https://api.powerly.app/api/user/permissions" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request GET \
--get "https://api.powerly.app/api/user/roles" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"msg": "Internal system error.",
"msg_arabic": "خطأ في النظام",
"trace": "Internal system error."
}
curl --request GET \
--get "https://api.powerly.app/api/user/subscribe" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"msg": "Internal system error.",
"msg_arabic": "خطأ في النظام",
"trace": "Internal system error."
}
curl --request GET \
--get "https://api.powerly.app/api/user/unsubscribe" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"msg": "Internal system error.",
"msg_arabic": "خطأ في النظام",
"trace": "Internal system error."
}
Get a list of categories.
type of the category.
Optional search query to filter categories.
Number of items per page (-1 for all).
curl --request GET \
--get "https://api.powerly.app/api/categories/charging-site/datatable?search=suscipit&itemsPerPage=15" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 58,
"type": "charging-site",
"name": "maximes",
"color": "#D2B48C"
},
{
"id": 57,
"type": "charging-site",
"name": "tests",
"color": "#A52A2A"
},
...
],
"meta": {
"per_page": 15,
"total": 55
}
}
}
Get all categories.
type of the category.
curl --request GET \
--get "https://api.powerly.app/api/categories/charging-site" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": [
{
"id": 58,
"type": "charging-site",
"name": "maximes",
"color": "#D2B48C"
},
{
"id": 57,
"type": "charging-site",
"name": "tests",
"color": "#A52A2A"
},
...
]
}
curl --request POST \
"https://api.powerly.app/api/categories" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"charging-site\",
\"name\": \"Electronics\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 60,
"type": "charging-site",
"name": "Electronics",
"color": "#A9A9A9"
}
}
The ID of the category.
curl --request GET \
--get "https://api.powerly.app/api/categories/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 60,
"type": "charging-site",
"name": "Electronics",
"color": "#A9A9A9"
}
}
The ID of the category.
curl --request PUT \
"https://api.powerly.app/api/categories/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Electronics\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 60,
"type": "charging-site",
"name": "Electronics",
"color": "#A9A9A9"
}
}
The ID of the category.
curl --request DELETE \
"https://api.powerly.app/api/categories/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
Retrieves a list of feedback associated with the charge points owned by the authenticated user.
Number of results per page. Use -1 to get all. Defaults to 15.
Filter feedback by message content.
curl --request GET \
--get "https://api.powerly.app/api/feedback?itemsPerPage=10&search=slow+charging" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 139,
"charge_point_order_id": 171,
"user_id": 1,
"order_id": null,
"feedback_msg": "The charging cable felt a bit stiff and could be a little longer for easier car positioning.",
"rating": "3.90",
"insert_date": "2024-07-17T10:17:20.000000Z",
"updated_at": "2024-07-22T07:17:30.000000Z",
"verified": 1,
"charge_point_order": {
"id": 171,
"charge_point_id": 12,
"charge_point_connector_id": 14,
"charging_session_time": "51.7700",
"charging_session_energy": "1.5600",
"unit": "minutes",
"requested_quantity": "10",
"feedback_exist": 0,
"status": 1,
"delivery_date": null,
"user_id": 1,
"fleet_id": null,
"quantity": "51.0000",
"price": "102.0000",
"fees": "1.00",
"earning": 15.3,
"unit_price": "2.00",
"created_at": "2025-01-08T07:33:27.000000Z",
"updated_at": "2025-03-04T13:27:56.000000Z",
"connector_number": 1
}
},
...
],
"meta": {
"per_page": 15,
"total": 141
}
}
}
Exports all feedback related to the authenticated user's charge points to an .xlsx
file.
curl --request GET \
--get "https://api.powerly.app/api/feedback/export" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
attachment feedback.xlsx
Returns a single feedback entry by ID.
The ID of the feedback to retrieve.
curl --request GET \
--get "https://api.powerly.app/api/feedback/139" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 139,
"charge_point_order_id": 171,
"user_id": 1,
"order_id": null,
"feedback_msg": "The charging cable felt a bit stiff and could be a little longer for easier car positioning.",
"rating": "3.90",
"insert_date": "2024-07-17T10:17:20.000000Z",
"updated_at": "2024-07-22T07:17:30.000000Z",
"verified": 1,
"charge_point_order": {
"id": 171,
"charge_point_id": 12,
"charge_point_connector_id": 14,
"charging_session_time": "51.7700",
"charging_session_energy": "1.5600",
"unit": "minutes",
"requested_quantity": "10",
"feedback_exist": 0,
"status": 1,
"delivery_date": null,
"user_id": 1,
"fleet_id": null,
"quantity": "51.0000",
"price": "102.0000",
"fees": "1.00",
"earning": 15.3,
"unit_price": "2.00",
"created_at": "2025-01-08T07:33:27.000000Z",
"updated_at": "2025-03-04T13:27:56.000000Z",
"connector_number": 1
}
}
curl --request GET \
--get "https://api.powerly.app/api/v3/countries" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 1,
"name": "Jordan",
"iso": "JO",
"time_zone": "Asia/Amman",
"latitude": "31.95",
"longitude": "35.93333",
"phone_code": "962",
"contact_number": "96265860087",
"email": "[email protected]",
"currency": "JD",
"currency_iso": "JOD"
},
{
"id": 2,
"name": "Ukraine",
"iso": "UA",
"time_zone": "Asia/Amman",
"latitude": "53.7098",
"longitude": "27.9534",
"phone_code": "380",
"contact_number": "3802912345678",
"email": "",
"currency": "UAH",
"currency_iso": null
},
{
"id": 4,
"name": "Saudi Arabia",
"iso": "SA",
"time_zone": "Asia/Riyadh",
"latitude": "24.63333",
"longitude": "46.71666",
"phone_code": "966",
"contact_number": "9660005469",
"email": "[email protected]",
"currency": "SR",
"currency_iso": "SAR"
}
],
"success": 1,
"message": "Done!"
}
Returns country details by ID.
Country ID.
curl --request GET \
--get "https://api.powerly.app/api/v3/countries/4" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": {
"id": 4,
"name": "Saudi Arabia",
"iso": "SA",
"time_zone": "Asia/Riyadh",
"latitude": "24.63333",
"longitude": "46.71666",
"phone_code": "966",
"contact_number": "9660005469",
"email": "[email protected]",
"currency": "SR",
"currency_iso": "SAR",
"flag_url": "https://v4.test/flags/SA.png"
},
"success": 1,
"message": "Done!"
}
Returns a paginated list of orders related to charge points owned by the authenticated user.
Number of results per page. Use -1 to get all. Defaults to 15.
Optional search term to filter by charge point identifier.
Optional array of sorting instructions. Each object should include "key" and "order" (asc or desc). Keys: insert_date, duration, energy, price, totalEarning.
curl --request GET \
--get "https://api.powerly.app/api/orders?itemsPerPage=10&search=EV12345" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 426,
"charge_point_id": 16,
"charge_point_connector_id": 16,
"charging_session_time": "27.0000",
"charging_session_energy": "1661.0000",
"unit": "minutes",
"requested_quantity": "8",
"feedback_exist": 0,
"status": 1,
"delivery_date": "2024-09-16 07:33:27",
"user_id": 11,
"fleet_id": 64,
"quantity": "6.0000",
"price": "0.00",
"fees": "8.00",
"earning": "953.47",
"unit_price": "2587.98",
"created_at": "2024-09-16T07:33:27.000000Z",
"updated_at": "2025-03-04T13:27:57.000000Z",
"connector_number": 1,
"charge_point": {
"id": 16,
"identifier": "CP:DDEE36",
"category": "EV_CHARGER",
"title": "ocpp_yesy",
"description": "ocpp_yesy",
"latitude": "24.593799037018584",
"longitude": "46.62275091622337",
"listed": false,
...
},
"insert_date": "2024-09-16 07:33",
"prices": [],
"app_fees": "-953.47",
"elapsed_time": "27.0000"
},
...
],
"meta": {
"per_page": 10,
"total": 404
}
}
}
Exports all orders for the authenticated user's charge points to an .xlsx
file.
curl --request GET \
--get "https://api.powerly.app/api/orders/export" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
attachment Orders.xlsx
Retrieves a single order by its ID, ensuring it belongs to the authenticated user.
The ID of the order to retrieve.
curl --request GET \
--get "https://api.powerly.app/api/orders/12" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 426,
"charge_point_id": 16,
"charge_point_connector_id": 16,
"charging_session_time": "27.0000",
"charging_session_energy": "1661.0000",
"unit": "minutes",
"requested_quantity": "8",
"feedback_exist": 0,
"status": 1,
"delivery_date": "2024-09-16 07:33:27",
"user_id": 11,
"fleet_id": 64,
"quantity": "6.0000",
"price": "0.00",
"fees": "8.00",
"earning": "953.47",
"unit_price": "2587.98",
"created_at": "2024-09-16T07:33:27.000000Z",
"updated_at": "2025-03-04T13:27:57.000000Z",
"connector_number": 1,
"charge_point": {
"id": 16,
"identifier": "CP:DDEE36",
"category": "EV_CHARGER",
"title": "ocpp_yesy",
"description": "ocpp_yesy",
"latitude": "24.593799037018584",
"longitude": "46.62275091622337",
"listed": false,
"distance": null,
"type": null,
"status": "unavailable",
"image": "http://localhost:8080/images/charge-point-1.jpeg",
"session_limit_type": null,
"session_limit_value": 0,
"online_status": 0,
"configured": 0,
"rating": "3.17",
"owner_id": 1,
"address": {
"address_line_1": "x",
"address_line_2": "y",
"address_line_3": "z",
"zipcode": "1234",
"city": "xxx",
"state": "yyy"
},
"token": "EV_CHARGER_64AFFC8DDEEC1",
"contact_number": "9666564654664",
"open_time": "00:00:00",
"close_time": "23:59:00",
"total_earnings": "17026.18",
"total_energy": 53469,
"total_sessions_time": 739,
"connectors": [
{
"id": 3,
"name": "Type 1 - J1772",
"icon": "https://storage.powerly.app/connectors/Type 1.png",
"type": "",
"max_power": 0,
"status": "unavailable",
"number": 1
}
],
"amenities": [],
"price_unit": "energy",
"orders_count": 50,
"price": "1362.09",
"price_usd": 10,
"is_external": false,
"is_in_use": false,
"is_reserved": false,
"available": false,
"next_reservation_near_now": null,
"external_details": null,
"reservation_fee": "68.10",
"booked_by_current_user": false,
"used_by_current_user": false,
"earning": "0.00"
},
"insert_date": "2024-09-16 07:33",
"prices": [],
"app_fees": "-953.47",
"elapsed_time": "27.0000"
}
Returns all orders for a specific charge point.
The ID of the charge point.
curl --request GET \
--get "https://api.powerly.app/api/orders/charge-point/5" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[
{
"id": 426,
"charge_point_id": 16,
"charge_point_connector_id": 16,
"charging_session_time": "27.0000",
"charging_session_energy": "1661.0000",
"unit": "minutes",
"requested_quantity": "8",
"feedback_exist": 0,
"status": 1,
"delivery_date": "2024-09-16 07:33:27",
"user_id": 11,
"fleet_id": 64,
"quantity": "6.0000",
"price": "0.00",
"fees": "8.00",
"earning": "953.47",
"unit_price": "2587.98",
"created_at": "2024-09-16T07:33:27.000000Z",
"updated_at": "2025-03-04T13:27:57.000000Z",
"connector_number": 1,
"charge_point": {
"id": 16,
"identifier": "CP:DDEE36",
"category": "EV_CHARGER",
"title": "ocpp_yesy",
"description": "ocpp_yesy",
"latitude": "24.593799037018584",
"longitude": "46.62275091622337",
"listed": false,
...
},
"insert_date": "2024-09-16 07:33",
"prices": [],
"app_fees": "-953.47",
"elapsed_time": "27.0000"
}
]
Endpoints for managing payout methods for the authenticated user.
Retrieves the list of payout methods that the authenticated user has already added.
curl --request GET \
--get "https://api.powerly.app/api/payout-methods" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": [
{
"id": 1,
"logo": "http://localhost:8080/images/payout-methods/stripe.png",
"name": "stripe",
"description": "Instant withdrawals with Stripe, ensuring secure and seamless transactions.",
"details": {
"account_id": "acct_1PnynuR7qdScojsdf56",
"account_status": "Pending"
},
"link":"https://connect.stripe.com/setup/s/acct_1PjiyP08tgBteJD6/IAbfEzjDXCzjsds"
},
...
]
}
Lists the payout methods available for the user's country that have not yet been added. The user must have a country associated with their profile.
curl --request GET \
--get "https://api.powerly.app/api/payout-methods/available" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": [
{
"id": 1,
"logo": "http://localhost:8080/images/payout-methods/stripe.png",
"name": "stripe",
"description": "Instant withdrawals with Stripe, ensuring secure and seamless transactions.",
"details": {
"account_id": "acct_1PnynuR7qdScojsdf56",
"account_status": "Pending"
},
"link":"https://connect.stripe.com/setup/s/acct_1PjiyP08tgBteJD6/IAbfEzjDXCzjsds"
},
...
]
}
Associates a new payout method with the authenticated user using the provided data. Optionally handles file uploads (e.g., ID for bank transfer).
curl --request POST \
"https://api.powerly.app/api/payout-methods/add/nam" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"fullname\": \"John Doe\",
\"userType\": \"individual\",
\"address\": \"123 Main Street, City, Country\",
\"TIN\": \"123-45-6789\",
\"id\": \"0501234567\",
\"email\": \"[email protected]\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
Updates the details of a payout method associated with the authenticated user. Supports file uploads for specific method types (e.g., ID for bank transfer).
curl --request POST \
"https://api.powerly.app/api/payout-methods/update/aut" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"fullname\": \"John Doe\",
\"userType\": \"individual\",
\"address\": \"123 Main Street, City, Country\",
\"TIN\": \"123-45-6789\",
\"id\": \"0501234567\",
\"email\": \"[email protected]\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
Detaches a payout method from the authenticated user.
curl --request DELETE \
"https://api.powerly.app/api/payout-methods/delete/vero" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
the number of items per page
curl --request GET \
--get "https://api.powerly.app/api/payouts?itemsPerPage=13" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 15,
"payout_id": "1",
"payout_method_id": 1,
"user_id": 1,
"account_id": "voluptas",
"amount": "341.67",
"status": "paied",
"response": "Et consectetur illum.",
"created_at": "2024-08-14T17:16:25.000000Z",
"updated_at": "2024-08-14T17:16:25.000000Z"
},
...
],
"meta": {
"per_page": 2,
"total": 15
}
}
}
curl --request POST \
"https://api.powerly.app/api/payouts/request-payout" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payoutMethod\": 2
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
All power centers owned by the current user.
curl --request GET \
--get "https://api.powerly.app/api/charge-points" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[
{
"id": 24,
"title": "test open source API",
"identifier": "PS_67DF25E57A981",
"listed": 0,
"status": "unavailable",
"earning": "0.00",
"rating": "0.00"
},
...
]
All power centers owned by the current user.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/datatable" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 24,
"title": "test open source API",
"identifier": "PS_67DF25E57A981",
"listed": false,
"status": "unavailable",
"earning": "0.00",
"rating": "0.00"
},
...
],
"meta": {
"per_page": 15,
"total": 11
}
}
}
Calculates the CO2 savings based on energy consumed by power centers.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/sustainability" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": 34.612
}
Returns a GeoJSON representation of all owned power centers.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/geojson" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": 24,
"identifier": "PS_67DF25E57A981",
"category": "EV_CHARGER",
"price_unit": "minutes",
"title": "test open source API",
"description": null,
"latitude": "36.64575836483359",
"longitude": "2.9176092880736184",
"address_line_1": "Tassala",
"address_line_2": null,
"address_line_3": null,
"zipcode": null,
"city": null,
"state": null,
"status": "unavailable",
"image": "http://localhost:8080/images/charge-point-1.jpeg",
"contact_number": null,
"open_time": null,
"close_time": null,
"user_id": 1,
"price": null,
"deleted_at": null,
"listed": 0,
"token": "EV_CHARGER_67DF25E57A988",
"session_limit_type": null,
"session_limit_value": 0,
"created_at": "2025-03-22T21:04:37.000000Z",
"updated_at": "2025-03-27T10:13:18.000000Z",
"external_details_id": null,
"identifier_update": 0,
"start_energy_value": 0,
"configured": 0,
"connected": 0,
"busy": 0,
"reserved": 0,
"charge_point_type_id": null,
"charging_site_id": null,
"media": [],
"icon-image": "pin-cp-out-of-service",
"marker_title": "PS_67DF25E57A981\n$0.00",
"earning": "0.00"
},
"geometry": {
"type": "Point",
"coordinates": [
"2.9176092880736184",
"36.64575836483359"
]
}
},
....
]
}
Downloads all power centers owned by the current user in .xlsx format.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/export" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
file.xlsx
The ID of the powercenter.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/10" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 24,
"identifier": "PS_67DF25E57A981",
"category": "EV_CHARGER",
"title": "test open source API",
"description": null,
"latitude": "36.64575836483359",
"longitude": "2.9176092880736184",
"listed": false,
"distance": null,
"type": null,
"status": "unavailable",
"image": "http://localhost:8080/images/charge-point-1.jpeg",
"session_limit_type": null,
"session_limit_value": 0,
"online_status": 0,
"configured": 0,
"rating": "0.00",
"owner_id": 1,
"address": {
"address_line_1": "Tassala",
"address_line_2": null,
"address_line_3": null,
"zipcode": null,
"city": null,
"state": null
},
"token": "EV_CHARGER_67DF25E57A988",
"contact_number": null,
"open_time": null,
"close_time": null,
"total_earnings": "0.00",
"total_energy": 0,
"total_sessions_time": 0,
"connectors": [
{
"id": 3,
"name": "Type 1 - J1772",
"icon": "https://storage.powerly.app/connectors/Type 1.png",
"type": "",
"max_power": 0,
"status": "unavailable",
"number": 1
}
],
"amenities": [],
"price_unit": "minutes",
"orders_count": 0,
"price": "0.00",
"price_usd": 0,
"is_external": false,
"is_in_use": false,
"is_reserved": false,
"available": false,
"next_reservation_near_now": null,
"external_details": null,
"reservation_fee": "68.10",
"booked_by_current_user": false,
"used_by_current_user": false,
"earning": "0.00"
}
Returns detailed analytics about the selected power center.
The ID of the powercenter.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/1/stats" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"today": {
"earnings": "0.00",
"chargingTime": "0.00",
"energyConsumed": "0.00",
"ordersNb": 0
},
"thisWeek": {
"earnings": "0.00",
"chargingTime": "0.00",
"energyConsumed": "0.00",
"ordersNb": 0,
"date": "05-05-2025"
},
"thisMonth": {
"earnings": "0.00",
"chargingTime": "0.00",
"energyConsumed": "0.00",
"ordersNb": 0,
"date": "12-04-2025"
}
}
Returns all orders associated with the selected power center.
The ID of the powercenter.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/10/orders" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[
{
"id": 198,
"charge_point_id": 21,
"charge_point_connector_id": 5,
"charging_session_time": "15.0000",
"charging_session_energy": "1408.0000",
"unit": "minutes",
"requested_quantity": "6",
"feedback_exist": 0,
"status": 1,
"delivery_date": "2024-09-14 20:19:01",
"user_id": 17,
"fleet_id": 58,
"quantity": "8.0000",
"price": "0.00",
"fees": "3.00",
"earning": 7,
"unit_price": "2315.56",
"created_at": "2024-09-14T20:19:01.000000Z",
"updated_at": "2025-03-04T13:27:56.000000Z",
"connector_number": null,
"charge_point": {
"id": 21,
"identifier": "tassala-charger",
"category": "SMART_PLUG",
"title": "Tassala charger",
"description": "Nisi culpa alias esse perferendis iste exercitationem amet sunt. Corporis ipsam tempora reiciendis dolorum. Consectetur a repellendus.s\nPerspiciatis architecto adipisci soluta neque laboriosam incidunt sapiente recusandae enim. Consequatur quibusdam minima placeat doloribus unde illo aut. Consectetur sunt quidem id accusamus voluptatum ipsum.\nOmnis animi sed id ducimus vitae nostrum voluptatibus. Corrupti illum animi architecto. Autem culpa a amet.",
"latitude": "36.630753",
"longitude": "2.945236",
"listed": true,
"distance": null,
"type": null,
"status": "booked",
"image": "http://localhost:8080/images/charge-point-1.jpeg",
"session_limit_type": null,
"session_limit_value": 0,
"online_status": 1,
"configured": 1,
"rating": "0.00",
"owner_id": 1,
"address": {
"address_line_1": "Tessala El Merdja, Algiers, Algeria",
"address_line_2": null,
"address_line_3": null,
"zipcode": "16099",
"city": "Algiers",
"state": null
},
"token": "EV_CHARGER_66A8C86D417A7",
"contact_number": null,
"open_time": null,
"close_time": null,
"total_earnings": "13212.31",
"total_energy": 49629,
"total_sessions_time": 745,
"connectors": [
{
"id": 7,
"name": "CSS - Type 1",
"icon": "https://storage.powerly.app/connector/CCS1.png",
"type": "",
"max_power": 0,
"status": "busy",
"number": null
}
],
"amenities": [],
"price_unit": "minutes",
"orders_count": 24,
"price": "649355.19",
"price_usd": 4767.33,
"is_external": false,
"is_in_use": false,
"is_reserved": false,
"available": true,
"next_reservation_near_now": null,
"external_details": null,
"reservation_fee": "68.10",
"booked_by_current_user": false,
"used_by_current_user": true,
"earning": "0.00"
},
"insert_date": "2024-09-14 20:19:01",
"prices": [],
"app_fees": "-953.47",
"elapsed_time": "15.0000"
},
...
]
Returns a GeoJSON representation of a specific power center.
The ID of the powercenter.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/8/geojson" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": 24,
"identifier": "PS_67DF25E57A981",
"category": "EV_CHARGER",
"price_unit": "minutes",
"title": "test open source API",
"description": null,
"latitude": "36.64575836483359",
"longitude": "2.9176092880736184",
"address_line_1": "Tassala",
"address_line_2": null,
"address_line_3": null,
"zipcode": null,
"city": null,
"state": null,
"status": "unavailable",
"image": "http://localhost:8080/images/charge-point-1.jpeg",
"contact_number": null,
"open_time": null,
"close_time": null,
"user_id": 1,
"price": null,
"deleted_at": null,
"listed": 0,
"token": "EV_CHARGER_67DF25E57A988",
"session_limit_type": null,
"session_limit_value": 0,
"created_at": "2025-03-22T21:04:37.000000Z",
"updated_at": "2025-03-27T10:13:18.000000Z",
"external_details_id": null,
"identifier_update": 0,
"start_energy_value": 0,
"configured": 0,
"connected": 0,
"busy": 0,
"reserved": 0,
"charge_point_type_id": null,
"charging_site_id": null,
"media": [],
"icon-image": "pin-cp-out-of-service",
"marker_title": "PS_67DF25E57A981\n$0.00",
"earning": "0.00"
},
"geometry": {
"type": "Point",
"coordinates": [
"2.9176092880736184",
"36.64575836483359"
]
}
}
]
}
Creates a new power center with the provided attributes.
curl --request POST \
"https://api.powerly.app/api/charge-points" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"veritatis\",
\"identifier\": \"rerum\",
\"category\": \"et\",
\"address_line_1\": \"aut\",
\"address_line_2\": \"nemo\",
\"address_line_3\": \"qui\",
\"zipcode\": \"iure\",
\"city\": \"in\",
\"state\": \"quos\",
\"latitude\": 6.348,
\"longitude\": 29689.05098
}"
{
"price_unit": "minutes",
"user_id": 1,
"title": "veniam",
"identifier": "facilis",
"token": "EV_CHARGER_68220FE7D87CD",
"category": "EV_CHARGER",
"address_line_1": "ut",
"address_line_2": "est",
"address_line_3": "amet",
"zipcode": "rerum",
"city": "facere",
"state": "id",
"latitude": 49.28628,
"longitude": 144776,
"updated_at": "2025-05-12T15:12:39.000000Z",
"created_at": "2025-05-12T15:12:39.000000Z",
"id": 25
}
Updates an existing power center.
The ID of the powercenter.
curl --request PUT \
"https://api.powerly.app/api/charge-points/10" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"FastCharge Station 101\",
\"description\": \"Available 24\\/7 near the main square.\",
\"latitude\": 25.276987,
\"longitude\": 55.296249,
\"address_line_1\": \"123 Main Street\",
\"address_line_2\": \"Suite 4B\",
\"address_line_3\": \"Business Complex\",
\"zipcode\": \"12345\",
\"city\": \"Dubai\",
\"state\": \"Dubai\",
\"contact_number\": \"+971500000000\",
\"open_time\": \"08:00:00\",
\"close_time\": \"22:00:00\",
\"price\": 15.5,
\"price_currency\": \"AED\",
\"category\": \"EV_CHARGER\",
\"amenities\": [
1
],
\"connectors\": [
{
\"id\": 1,
\"number\": 2
},
{
\"id\": 3,
\"number\": 1
}
],
\"price_unit\": \"minutes\",
\"session_limit_value\": 60,
\"session_limit_type\": \"minutes\",
\"listed\": false,
\"type\": 2
}"
{
"price_unit": "minutes",
"user_id": 1,
"title": "veniam",
"identifier": "facilis",
"token": "EV_CHARGER_68220FE7D87CD",
"category": "EV_CHARGER",
"address_line_1": "ut",
"address_line_2": "est",
"address_line_3": "amet",
"zipcode": "rerum",
"city": "facere",
"state": "id",
"latitude": 49.28628,
"longitude": 144776,
"updated_at": "2025-05-12T15:12:39.000000Z",
"created_at": "2025-05-12T15:12:39.000000Z",
"id": 25
}
Deletes the specified power center.
The ID of the powercenter.
curl --request DELETE \
"https://api.powerly.app/api/charge-points/12" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "done",
"msg_arabic": "تمت العمليه بنجاح"
}
The ID of the charge point.
curl --request GET \
--get "https://api.powerly.app/api/charge-points/adipisci/charge-point-prices" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": [
{
"id": 1,
"price": "649310.24",
"startingTime": "10:00",
"endingTime": "13:00"
},
...
]
}
The ID of the charge point.
curl --request POST \
"https://api.powerly.app/api/charge-points/aut/charge-point-prices" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"price\": 258751905.3,
\"startingTime\": \"09:02\",
\"endingTime\": \"09:02\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 5,
"price": "32.15",
"startingTime": "07:57",
"endingTime": "08:57"
}
}
The ID of the charge point price.
curl --request GET \
--get "https://api.powerly.app/api/charge-point-prices/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"price": "649310.24",
"startingTime": "10:00",
"endingTime": "13:00"
}
}
The ID of the charge point price.
curl --request PUT \
"https://api.powerly.app/api/charge-point-prices/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"price\": 258.284235,
\"startingTime\": \"09:02\",
\"endingTime\": \"09:02\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"price": "694.67",
"startingTime": "08:19",
"endingTime": "09:19"
}
}
The ID of the charge point price.
curl --request DELETE \
"https://api.powerly.app/api/charge-point-prices/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
Optional search query to filter groups.
Number of groups per page.
If set to true, includes associated power centers in the response.
curl --request GET \
--get "https://api.powerly.app/api/charge-point-groups/datatable?search=non&itemsPerPage=2&power-centers=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 935,
"name": "Voluptatem qui cum.",
"companyName": null,
"licenseCode": null,
"chargePointsNumber": 0,
"chargePointsIds": [],
"power_centers": []
},
...
],
"meta": {
"per_page": 15,
"total": 1083
}
}
}
@response 500 {"success": 0,"msg": "Unauthenticated.","msg_arabic": "Unauthenticated."}
If set to true, includes associated power centers in the response.
curl --request GET \
--get "https://api.powerly.app/api/charge-point-groups?power-centers=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 935,
"name": "Voluptatem qui cum.",
"companyName": null,
"licenseCode": null,
"chargePointsNumber": 0,
"chargePointsIds": [],
"power_centers": []
},
...
],
"meta": {
"per_page": 15,
"total": 1083
}
}
}
@response 500 {"success": 0,"msg": "Unauthenticated.","msg_arabic": "Unauthenticated."}
curl --request POST \
"https://api.powerly.app/api/charge-point-groups" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"yarbecukxoreskiapbwavywqvbyczkdthbxtdfwekuvu\",
\"companyName\": \"tovcxnsnqshehtmhogstnqsaqzmdzybxpkvipnlhvacfzdskcnoiorplhmzhfpmfzbdluasuuuprlgraecvncadte\",
\"licenseCode\": \"etqdctvjmoqaymopkcdwnxyexlxdrznpxpugxtidcuufyyfllhczbvfnt\",
\"chargePoints\": [
\"quam\"
]
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"name": "Iusto sint enim doloremque.",
"companyName": null,
"licenseCode": null,
"chargePointsNumber": 0,
"chargePointsIds": []
}
}
The ID of the charge point group.
If set to true, includes associated power centers in the response.
curl --request GET \
--get "https://api.powerly.app/api/charge-point-groups/1?power-centers=" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"name": "Iusto sint enim doloremque.",
"companyName": null,
"licenseCode": null,
"chargePointsNumber": 0,
"chargePointsIds": []
}
}
@response 500 {"success": 0,"msg": "Unauthenticated.","msg_arabic": "Unauthenticated."}
The ID of the charge point group.
curl --request PUT \
"https://api.powerly.app/api/charge-point-groups/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ibzkgi\",
\"companyName\": \"rbgwdlnztjnhgxezlsavtwyfakiulrjaorxsxpvxwxkjpdtrwkucwdztbvlxrywyjcrozzrlamexos\",
\"licenseCode\": \"qfcetodiabxhlirzngual\",
\"chargePoints\": [
\"aperiam\"
]
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"name": "Iusto sint enim doloremque.",
"companyName": null,
"licenseCode": null,
"chargePointsNumber": 0,
"chargePointsIds": []
}
}
The ID of the charge point group.
curl --request DELETE \
"https://api.powerly.app/api/charge-point-groups/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
Optional search query to filter sites.
Number of sites per page. Defaults to 15.
If set to true, includes associated power centers in the response.
curl --request GET \
--get "https://api.powerly.app/api/charging-sites/datatable?search=esse&itemsPerPage=19&power-centers=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 164,
"categoryId": null,
"name": "Site 11",
"status": true,
"active": true,
"startDate": null,
"endDate": null,
"integrationCode": null,
"chargePointIds": [
20,
21
],
"address": {
"id": 161,
"latitude": "28.608637026617",
"longitude": "14.589843749997",
"country": {
"id": 195,
"name": "Algeria"
},
"state": "test",
"city": "Douera",
"zipcode": "16049",
"address_line_1": "CITY 100 LOGS DEKAKNA DOUERA",
"address_line_2": null,
"address_line_3": null
},
"power_centers": []
},
...
],
"meta": {
"per_page": 15,
"total": 108
}
}
}
If set to true, includes associated power centers in the response.
curl --request GET \
--get "https://api.powerly.app/api/charging-sites?power-centers=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": [
{
"id": 164,
"categoryId": null,
"name": "Site 11",
"status": true,
"active": true,
"startDate": null,
"endDate": null,
"integrationCode": null,
"chargePointIds": [
20,
21
],
"address": {
"id": 161,
"latitude": "28.608637026617",
"longitude": "14.589843749997",
"country": {
"id": 195,
"name": "Algeria"
},
"state": "test",
"city": "Douera",
"zipcode": "16049",
"address_line_1": "CITY 100 LOGS DEKAKNA DOUERA",
"address_line_2": null,
"address_line_3": null
},
"power_centers": []
},
...
]
}
curl --request POST \
"https://api.powerly.app/api/charging-sites" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"otipmmmbmliixltzvhqiocovcnekwvouoivkyvdmfangodfbqtzivvdgymejvozyslcmmccwifvly\",
\"category\": 12,
\"status\": false,
\"startDate\": \"2013-07-29\",
\"endDate\": \"2109-05-30\",
\"integrationCode\": \"consequuntur\",
\"chargePoints\": [
9
],
\"address\": {
\"country_id\": 10,
\"state\": \"sunt\",
\"city\": \"possimus\",
\"zipcode\": \"gjdql\",
\"address_line_1\": \"ex\",
\"address_line_2\": \"saepe\",
\"latitude\": 49471.7,
\"longitude\": 6723614.1
}
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 159,
"categoryId": 51,
"name": "test",
"status": true,
"active": true,
"startDate": "2024-10-10",
"endDate": "2024-10-11",
"integrationCode": null,
"chargePointIds": [],
"address": {
"id": 161,
"latitude": "28.608637026617",
"longitude": "14.589843749997",
"country": {
"id": 195,
"name": "Algeria"
},
"state": "test",
"city": "Douera",
"zipcode": "16049",
"address_line_1": "CITY 100 LOGS DEKAKNA DOUERA",
"address_line_2": null,
"address_line_3": null
},
"power_centers": []
}
}
The ID of the charging site.
If set to true, includes associated power centers in the response.
curl --request GET \
--get "https://api.powerly.app/api/charging-sites/1?power-centers=" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 159,
"categoryId": 51,
"name": "test",
"status": true,
"active": true,
"startDate": "2024-10-10",
"endDate": "2024-10-11",
"integrationCode": null,
"chargePointIds": [],
"address": {
"id": 161,
"latitude": "28.608637026617",
"longitude": "14.589843749997",
"country": {
"id": 195,
"name": "Algeria"
},
"state": "test",
"city": "Douera",
"zipcode": "16049",
"address_line_1": "CITY 100 LOGS DEKAKNA DOUERA",
"address_line_2": null,
"address_line_3": null
},
"power_centers": []
}
}
The ID of the charging site.
curl --request PUT \
"https://api.powerly.app/api/charging-sites/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"eayv\",
\"category\": 7,
\"status\": false,
\"startDate\": \"2016-10-17\",
\"endDate\": \"2071-01-08\",
\"integrationCode\": \"esse\",
\"chargePoints\": [
6
],
\"address\": {
\"country_id\": 5,
\"state\": \"sit\",
\"city\": \"qui\",
\"zipcode\": \"ykise\",
\"address_line_1\": \"porro\",
\"address_line_2\": \"doloribus\",
\"latitude\": 2496324.963275,
\"longitude\": 553.91522
}
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 159,
"categoryId": 51,
"name": "test",
"status": true,
"active": true,
"startDate": "2024-10-10",
"endDate": "2024-10-11",
"integrationCode": null,
"chargePointIds": [],
"address": {
"id": 161,
"latitude": "28.608637026617",
"longitude": "14.589843749997",
"country": {
"id": 195,
"name": "Algeria"
},
"state": "test",
"city": "Douera",
"zipcode": "16049",
"address_line_1": "CITY 100 LOGS DEKAKNA DOUERA",
"address_line_2": null,
"address_line_3": null
},
"power_centers": []
}
}
The ID of the charging site.
curl --request DELETE \
"https://api.powerly.app/api/charging-sites/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
Optional search query to filter categories.
Number of items per page (-1 for all).
curl --request GET \
--get "https://api.powerly.app/api/workers/datatable?search=ducimus&itemsPerPage=11" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id":34,
"first_name":"service",
"last_name":"test 2",
"name":"service test 2",
"email":"[email protected]",
"rfid":"123131321123",
"expire_at":"2025-03-31",
"cash_on_hands":"0"
},
...
],
"meta": {
"per_page": 15,
"total": 55
}
}
}
The ID of the worker.
curl --request GET \
--get "https://api.powerly.app/api/workers/1/reset-balance" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}
All workers owned by the current user.
Optional search query to filter workers.
curl --request GET \
--get "https://api.powerly.app/api/workers?search=temporibus" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"data": [
{
"id": 33,
"first_name": "service",
"last_name": "test 1",
"name": "service test 1",
"email": "[email protected]",
"rfid": "123131321122",
"expire_at": "2025-03-31",
"cash_on_hands": "0"
},
...
],
"meta": {
"per_page": -1,
"total": 3
}
}
}
curl --request POST \
"https://api.powerly.app/api/workers" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"[email protected]\",
\"rfid\": \"123456789012\",
\"expire_at\": \"2025-12-31\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"first_name": "yasser",
"last_name": "belhimer",
"name": "yasser belhimer",
"email": "[email protected]",
"rfid": null,
"expire_at": "1970-01-01",
"cash_on_hands": null
}
}
The ID of the worker.
curl --request GET \
--get "https://api.powerly.app/api/workers/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"first_name": "yasser",
"last_name": "belhimer",
"name": "yasser belhimer",
"email": "[email protected]",
"rfid": null,
"expire_at": "1970-01-01",
"cash_on_hands": null
}
}
The ID of the worker.
curl --request PUT \
"https://api.powerly.app/api/workers/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"email\": \"[email protected]\",
\"rfid\": \"123456789012\",
\"expire_at\": \"2025-12-31\"
}"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح",
"results": {
"id": 1,
"first_name": "yasser",
"last_name": "belhimer",
"name": "yasser belhimer",
"email": "[email protected]",
"rfid": null,
"expire_at": "1970-01-01",
"cash_on_hands": null
}
}
The ID of the worker.
curl --request DELETE \
"https://api.powerly.app/api/workers/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"msg": "Done!",
"msg_arabic": "تمت العمليه بنجاح"
}