Skip to content

Exolink API (1.0.0)

Download OpenAPI description
Overview
Exolink Support
Languages
Servers
Mock server
https://guides.exolink.com/_mock/apis/exolink_api
https://api.exolink.cloud

Public

Public endpoints

Operations

Auth

Authentication and authorization endpoints

Operations

User

User management endpoints

Operations

Get User

Request

Retrieve user information

Security
bearerToken
Path
userIdstringrequired

User ID

curl -i -X GET \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

User information

Bodyapplication/json
userIdstring

Unique identifier for the user (UUID)

usernamestring

User's email address

emailstring

User's email address

givenNamestring

User's first name

familyNamestring

User's last name

mfaboolean

Whether multi-factor authentication is enabled

permsobject

User permissions per tenant (tenant domain prefix -> role mapping)

createdAtstring(date-time)

When the user account was created

updatedAtstring(date-time)

When the user account was last updated

Response
application/json
{ "userId": "string", "username": "string", "email": "string", "givenName": "string", "familyName": "string", "mfa": true, "perms": { "property1": "string", "property2": "string" }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Update User

Request

Update user profile information

Security
bearerToken
Path
userIdstringrequired

User ID

Bodyapplication/jsonrequired
givenNamestring

User's first name

familyNamestring

User's last name

emailstring(email)

User's email address

oldPasswordstring(password)

Current password (required for password change)

newPasswordstring(password)

New password

mfaboolean

Enable or disable multi-factor authentication

passwordstring(password)

Password for MFA changes

curl -i -X PUT \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "givenName": "string",
    "familyName": "string",
    "email": "user@example.com",
    "oldPassword": "pa$$word",
    "newPassword": "pa$$word",
    "mfa": true,
    "password": "pa$$word"
  }'

Responses

User updated successfully

Delete User

Request

Delete user account

Security
bearerToken
Path
userIdstringrequired

User ID

Bodyapplication/jsonrequired
passwordstringrequired

User password for confirmation

curl -i -X DELETE \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "password": "string"
  }'

Responses

User deleted successfully

Logout User

Request

Logout user and invalidate tokens

Security
bearerToken
Path
userIdstringrequired
curl -i -X GET \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}/logout' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Logout successful

Confirm MFA Setup

Request

Confirm multi-factor authentication setup

Security
bearerToken
Path
userIdstringrequired
Bodyapplication/jsonrequired
codestringrequired

MFA verification code

curl -i -X POST \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}/confirm' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "code": "string"
  }'

Responses

MFA confirmed successfully

Get User Settings

Request

Retrieve user settings and preferences

Security
bearerToken
Path
userIdstringrequired
curl -i -X GET \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}/settings' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

User settings

Bodyapplication/json
languagestring

Preferred language code (e.g., en, de)

Example: "en"
regionstring

Preferred region code

Example: "US"
defaultTenantstring

Default tenant domain prefix

defaultobject

Default settings object

Response
application/json
{ "language": "en", "region": "US", "defaultTenant": "string", "default": { "tenant": "string" } }

Update User Settings

Request

Update user settings and preferences

Security
bearerToken
Path
userIdstringrequired
Bodyapplication/jsonrequired
languagestring

Preferred language code

regionstring

Preferred region code

defaultTenantstring

Default tenant domain prefix

curl -i -X PUT \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}/settings' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "language": "string",
    "region": "string",
    "defaultTenant": "string"
  }'

Responses

Settings updated successfully

Get User Tenants

Request

List all tenants the user has access to

Security
bearerToken
Path
userIdstringrequired
curl -i -X GET \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}/tenant' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

List of user tenants

Bodyapplication/jsonArray [
idinteger

Tenant ID

namestring

Tenant name

domainPrefixstring

Tenant domain prefix

rolestring

User's role in this tenant

Enum"admin""user""viewer"
]
Response
application/json
[ { "id": 0, "name": "string", "domainPrefix": "string", "role": "admin" } ]

Create Tenant

Request

Create a new tenant for the user

Security
bearerToken
Path
userIdstringrequired
Bodyapplication/jsonrequired
passwordstringrequired

User password for confirmation

curl -i -X POST \
  'https://guides.exolink.com/_mock/apis/exolink_api/user/{userId}/tenant' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "password": "string"
  }'

Responses

Tenant created successfully

Bodyapplication/json
idinteger

Unique identifier for the tenant

Example: 1
namestring

Tenant display name

Example: "My Company"
domainPrefixstring

Unique domain prefix for the tenant (used in URLs and subdomains)

Example: "abc123"
stripeCustomerIdstring

Stripe customer ID for billing

connectUrlstring

WebSocket connection URL for IoT/OCPP

Example: "wss://abc123.broker.exolink.cloud/"
customDomainstring

Custom domain WebSocket URL (if configured)

Example: "wss://chargers.company.com/"
createdAtstring(date-time)

When the tenant was created

updatedAtstring(date-time)

When the tenant was last updated

deletedAtstring(date-time)

When the tenant was deleted (null if active)

Response
application/json
{ "id": 1, "name": "My Company", "domainPrefix": "abc123", "stripeCustomerId": "string", "connectUrl": "wss://abc123.broker.exolink.cloud/", "customDomain": "wss://chargers.company.com/", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z" }

Product

Product and pricing endpoints

Operations

Static

Static configuration endpoints

Tenant

Tenant management endpoints

Operations

CPMS

CPMS management endpoints

Operations

Charger

Charger management endpoints

Operations

Lab

Lab management endpoints

Operations

Logs

Log endpoints

Operations

Domain

Custom Domain endpoints

Operations