Download OpenAPI specification:
The Rider API provides mobile application access to Urban Sharing mobility services. The API enables rider-facing functionality including trip management, vehicle discovery, reservations, and real-time notifications.
| Date | Version | Notes |
|---|---|---|
| Wed Feb 11 2026 | 1.0.0 | Initial release |
Get all areas with their configurations and schedules.
| systemId required | string |
| types | Array of strings Items Enum: "illegal_docking" "speed_limit" "no_entry" Example: |
{- "data": [
- {
- "id": 1,
- "createdAt": "string",
- "updatedAt": "string",
- "geometry": {
- "coordinates": [
- "string"
], - "type": "Polygon"
}, - "description": "string",
- "fillColour": "#ff00aa",
- "strokeColour": "#ff00aa",
- "configurations": {
- "illegalDocking": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "id": 1,
- "graceSeconds": 0,
- "price": 0,
- "exceptDockGroups": true,
- "replacesFreeFloatingDockingFee": true,
- "schedules": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": 0,
- "startDate": "string",
- "endDate": "string"
}
]
}
], - "speedLimit": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "id": 1,
- "speed": 25,
- "unit": "km/h",
- "schedules": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": 0,
- "startDate": "string",
- "endDate": "string"
}
]
}
], - "noEntry": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "id": 1,
- "schedules": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": 0,
- "startDate": "string",
- "endDate": "string"
}
]
}
]
}
}
]
}Returns CRM configuration for the authenticated user including provider type, app ID, and computed user hash for identity verification.
| systemId required | string |
| user-agent required | string |
{- "provider": "intercom",
- "appId": "abc123xyz",
- "token": "a1b2c3d4e5f6..."
}Return all dock groups with availability information.
| systemId required | string |
| superpowers | boolean Whether this request is on behalf of a user with superpowers, which may return more information than for a general public user |
{- "data": [
- {
- "id": 1,
- "createdAt": "string",
- "updatedAt": "string",
- "type": "virtual",
- "state": "active",
- "name": "58",
- "title": "Railway Station North",
- "subtitle": "Next to the big clock tower",
- "address": "123 Railway St, Cityville",
- "availabilityInfo": {
- "totalDocks": 0,
- "virtualDocks": 0,
- "availableVirtualDocks": 0,
- "physicalDocks": 0,
- "availablePhysicalDocks": 0,
- "availableDocks": 0,
- "unavailableDocks": 0,
- "availableVehicles": 0,
- "unavailableVehicles": 0,
- "availableVehicleCategories": [
- {
- "category": "string",
- "count": 0
}
], - "unavailableVehicleCategories": [
- {
- "category": "string",
- "count": 0
}
], - "brokenDocks": 0,
- "brokenVehicles": 0,
- "jammedVehicles": 0,
- "damagedVehicles": 0,
- "docksWithVehicles": 0,
- "virtuallyDockedVehicles": 0,
- "virtualOverflowAllowed": true
}, - "geometry": {
- "center": {
- "coordinates": [
- 51.3434,
- 11.3423
], - "type": "Point"
}, - "elevation": 14,
- "geofenceLock": {
- "coordinates": [
- "string"
], - "type": "Polygon"
}, - "geofenceRequest": {
- "coordinates": [
- "string"
], - "type": "Polygon"
}
}
}
]
}Returns vehicle data based on the the Dock Group ID.
| systemId required | string |
| dockGroupId required | number |
{- "data": [
- {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": {
- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}
}
]
}Return one dock group with availability information, if it matches the same visibility rules as the list endpoint.
| systemId required | string |
| dockGroupId required | number |
| superpowers | boolean Whether this request is on behalf of a user with superpowers, which may return more information than for a general public user |
{- "id": 1,
- "createdAt": "string",
- "updatedAt": "string",
- "type": "virtual",
- "state": "active",
- "name": "58",
- "title": "Railway Station North",
- "subtitle": "Next to the big clock tower",
- "address": "123 Railway St, Cityville",
- "availabilityInfo": {
- "totalDocks": 0,
- "virtualDocks": 0,
- "availableVirtualDocks": 0,
- "physicalDocks": 0,
- "availablePhysicalDocks": 0,
- "availableDocks": 0,
- "unavailableDocks": 0,
- "availableVehicles": 0,
- "unavailableVehicles": 0,
- "availableVehicleCategories": [
- {
- "category": "string",
- "count": 0
}
], - "unavailableVehicleCategories": [
- {
- "category": "string",
- "count": 0
}
], - "brokenDocks": 0,
- "brokenVehicles": 0,
- "jammedVehicles": 0,
- "damagedVehicles": 0,
- "docksWithVehicles": 0,
- "virtuallyDockedVehicles": 0,
- "virtualOverflowAllowed": true
}, - "geometry": {
- "center": {
- "coordinates": [
- 51.3434,
- 11.3423
], - "type": "Point"
}, - "elevation": 14,
- "geofenceLock": {
- "coordinates": [
- "string"
], - "type": "Polygon"
}, - "geofenceRequest": {
- "coordinates": [
- "string"
], - "type": "Polygon"
}
}
}Starts a dock group trip.
| systemId required | string |
| dockGroupId required | number |
object User position | |||||||||||
| |||||||||||
| vehicleCategory required | string Enum: "bike" "ebike" "scooter" "ebike_with_childseat" The type of vehicle required for the trip. | ||||||||||
{- "userPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "accuracyRadiusMeters": 12
}, - "vehicleCategory": "bike"
}{- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}Return all vehicles with detailed information.
| systemId required | string |
{- "data": [
- {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": {
- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}
}
]
}Returns vehicle data based on its QR code.
| systemId required | string |
| qrCode required | string |
{- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": {
- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}
}Returns vehicle data based on the its ID.
| systemId required | string |
| id required | string |
{- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": {
- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}
}Starts a vehicle trip.
| systemId required | string |
| vehicleId required | number |
object User position | |||||||||||
| |||||||||||
{- "userPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "accuracyRadiusMeters": 12
}
}{- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}Reserves a specific vehicle
| systemId required | string |
| vehicleId required | number |
| productId | number The optional ID of the product being used for the reservation. If the product ID is valid, product validations will be performed before starting the reservation. e.g. valid product, penalty points etc. At the end of the reservation/trip, the product ID will be used to calculate the price and a summary will be sent to the users/invoices webhook. If no product ID is provided, it is the responsibility of the caller to manage pricing and penalties. |
{- "productId": 1
}{- "id": 2,
- "vehicleId": 2,
- "dockGroupId": 2,
- "userId": "435432",
- "clientId": "Client12345",
- "createdAt": "string",
- "updatedAt": "string",
- "expiresAt": "string",
- "completedAt": "string",
- "cancelledAt": "string"
}Creates a damage report for a vehicle.
| systemId required | string |
| vehicleId required | number |
| damageTypeIds required | Array of numbers List of IDs that correspond to the damage types being reported |
| comment | string An optional comment related to the damage |
{- "damageTypeIds": [
- 1,
- 2,
- 3,
- 4,
- 5
], - "comment": "The rear wheel is broken"
}{- "code": "ERR_INVALID_DAMAGE_REPORT",
- "message": "Invalid damage report data provided"
}Returns a trip based on ID
| systemId required | string |
| tripId required | number |
{- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}Updates a trip.
| systemId required | string |
| tripId required | number |
| update required | string Enum: "pause" "resume" "cancel" "end" Set a new trip state. Note that not all states are supported by all vehicle types. | ||||||||||
object User position | |||||||||||
| |||||||||||
| stateTransitionReason | string Enum: "cancelled_by_administrator" "time_limit_exceeded" "vehicle_communication_timeout" "station_communication_timeout" "user_interaction_timeout" "vehicle_taken_by_administrator" "vehicle_moved_to_operation_location" "vehicle_decommissioned" "illegal_parking" The reason why the state transistioned to the current state. | ||||||||||
| stateTransitionComment | string Text describing the reason why the transition occurred | ||||||||||
{- "update": "end",
- "userPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "accuracyRadiusMeters": 12
}, - "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string"
}{- "code": "invalid_location",
- "message": "An error occured"
}{- "data": [
- {
- "id": 1,
- "createdAt": "string",
- "updatedAt": "string",
- "name": "Premium",
- "enabled": true,
- "price": 10.99,
- "durationMethod": "absolute",
- "durationMins": 60,
- "vatRate": 0.21,
- "purchasableFrom": "string",
- "purchasableTo": "string",
- "validFrom": "string",
- "validTo": "string",
- "purchasable": true,
- "sortIndex": 1,
- "freeMinutesPerDay": 60,
- "freeFloatingDockingFeeAmount": 1,
- "priceMatrices": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "vehicleCategory": "bike",
- "type": "trip",
- "priceMatrix": {
- "createdAt": "string",
- "updatedAt": "string",
- "title": "Standard Pricing",
- "lastStepInfinite": false,
- "penalty": {
- "points": 2,
- "penaltyAfterMinutes": 60
}, - "priceMatrixItems": [
- {
- "createdAt": "string",
- "updatedAt": "string",
- "type": "period",
- "price": 42.42,
- "quantity": 10,
- "minutes": 60,
- "index": 1
}
]
}
}
], - "nameTranslations": {
- "en": "Day pass",
- "de": "Tageskarte"
}, - "slugTranslations": {
- "en": "day-pass",
- "de": "tageskarte"
}, - "descriptionTextTranslations": {
- "en": "Day pass",
- "de": "Tageskarte"
}, - "descriptionBeforePurchasableTranslations": {
- "en": "Day pass",
- "de": "Tageskarte"
}
}
]
}Returns a reservation based on the id
| systemId required | string |
| reservationId required | string |
{- "id": 2,
- "vehicleId": 2,
- "dockGroupId": 2,
- "userId": "435432",
- "clientId": "Client12345",
- "createdAt": "string",
- "updatedAt": "string",
- "expiresAt": "string",
- "completedAt": "string",
- "cancelledAt": "string"
}Cancels an existing vehicle reservation
| systemId required | string |
| reservationId required | string |
{- "id": 2,
- "vehicleId": 2,
- "dockGroupId": 2,
- "userId": "435432",
- "clientId": "Client12345",
- "createdAt": "string",
- "updatedAt": "string",
- "expiresAt": "string",
- "completedAt": "string",
- "cancelledAt": "string"
}Returns all historical and current trips of a user
| systemId required | string |
| states | Array of strings Items Enum: "starting" "in_progress" "on_hold" "completed" "cancelled" Example: |
| from required | string The start date to filter trips from |
| to | string The end date to filter trips until |
{- "data": [
- {
- "type": "MAAS_TRIP_STATE_UPDATE",
- "id": 12345,
- "clientId": "Client12345",
- "userId": "User12345",
- "state": "cancelled",
- "stateTransitionReason": "cancelled_by_administrator",
- "stateTransitionComment": "string",
- "startedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "vehicle": {
- "id": 12345,
- "name": "Bike 1",
- "number": "42",
- "vehicleCategory": "ebike",
- "model": {
- "id": 101,
- "name": "Model X1",
- "type": "bike",
- "manufacturer": "Urban Sharing",
- "brand": "UrbanWheels",
- "model": "X1",
- "category": "ebike",
- "lockVisual": "ring_lock"
}, - "status": "available",
- "state": "docked",
- "unavailabilityReasons": [
- "dock_broken",
- "vehicle_broken"
], - "batteryCharge": 70,
- "batteryRange": 4000,
- "location": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "qrCode": "string",
- "isReserved": true,
- "trip": { }
}, - "endedAtLocation": {
- "timestamp": "string",
- "geoPosition": {
- "geometry": {
- "type": "Point",
- "coordinates": [
- 10.752245,
- 59.913868
]
}, - "streetAddress": "Karl Johans gate 1"
}, - "dock": {
- "dockGroupId": 2232,
- "dockGroupName": "Station 1",
- "dockNumber": 21
}
}, - "totalDistance": 12.55,
- "updatedAt": "string"
}
]
}Returns all active vehicle reservations for the user (excludes completed and cancelled)
| systemId required | string |
{- "data": [
- {
- "id": 2,
- "vehicleId": 2,
- "dockGroupId": 2,
- "clientId": "Client12345",
- "createdAt": "string",
- "updatedAt": "string",
- "expiresAt": "string",
- "completedAt": "string",
- "cancelledAt": "string"
}
]
}Returns aggregated statistics for a user including distance, trips, CO2 saved, calories burned, and spending.
| systemId required | string |
| from required | string The start date to filter from |
| to | string The end date to filter until |
{- "totalTrips": 42,
- "totalDistanceKm": 123.45,
- "totalRidingTimeSec": 3600,
- "co2SavedGrams": 14814,
- "caloriesBurned": 3703,
- "totalSpentCents": 5000,
- "currency": "NOK"
}Returns the current active subscription for the user, or 404 if no active subscription exists.
| systemId required | string |
{- "id": 123,
- "enabled": true,
- "validFrom": "2024-01-01T00:00:00.000Z",
- "validTo": "2024-12-31T23:59:59.999Z",
- "product": {
- "id": 1,
- "name": "Monthly Pass",
- "price": 29.99,
- "freeMinutesPerDay": 45
}
}Returns the current onboarding state of the user.
| systemId required | string |
{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Submit the first and last name for the onboarding step.
| systemId required | string |
| firstName required | string First name |
| lastName required | string Last name |
{- "firstName": "John",
- "lastName": "Doe"
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Submit the gender for the onboarding step.
| systemId required | string |
| gender required | string Enum: "male" "female" "other" Gender |
{- "gender": "male"
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Submit the phone number for the onboarding step.
| systemId required | string |
| phoneNumber required | string The phone number |
{- "phoneNumber": "+4712345678"
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Submit the email address for the onboarding step.
| systemId required | string |
| email required | string The email address |
{- "email": "user@example.com"
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Submit the street address for the onboarding step.
| systemId required | string |
| streetAddress required | string Street address line |
| streetAddress2 | string Second address line |
| streetAddress3 | string Third address line |
| postalCode required | string Postal code |
| city required | string City |
| countryCode | string Country code (ISO 3166-1 alpha-2) |
{- "streetAddress": "Storgata 1",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "postalCode": "0182",
- "city": "Oslo",
- "countryCode": "NO"
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Submit the personal identification number for the onboarding step.
| systemId required | string |
| personalNumber required | string The personal identification number (national ID) |
{- "personalNumber": "12345678901"
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Accept the privacy policy and submit any additional legal consent checkboxes.
| systemId required | string |
| accepted required | boolean Whether the user accepted the privacy policy | ||||
| version | string Version of the privacy policy accepted | ||||
Array of objects (LegalConsent) Additional legal consent checkboxes | |||||
Array
| |||||
{- "accepted": true,
- "version": "2026-03-01",
- "legalConsents": [
- {
- "key": "marketing_emails",
- "accepted": true
}
]
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Accept the terms and conditions.
| systemId required | string |
| accepted required | boolean Whether the user accepted the terms and conditions |
| version | string Version of the terms and conditions accepted |
{- "accepted": true,
- "version": "2026-03-01"
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Mark the tutorial as acknowledged.
| systemId required | string |
| acknowledged required | boolean Whether the user acknowledged the tutorial |
{- "acknowledged": true
}{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Trigger verification of the phone number.
| systemId required | string |
{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Trigger verification of the email address.
| systemId required | string |
{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Trigger verification of the street address.
| systemId required | string |
{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Trigger verification of the personal identification number.
| systemId required | string |
{- "steps": [
- "name"
], - "pending": [
- "name"
], - "data": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phoneNumber": "+1234567890",
- "streetAddress": "123 Main St",
- "streetAddress2": "Apt 2",
- "streetAddress3": "Building C",
- "personalNumber": "+1234567890",
- "gender": "male"
}
}Return a specific system and its relevant information based on the system ID.
| systemId required | string |
| superpowers | boolean Whether this request is on behalf of a user with superpowers, which may return more information than for a general public user |
{- "data": {
- "id": "system-123",
- "name": "Urban Mobility System",
- "description": "System for managing fleet operations.",
- "type": "mobility",
- "appDeepLinkingPrefix": "myapp://system/",
- "countryCode": "SG",
- "cityName": "Singapore",
- "defaultLanguageCode": "en",
- "languageCodes": [
- "en",
- "zh",
- "ms"
], - "publicDomain": "example.com",
- "operator": "Urban Mobility Operator",
- "contactEmail": "contact@example.com",
- "timezone": "Asia/Singapore",
- "sanityProjectId": "sanity123",
- "sanityBusinessProjectId": "sanity-business-456",
- "sanityDataset": "production",
- "currency": "SGD",
- "colourKey": "#3399FF",
- "publicTripHistory": false,
- "rfidAssignMethod": [
- "automatic",
- "manual"
], - "hasVirtualCapabilityPreference": false,
- "registrationEnabled": true,
- "registrationFeeEnabled": false,
- "geometry": {
- "boundary": {
- "coordinates": [
- "string"
], - "type": "Polygon"
}
}, - "featureToggles": {
- "pauseTripEnabled": { },
- "physicalDockGroupRequestVehicleEnabled": { },
- "virtualDockGroupRequestVehicleEnabled": { },
- "hybridDockGroupRequestVehicleEnabled": { },
- "canUnlockOutsideOpeningHours": { },
- "qrCodeScanEnabled": { },
- "standaloneQrCodeScanEnabled": { },
- "freeFloatingEnabled": { },
- "vehicleReservationEnabled": { },
- "showSystemBoundaryEnabled": { },
- "pauseTripInsideLockFenceEnabled": { },
- "showVehicleListForDockGroupEnabled": { },
- "enableAppIntegrationPage": { },
- "showAgreedToSendDataToThirdPartiesCheckbox": { },
- "userEmailConfirmationRequired": { },
- "lateDeliverySmsAlertEnabled": { },
- "suspendDebtorEnabled": { }
}, - "season": {
- "inSeason": true,
- "currentSeason": {
- "startDate": "string",
- "endDate": "string"
}, - "nextSeason": {
- "startDate": "string",
- "endDate": "string"
}, - "previousSeason": {
- "startDate": "string",
- "endDate": "string"
}, - "insideOpeningHours": true,
- "closedReason": "string",
- "workingHours": {
- "startTime": "string",
- "endTime": "string"
}, - "openDate": "string"
}, - "contactNumber": {
- "countryCode": "string",
- "formatted": "string"
}, - "availablePaymentMethods": [
- "string"
], - "crmAppId": { },
- "legalConsents": [
- "string"
], - "paymentProvider": { },
- "registrationFeeAmount": 0,
- "walletEnablement": "disabled",
- "walletMinBalance": 0
}
}{- "data": [
- {
- "id": "system-alert-123",
- "createdAt": "string",
- "updatedAt": "string",
- "administratorId": 0,
- "sanityId": "string",
- "resolvedAt": "string",
- "resolvedBy": 0,
- "systemAlertType": "system_closure",
- "visibility": "public_all",
- "incidentStartTime": "string",
- "incidentEndTime": "string",
- "publishedStartTime": "string",
- "publishedEndTime": "string",
- "isDismissible": true,
- "pushNotificationsEnabled": true,
- "titleTranslations": { },
- "descriptionTranslations": { },
- "slugTranslations": { }
}
]
}Returns all systems available for your organization. Optionally filter by position to only return systems whose geometry contains the given coordinates.
| systemId required | string |
| position | string Example: position=59.9139,10.7522 Filter systems by position. Format: "lat,lng" (e.g., "59.9139,10.7522"). Only returns systems whose geometry contains this position. |
{- "data": [
- {
- "id": "system-123",
- "name": "Urban Mobility System",
- "description": "System for managing fleet operations.",
- "type": "mobility",
- "countryCode": "SG",
- "cityName": "Singapore",
- "defaultLanguageCode": "en",
- "languageCodes": [
- "en",
- "zh",
- "ms"
], - "publicDomain": "example.com",
- "operator": "Urban Mobility Operator",
- "timezone": "Asia/Singapore",
- "currency": "SGD",
- "colourKey": "#3399FF",
- "geometry": {
- "boundary": {
- "coordinates": [
- "string"
], - "type": "Polygon"
}
}
}
]
}Creates a subscription order for the specified product.
| systemId required | string |
| productId required | string Product ID to create subscription for |
{- "productId": "string"
}{- "id": "string",
- "token": "string",
- "status": "pending",
- "amount": 0,
- "amountWithoutVat": 0,
- "currency": "string",
- "createdAt": "string",
- "completedAt": "string",
- "unpaid": true,
- "vatAmount": 0,
- "vatRate": 0,
- "availablePaymentMethods": [
- "card"
], - "orderLines": [
- {
- "id": "string",
- "quantity": 0,
- "unitPrice": 0,
- "totalPrice": 0,
- "product": {
- "id": "string",
- "name": "string"
}
}
], - "discount": {
- "code": "string",
- "discountAmount": {
- "amount": 0,
- "percentage": 0
}
}
}Creates an order to deposit funds into the user wallet.
| systemId required | string |
| amount | number Amount to deposit into wallet |
{- "amount": 0
}{- "id": "string",
- "token": "string",
- "status": "pending",
- "amount": 0,
- "amountWithoutVat": 0,
- "currency": "string",
- "createdAt": "string",
- "completedAt": "string",
- "unpaid": true,
- "vatAmount": 0,
- "vatRate": 0,
- "availablePaymentMethods": [
- "card"
], - "orderLines": [
- {
- "id": "string",
- "quantity": 0,
- "unitPrice": 0,
- "totalPrice": 0,
- "product": {
- "id": "string",
- "name": "string"
}
}
], - "discount": {
- "code": "string",
- "discountAmount": {
- "amount": 0,
- "percentage": 0
}
}
}Creates an order for voucher/gift codes.
| systemId required | string |
| customerEmail required | string Customer email address | ||||
required | Array of objects (OrderLineInputDto) Order lines with product and quantity | ||||
Array
| |||||
| receiptEmail | string Email to send receipt to | ||||
{- "customerEmail": "string",
- "orderLines": [
- {
- "productId": "string",
- "quantity": 1
}
], - "receiptEmail": "string"
}{- "id": "string",
- "token": "string",
- "status": "pending",
- "amount": 0,
- "amountWithoutVat": 0,
- "currency": "string",
- "createdAt": "string",
- "completedAt": "string",
- "unpaid": true,
- "vatAmount": 0,
- "vatRate": 0,
- "availablePaymentMethods": [
- "card"
], - "orderLines": [
- {
- "id": "string",
- "quantity": 0,
- "unitPrice": 0,
- "totalPrice": 0,
- "product": {
- "id": "string",
- "name": "string"
}
}
], - "discount": {
- "code": "string",
- "discountAmount": {
- "amount": 0,
- "percentage": 0
}
}
}Returns a paginated list of user orders.
| systemId required | string |
| statuses | Array of strings Items Enum: "pending" "completed" "cancelled" "failed" Filter by order statuses |
| limit | number Default: 20 Maximum number of results to return |
| offset | number Default: 0 Number of results to skip |
| orderBy | string Enum: "createdAt" "completedAt" Field to sort by |
| orderDirection | string Enum: "asc" "desc" Sort direction |
{- "rows": [
- {
- "id": "string",
- "token": "string",
- "status": "pending",
- "amount": 0,
- "amountWithoutVat": 0,
- "currency": "string",
- "createdAt": "string",
- "completedAt": "string",
- "unpaid": true,
- "vatAmount": 0,
- "vatRate": 0,
- "availablePaymentMethods": [
- "card"
], - "orderLines": [
- {
- "id": "string",
- "quantity": 0,
- "unitPrice": 0,
- "totalPrice": 0,
- "product": {
- "id": "string",
- "name": "string"
}
}
], - "discount": {
- "code": "string",
- "discountAmount": {
- "amount": 0,
- "percentage": 0
}
}
}
], - "paginationInfo": {
- "total": 0,
- "limit": 0,
- "offset": 0
}
}Returns a single order by its token.
| systemId required | string |
| token required | string |
{- "id": "string",
- "token": "string",
- "status": "pending",
- "amount": 0,
- "amountWithoutVat": 0,
- "currency": "string",
- "createdAt": "string",
- "completedAt": "string",
- "unpaid": true,
- "vatAmount": 0,
- "vatRate": 0,
- "availablePaymentMethods": [
- "card"
], - "orderLines": [
- {
- "id": "string",
- "quantity": 0,
- "unitPrice": 0,
- "totalPrice": 0,
- "product": {
- "id": "string",
- "name": "string"
}
}
], - "discount": {
- "code": "string",
- "discountAmount": {
- "amount": 0,
- "percentage": 0
}
}
}Applies a discount code to an existing unpaid order.
| systemId required | string |
| orderId required | string |
| code required | string Discount code to apply |
{- "code": "string"
}{- "id": "string",
- "token": "string",
- "status": "pending",
- "amount": 0,
- "amountWithoutVat": 0,
- "currency": "string",
- "createdAt": "string",
- "completedAt": "string",
- "unpaid": true,
- "vatAmount": 0,
- "vatRate": 0,
- "availablePaymentMethods": [
- "card"
], - "orderLines": [
- {
- "id": "string",
- "quantity": 0,
- "unitPrice": 0,
- "totalPrice": 0,
- "product": {
- "id": "string",
- "name": "string"
}
}
], - "discount": {
- "code": "string",
- "discountAmount": {
- "amount": 0,
- "percentage": 0
}
}
}Removes the applied discount code from an order.
| systemId required | string |
| orderId required | string |
{- "id": "string",
- "token": "string",
- "status": "pending",
- "amount": 0,
- "amountWithoutVat": 0,
- "currency": "string",
- "createdAt": "string",
- "completedAt": "string",
- "unpaid": true,
- "vatAmount": 0,
- "vatRate": 0,
- "availablePaymentMethods": [
- "card"
], - "orderLines": [
- {
- "id": "string",
- "quantity": 0,
- "unitPrice": 0,
- "totalPrice": 0,
- "product": {
- "id": "string",
- "name": "string"
}
}
], - "discount": {
- "code": "string",
- "discountAmount": {
- "amount": 0,
- "percentage": 0
}
}
}Initiates payment for an order or invoice.
| systemId required | string |
| documentId required | string Document ID (order or invoice ID) | ||||||
| documentType required | string Enum: "order" "invoice" Document type | ||||||
required | object Payment parameters | ||||||
| |||||||
{- "documentId": "string",
- "documentType": "order",
- "params": {
- "selectedPaymentMethod": "card",
- "enableAutoRenew": true,
- "save": true
}
}{- "publishableKey": "string",
- "clientSecret": "string",
- "customerRef": "string",
- "customerKey": "string",
- "webUrl": "string",
- "paymentMethodRef": "string",
- "orderToken": "string",
- "state": "CREATED",
- "errorCode": "string",
- "message": "string",
- "description": "string"
}Returns the current payment methods for the user.
| systemId required | string |
{- "methods": [
- {
- "type": "card",
- "card": {
- "brand": "visa",
- "last4": "4242",
- "expMonth": 12,
- "expYear": 2025,
- "isExpired": true
}, - "wallet": {
- "balance": 0
}
}
]
}Initiates the flow to add a new payment method.
| systemId required | string |
object Redirect paths | |||||
| |||||
{- "paths": {
- "successPath": "string",
- "cancelPath": "string"
}
}{- "webUrl": "string",
- "provider": "stripe",
- "url": "string",
- "setupToken": "string",
- "sessionId": "string",
- "publishableKey": "string",
- "clientSecret": "string"
}Initiates the flow to replace the existing payment method.
| systemId required | string |
object Redirect paths | |||||
| |||||
{- "paths": {
- "successPath": "string",
- "cancelPath": "string"
}
}{- "webUrl": "string",
- "provider": "stripe",
- "url": "string",
- "setupToken": "string",
- "sessionId": "string",
- "publishableKey": "string",
- "clientSecret": "string"
}