Register an installer account
POST /api/v1/installer/signup
Creates a new installer account immediately, without requiring email confirmation. Use signup-with-confirmation if you want to enforce email verification before the account becomes active.
string
required
Installer’s email address. Used as the login identifier.
string
required
Must be at least 10 characters, containing at least one uppercase letter, one lowercase letter, and one digit.
string
required
Installer’s given name.
string
required
Installer’s family name.
string
required
Name of the installer’s employer or contracting company.
201 Created
Register with email confirmation
POST /api/v1/installer/signup-with-confirmation
Same as signup, but the account is created in a pending_verification state. Dynamo CSMS sends a confirmation email; the installer must click the link before they can log in.
Accepts the same body as POST /api/v1/installer/signup.
201 Created
Log in
POST /api/v1/installer/login
Authenticates an installer and returns a JWT access token. Include this token as Authorization: Bearer <access_token> in all subsequent installer API calls.
string
required
The installer’s registered email address.
string
required
The installer’s password.
200 OK
string
JWT token to use in the
Authorization: Bearer header.string
Always
"Bearer".integer
Token lifetime in seconds (default 3600 — 1 hour).
string
The authenticated installer’s ID.
Log out
POST /api/v1/installer/logout
Invalidates the current access token server-side. After logging out, the token will be rejected on all subsequent requests.
204 No Content
Request password reset
POST /api/v1/installer/forgot-password
Sends a password reset email to the specified address if an account exists. The response is always 200 OK regardless of whether the email is registered, to prevent account enumeration.
string
required
The email address associated with the installer account.
200 OK
Reset password
POST /api/v1/installer/reset-password
Completes a password reset using the token from the email link.
string
required
The reset token extracted from the password reset email link.
string
required
The new password. Must meet the same strength requirements as signup.
200 OK
Get profile
GET /api/v1/installer/profile
Returns the authenticated installer’s profile information.
200 OK
Update profile
PUT /api/v1/installer/profile
Updates the authenticated installer’s profile. All fields are optional — only include the ones you want to change.
string
Updated given name.
string
Updated family name.
string
Updated company name.
string
Contact phone number in E.164 format (e.g.
"+1-555-0100").200 OK — returns the full updated profile object (same schema as GET profile).
Get verification status
GET /api/v1/installer/verification-status
Returns the current identity verification state for the installer account.
200 OK
boolean
true when identity verification has been approved.string
One of
not_submitted, under_review, approved, rejected.string | null
Human-readable reason if status is
rejected, otherwise null.Submit identity verification
POST /api/v1/installer/verify-identity
Submits identity documents for review. Verification is required before an installer can commission charge points in production.
string
required
Type of identity document. One of:
passport, drivers_license, national_id.string
required
The document’s identification number.
string
required
Document expiry date in
YYYY-MM-DD format.string
required
URL of an uploaded selfie image for liveness check. Upload the image to your storage first and provide the URL.
string
required
URL of the front-of-document image.
string
URL of the back-of-document image. Required for
drivers_license and national_id.202 Accepted
Accept terms of service
POST /api/v1/installer/accept-terms
Records that the installer has accepted the current Dynamo CSMS Terms of Service. This must be called before the installer can register charge points.
string
required
The version string of the terms being accepted (e.g.
"2024-01"). You can find the current version in your Dynamo CSMS dashboard.200 OK