Robot Jobs API
Manage autonomous robot charging jobs and task assignments.
Overview
The Robot Jobs API enables you to create, track, and manage jobs for autonomous charging robots. When a charging job is created, the robot locates the target EVSE, initiates an OCPI session with the CPO, and monitors the session until completion.
Base URL: https://api.rollyy.com/v1/robot-jobs
Authentication
All endpoints require API key authentication.
curl -H "X-API-Key: your_api_key_here" \
https://api.rollyy.com/v1/robot-jobs
Endpoints
Create Robot Job
Create a new charging job for a robot.
Endpoint: POST /v1/robot-jobs
Request Body:
{
"robot_id": "robot-001",
"job_type": "charging",
"place_id": "place-123",
"vehicle_id": "vehicle-456"
}
Parameters:
robot_id(string, required): Robot identifierjob_type(string, required): Job type (charging,delivery,patrol)place_id(string, optional): Location identifiervehicle_id(string, optional): Target vehicle identifier
Response:
{
"rollyy_id": "550e8400-e29b-41d4-a716-446655440000",
"robot_id": "robot-001",
"job_type": "charging",
"place_id": "place-123",
"vehicle_id": "vehicle-456",
"status": "queued",
"created_at": "2026-02-07T12:00:00Z"
}
Get Robot Job
Retrieve details of a specific robot job, including the linked charging session.
Endpoint: GET /v1/robot-jobs/{job_id}
Response:
{
"rollyy_id": "550e8400-e29b-41d4-a716-446655440000",
"robot_id": "robot-001",
"job_type": "charging",
"status": "charging",
"charging_session_id": "770e8400-e29b-41d4-a716-446655440002",
"created_at": "2026-02-07T12:00:00Z",
"completed_at": null
}
List Robot Jobs
Endpoint: GET /v1/robot-jobs
Query Parameters:
robot_id(string, optional): Filter by robot IDstatus(string, optional): Filter by status
Example:
curl -H "X-API-Key: your_api_key" \
"https://api.rollyy.com/v1/robot-jobs?status=charging"
Get charging session for a job
Returns the live charging session linked to a robot job.
Endpoint: GET /ocpi/2.2.1/sessions/job/{job_id}
Response:
{
"session_id": "770e8400-e29b-41d4-a716-446655440002",
"status": "active",
"energy_kwh": 12.5,
"cost": 4.38,
"currency": "EUR",
"duration_minutes": 22,
"start_time": "2026-02-07T12:05:00Z",
"end_time": null,
"robot_job_status": "charging"
}
Job Lifecycle
When a charging job is created, the following happens automatically:
Job created (queued)
↓
Robot dispatched to EVSE
↓
POST /ocpi/2.2.1/commands/START_SESSION → CPO
↓
Job status: charging | Session status: pending → active
↓
CPO pushes session updates (energy, cost)
↓
POST /ocpi/2.2.1/commands/STOP_SESSION → CPO
↓
CPO pushes CDR (authoritative billing record)
↓
Payment triggered automatically
↓
Job status: completed | Session status: completed
Job Status
| Status | Meaning |
|---|---|
queued | Job created, robot not yet dispatched |
in_progress | Robot en route to EVSE |
charging | OCPI session active |
completed | Session finished, CDR received |
failed | Error — CPO rejected or robot issue |
Related
- OCPI — Protocol used to start/stop sessions
- Charging Sessions — Session monitoring and control
- Payments API — Automatic payment on CDR receipt