Skip to navigation

Troubleshooting

Common errors, what causes them, and how to fix them.
SymptomCauseFix
401 Missing bearer tokenNo token was sent, or it is not exported in the shell that runs your code.Check echo $EVCLOUD_TOKEN.
MCP client never opens the browser to sign inThe API host has no MCP_OAUTH_ISSUER or MCP_PUBLIC_URL, so /mcp names no sign-in server.Set both on the deployment, or send an SDK token in the Authorization header. See MCP server.
401 invalid tokenThe token is malformed, expired, signed with another key, or has no expiry.Use a valid SDK token that expires, or sign in with evcloud-cli auth login. See Authentication.
403 admin role requiredThe operation needs an organization admin.Use a token from an admin.
404 for an id you know existsThe id belongs to another organization.Use a token from the organization that owns it.
409 when you create a location or EVSEAn object with that uid already exists, possibly in another location. The message names the owner.Use a unique uid.
409 “charge point ‘X’ is offline” on a CPO command (reboot, reset, remote start or stop, unlock, change availability)The charge point has never connected to the OCPP gateway.Connect the charger, then send the command again.
422The request does not match the schema. The response lists each invalid field.Fix the fields named in detail.
429Too many requests per minute for your organization (eMSP routes).Wait for the number of seconds in Retry-After.
502 ”… gateway unreachable”EV Cloud could not reach the gateway behind the route.Retry later. If it persists, the gateway is down or EV Cloud points at the wrong gateway URL.
502 with a gateway messageThe gateway behind the API failed. The message reads <gateway> error (<status>): <detail>, with credentials masked.Read the detail. Retry later if it points to a temporary failure.
SDK error “relative URL without a base”, or a missing base_urlThe client was created without your EV Cloud host.Pass environment (TypeScript), base_url (Python) or --base-url (CLI).

Still stuck?

  • Check that the API is up: GET https://api.ev-cloud.ai/health.
  • Open an issue with the request time, the operation and the response body. Never send your token.