This documentation aims to provide all the information you need to work with our 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.
This API requires two layers of authentication:
API Endpoints for Authentication
Logout: Logs out the authenticated user by deleting their access token.
login
method requires the user to have a verified email before they can log in.login
endpoint to prevent brute force attacks. The limiter is reset after a successful login.The logout
method only works for authenticated users and deletes the current access token.
This endpoint registers a new user with the provided data. The user will receive an email verification link.
curl --request POST \
"https://api.powerly.app/api/v1/auth/register" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"secret\",
\"first_name\": \"John\",
\"last_name\": \"Doe\",
\"latitude\": 37.7749,
\"longitude\": -122.4194,
\"country_id\": 1,
\"vat_id\": \"123456789\",
\"currency\": \"USD\"
}"
This endpoint allows a user to log in by providing their email and password.
curl --request POST \
"https://api.powerly.app/api/v1/auth/login" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"secret\"
}"
Checks if a user with the specified email exists in the system.
curl --request POST \
"https://api.powerly.app/api/v1/auth/email/check" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
{
"success": 1,
"message": "Done!",
"data": {
"email_exists": 1,
"require_verification": 1
}
}
To verify the email, you will need the email used in the registration and code received in this email,
curl --request POST \
"https://api.powerly.app/api/v1/auth/email/verify" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"4023\",
\"email\": \"[email protected]\"
}"
{
"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/v1/auth/resend-verification" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
{
"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
}
}
This endpoint logs out the authenticated user by deleting their current access token.
curl --request POST \
"https://api.powerly.app/api/v1/auth/logout" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Endpoints related to password reset functionality.
curl --request POST \
"https://api.powerly.app/api/v1/auth/password/forgot" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
{
"success": 1,
"message": "Please enter the verification code to continue.",
"data": {
"require_verification": 1,
"verification_token": "aacc04ec-8f5f-4e99-a2d5-539f66426aa4",
"can_resend_in_seconds": 60,
"available_attempts": 3,
"sent_to": ""
}
}
curl --request POST \
"https://api.powerly.app/api/v1/auth/password/reset" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": 1234,
\"email\": \"[email protected]\",
\"password\": \"\\\"NewSecureP@ss1\\\"\",
\"password_confirmation\": \"\\\"NewSecureP@ss1\\\"\"
}"
{
"message": "Done."
}
int|null The ID of the country to fetch offers for. If not provided, the user's country will be used.
curl --request GET \
--get "https://api.powerly.app/api/v1/balance/offers?country_id=1" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"country_id\": 10
}"
{
"data": [
{
"id": 1,
"title_en": "Premium Package",
"title_ar": "الباقة الممتازة",
"title_es": "Paquete Premium",
"price": "13620.94",
"bonus": "0.00",
"vat": "0.00",
"total_price": "13620.94",
"total_balance": "13620.94",
"popular": false,
"active": true
},
{
"id": 2,
"title_en": "Basic Plan",
"title_ar": "الخطة الأساسية",
"title_es": "Plan Básico",
"price": "2587.98",
"bonus": "0.00",
"vat": "0.00",
"total_price": "2587.98",
"total_balance": "2587.98",
"popular": false,
"active": true
}
],
"success": 1,
"message": "Done!"
}
curl --request POST \
"https://api.powerly.app/api/v1/balance/top-up" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"offer_id\": 1,
\"payment_method_id\": \"\\\"pm_1234567890\\\"\"
}"
{
"status": "success",
"message": "refill_balance_success",
"data": {
"new_balance": 1500,
"next_action": {
"type": "redirect",
"url": "https://paymentgateway.com/redirect?session_id=xyz123"
}
}
}
curl --request GET \
--get "https://api.powerly.app/api/v1/countries" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 9
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
This endpoint returns a list of all unique currencies available in the system. The response includes an array of currency codes.
curl --request GET \
--get "https://api.powerly.app/api/v1/countries/currencies" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"message": "Done!",
"data": [
{
"currency_iso": "AED"
},
{
"currency_iso": "AFN"
},
{
"currency_iso": "ALL"
},
{
"currency_iso": "AMD"
},
{
"currency_iso": "ANG"
},
...]
}
APIs for managing user devices
curl --request GET \
--get "https://api.powerly.app/api/v1/device" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": {
"id": 9,
"device_type": 2,
"device_model": "android",
"device_version": null,
"device_language": "fr",
"updated_at": "2025-02-13 21:56:03",
"app_version": "2.1"
},
"success": 1,
"message": "Terminé !"
}
curl --request PUT \
"https://api.powerly.app/api/v1/device" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "Accept-Language: string The preferred response language. Example: \"fr\"" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"device_imei\": \"\\\"123456789012345\\\"\",
\"device_token\": \"\\\"abcdef123456\\\"\",
\"device_type\": 1,
\"device_model\": \"\\\"Samsung Galaxy S21\\\"\",
\"device_version\": \"\\\"Android 12\\\"\",
\"app_version\": \"\\\"1.2.3\\\"\",
\"lang\": \"\\\"fr\\\"\"
}"
{
"data": {
"id": 9,
"device_type": 2,
"device_model": "android",
"device_version": null,
"device_language": "fr",
"updated_at": "2025-02-13 21:56:03",
"app_version": "2.1"
},
"success": 1,
"message": "Terminé !"
}
The status of the orders to filter by.
active
complete
curl --request GET \
--get "https://api.powerly.app/api/v1/orders?status=complete" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 4
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
curl --request POST \
"https://api.powerly.app/api/v1/orders" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quantity\": \"impedit\",
\"power_source_id\": \"ipsum\"
}"
curl --request POST \
"https://api.powerly.app/api/v1/orders/stop" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"power_source_id\": \"est\",
\"order_id\": 14
}"
The ID of the order.
curl --request GET \
--get "https://api.powerly.app/api/v1/orders/doloribus" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 3
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
curl --request GET \
--get "https://api.powerly.app/api/v1/orders/vitae/review" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 2
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
curl --request POST \
"https://api.powerly.app/api/v1/orders/ea/review" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "rating=2"\
--form "content=I had a great experience with the 50kW fast charger at City Mall. It charged my vehicle from 20% to 80% in about 30 minutes."\
--form "media[]=@/tmp/php0E7Jez"
curl --request PUT \
"https://api.powerly.app/api/v1/orders/delectus/review/skip" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request GET \
--get "https://api.powerly.app/api/v1/payment-cards/default" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 7
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
The ID of the default.
curl --request POST \
"https://api.powerly.app/api/v1/payment-cards/default/qui" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request GET \
--get "https://api.powerly.app/api/v1/payment-cards" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 6
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
curl --request POST \
"https://api.powerly.app/api/v1/payment-cards" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"molestias\"
}"
The ID of the payment card.
curl --request GET \
--get "https://api.powerly.app/api/v1/payment-cards/omnis" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 5
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
The ID of the payment card.
curl --request PUT \
"https://api.powerly.app/api/v1/payment-cards/et" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"paymentObject\": [
\"natus\"
]
}"
The ID of the payment card.
curl --request DELETE \
"https://api.powerly.app/api/v1/payment-cards/et" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request GET \
--get "https://api.powerly.app/api/v1/payout-methods" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
curl --request GET \
--get "https://api.powerly.app/api/v1/payout-methods/available" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
curl --request POST \
"https://api.powerly.app/api/v1/payout-methods/add/minus" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"id\": \"magni\",
\"userType\": \"individual\",
\"fullname\": \"YASSER BELHIMER\",
\"address\": \"quod\",
\"TIN\": \"HFIIBEB1SDF5644\"
}"
curl --request POST \
"https://api.powerly.app/api/v1/payout-methods/update/aut" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"id\": \"voluptate\",
\"userType\": \"individual\",
\"fullname\": \"YASSER BELHIMER\",
\"address\": \"modi\",
\"TIN\": \"HFIIBEB1SDF5644\"
}"
curl --request DELETE \
"https://api.powerly.app/api/v1/payout-methods/delete/voluptatibus" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
the number of items per page
curl --request GET \
--get "https://api.powerly.app/api/v1/payouts?itemsPerPage=7" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
curl --request POST \
"https://api.powerly.app/api/v1/payouts/request-payout" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payoutMethod\": 10
}"
This endpoint returns a collection of media resources linked to the given station. It provides images, videos, or other media types that might be useful for users interacting with the charging station.
The station for which media files are being retrieved.
curl --request GET \
--get "https://api.powerly.app/api/v1/stations/9/media" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 1
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
curl --request GET \
--get "https://api.powerly.app/api/v1/stations" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"search\": \"bqwxyryjhbiboydidxefnmemlbgumzontckhzcyvlzdnvcegdzawwfylmz\",
\"latitude\": -89,
\"longitude\": -179
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 10
x-ratelimit-remaining
: 0
vary
: Origin
{
"success": 0,
"message": "The API key is invalid or missing."
}
The ID of the station.
curl --request GET \
--get "https://api.powerly.app/api/v1/stations/laborum" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
curl --request GET \
--get "https://api.powerly.app/api/v1/stations/token/cupiditate" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
curl --request GET \
--get "https://api.powerly.app/api/v1/stations/vel/reviews" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
curl --request GET \
--get "https://api.powerly.app/api/v1/reviews/options" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request GET \
--get "https://api.powerly.app/api/v1/reviews" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
The ID of the review.
curl --request GET \
--get "https://api.powerly.app/api/v1/reviews/possimus" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"success": 0,
"message": "Too many requests. Please try again later."
}
API Endpoints for User Management
Key features include:
Show Current User Info
Retrieve the profile details of the currently authenticated user.
curl --request GET \
--get "https://api.powerly.app/api/v1/users/me" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"latitude": 40.7128,
"longitude": -74.006
}
curl --request PUT \
"https://api.powerly.app/api/v1/users/me" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"G$;X1[I[`\\\"iYw\",
\"first_name\": \"qdgcvufmjrzkfke\",
\"last_name\": \"hszynbkfaddujqcezdesetfmb\",
\"latitude\": -89,
\"longitude\": -180,
\"vat_id\": \"hy\",
\"currency\": \"aut\",
\"country_id\": 9
}"
Deletes the currently authenticated user's account.
curl --request DELETE \
"https://api.powerly.app/api/v1/users/me" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[Empty response]
This endpoint retrieves a list of vehicle makes available in the system. Optionally, you can filter the results by the owner of the makes.
optional If true, filters the makes by those added by the current user.
curl --request GET \
--get "https://api.powerly.app/api/v1/vehicles/makes?owner=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 2,
"code": "TSL",
"name": "Tesla",
"logo": "http:\/\/localhost:8080\/storage\/https:\/\/www.carlogos.org\/car-logos\/tesla-logo-2007-full-640.png",
"added_by": null
},
...
],
"success": 1,
"message": "Done!"
}
This endpoint retrieves a list of vehicle models associated with a particular vehicle make. Optionally, you can filter the results by the owner of the models.
optional The ID of the vehicle make to filter models.
optional If true, filters the models by those added by the current user.
curl --request GET \
--get "https://api.powerly.app/api/v1/vehicles/models/1?owner=1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 2,
"code": "Model X",
"name": "Model X 100D",
"make": {
"name": "Tesla",
"id": 2
},
"added_by": null
},
...
],
"success": 1,
"message": "Done!"
}
This endpoint retrieves a list of charging connectors available in the system.
curl --request GET \
--get "https://api.powerly.app/api/v1/vehicles/connectors" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 3,
"name": "Type 1 - J1772",
"icon": "http:\/\/gasablev4.loc\/connectors\/Type 1.png",
"type": "",
"max_power": 0
},
...
],
"success": 1,
"message": "Done!"
}
This endpoint retrieves a list of all vehicles associated with the currently authenticated user.
curl --request GET \
--get "https://api.powerly.app/api/v1/vehicles" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 61,
"title": "Tesla Model SA",
"make": {},
"model": {},
"year": 2022,
"version": "V1",
"color": "Red",
"license_plate": "ABC-1234",
"fuel_type": "Electric",
"charging_connector": {},
"active": 1,
"owner": {},
"detail": {}
}
],
"success": 1,
"message": "Done!"
}
This endpoint allows users to add a new vehicle to their account. The request must include details about the vehicle, such as model, year, and other optional details like color and license plate.
curl --request POST \
"https://api.powerly.app/api/v1/vehicles" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Tesla Model S\",
\"vehicle_model_id\": 1,
\"year\": 2020,
\"version\": \"Long Range\",
\"color\": \"Red\",
\"license_plate\": \"XYZ 123\",
\"fuel_type\": \"Electric\",
\"charging_connector_id\": 1,
\"active\": 1,
\"vehicle_details\": {
\"battery_capacity\": 75,
\"charging_speed\": 150,
\"safety_rating\": 5,
\"mileage\": 2,
\"fuel_efficiency\": 11
}
}"
{
"data": {
"id": 61,
"title": "Tesla Model SA",
"make": {},
"model": {},
"year": 2022,
"version": "V1",
"color": "Red",
"license_plate": "ABC-1234",
"fuel_type": "Electric",
"charging_connector": {},
"active": 1,
"owner": {},
"detail": {}
},
"success": 1,
"message": "Done!"
}
This endpoint retrieves the details of a specific vehicle owned by the currently authenticated user.
The ID of the vehicle.
The ID of the vehicle.
curl --request GET \
--get "https://api.powerly.app/api/v1/vehicles/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": {
"id": 61,
"title": "Tesla Model SA",
"make": {},
"model": {},
"year": 2022,
"version": "V1",
"color": "Red",
"license_plate": "ABC-1234",
"fuel_type": "Electric",
"charging_connector": {},
"active": 1,
"owner": {},
"detail": {}
},
"success": 1,
"message": "Done!"
}
This endpoint allows users to update the details of an existing vehicle.
The ID of the vehicle.
The ID of the vehicle.
curl --request PUT \
"https://api.powerly.app/api/v1/vehicles/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Tesla Model S\",
\"vehicle_model_id\": 1,
\"year\": 2020,
\"version\": \"Long Range\",
\"color\": \"Red\",
\"license_plate\": \"XYZ 123\",
\"fuel_type\": \"Electric\",
\"charging_connector_id\": 1,
\"active\": 1,
\"vehicle_details\": {
\"battery_capacity\": 75,
\"charging_speed\": 150,
\"safety_rating\": 5,
\"mileage\": 5,
\"fuel_efficiency\": 14
}
}"
{
"data": {
"id": 61,
"title": "Tesla Model SA",
"make": {},
"model": {},
"year": 2022,
"version": "V1",
"color": "Red",
"license_plate": "ABC-1234",
"fuel_type": "Electric",
"charging_connector": {},
"active": 1,
"owner": {},
"detail": {}
},
"success": 1,
"message": "Done!"
}
This endpoint deletes the vehicle from the system. Only the owner of the vehicle can delete it.
The ID of the vehicle.
The ID of the vehicle.
curl --request DELETE \
"https://api.powerly.app/api/v1/vehicles/1" \
--header "Authorization: Bearer {YOUR_BEARER_TOKEN}" \
--header "API-KEY: 140|sVh0Lr2iANbwsQBXo8zT8wux0QN8LQVLDmOzvhHp1dab78b8" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"success": 1,
"message": "Done!"
}