Download OpenAPI specification:Download
API documentation.
API is built on HTTP and is RESTful. It has predictable resource URLs and returns HTTP response codes.
Wenn ASA was founded in 2017 in Stavanger, Norway. Our innovative technology automatically detects damages on cars. By enhancing the assessment of vehicle conditions, Wenn ASA makes the rental experience more efficient and accurate, benefiting both rental companies and customers. We are developing solutions to improve damage handling. Our AI streamlines the process of detecting and documenting car damage for the whole car industry. We are focusing on taking away the pain points in the car rental process, with successful operations on major European car rental locations.
Capture sets are installed at the location and cars drive through the capture sets. There are normally one capture set for RETURN and one capture set for PICKUP. The recordings are sent to the Wenn Cloud solution were the passing is turned into an imageset and sent to the correct tenant based on the license plate assignments. Based on tenant settings, the car will receive ML damage processing
Wenn uses a JWT token. Use to make short-life tokens that expire after one hour. The token authorizes all requests and allows access to the API. A Bearer Token must be set in every API call's Authorization header.
Use profile to render user details from the Wenn system. It is used for clients to present user information.
Get the list of a users profile.
limit | integer limit number of appraisals to be returned |
page | integer page number to be returned |
tenant | string tenant to fetch |
searchBy | string filter content by using firstName, lastName or phone |
{- "data": {
- "items": [
- {
- "created": "1606748208.535424",
- "email": "maren.lundby@wenn.no",
- "firstName": "Maren",
- "id": "f7ba8034-64a6-425c-8629-b283eac794fe",
- "lastName": "Lundby",
- "modified": "1606748298.086604",
- "phone": "+47666555444"
}, - {
- "created": "1606748208.535424",
- "email": "silje.opseth@wenn.no",
- "firstName": "Silje",
- "id": "afd6dbb0-c811-44bb-a6af-aa1fc9b6b97d",
- "lastName": "Opseth",
- "modified": "1606748298.086604",
- "phone": "+47666555444"
}
]
}, - "meta": {
- "currentItemsPerPage": 2,
- "currentPage": 1,
- "lastPage": 27,
- "maxPerPage": 100,
- "totalItems": 53
}, - "success": true
}
Get the list of names of the users
users required | string Array uuid of users that will be fetched example: ?users=533c1e58-27ed-461b-8ccd-982eb6ca71b8,b2d9f509-d468-4595-ba23-ca40e4d5d256 |
{- "data": {
- "items": [
- {
- "email": "maren.lundby@wenn.no",
- "firstName": "Maren",
- "id": "f7ba8034-64a6-425c-8629-b283eac794fe",
- "lastName": "Lundby",
- "phone": "+47666555444"
}
]
}, - "success": true
}
Extract all the information stored in the users profile.
id required | string The id of user you would like fetch from service |
{- "data": {
- "email": "maren.lundby@wenn.no",
- "firstName": "Maren",
- "lastName": "Lundby",
- "partnerId": "f7ba8034-64a6-425c-8629-b283eac794fe",
- "phone": "+47666555444"
}, - "success": true
}
Extract all tenants related to the user.
id required | string The id of user you would like fetch from service |
{- "data": {
- "items": [
- "384f1aaf-2d33-4489-b0d1-d4e8405023de"
]
}, - "success": true
}
Use auth resources to manage your account and users in the system like login, reset the password, update user details, etc. Moreover, here you can manage a tenant.
Login to to the system to obtain authorization token.
password required | string |
username required | string |
{- "password": "passwordWithLettersNumbers1SpecialsLike!",
- "username": "+47000000000"
}
{- "data": {
- "accessToken": "(deprecated)",
- "expiresIn": 3600,
- "idToken": "eyJhbGciOiCJ9.eyJzdWIIiwiaTE2MjM5MDIyfQ.SflKSMeKKF2Qssw5ce",
- "refreshToken": "eysdaJhbGciOiCJ9.eyJzdWIIiwsaiaTE2MjM5MDIyfQ.SflKSMeKKF2Qsdasdassw5ce",
- "tokenType": "Bearer"
}, - "expiresIn": 3600,
- "success": true
}
Creates an api key for a given user id in the body parameter. Description can be also added optionally. After creating the Api Key, user can use it instead of authorization token when sending a request by attaching it to the "x-api-key" header value. Created api key exists until it is deleted. The API Key allows users to log in using generated keys. You can allow devices or services to communicate with App Services. If user doesn't exist exception occurs. If user has got already api key exception occurs. User must be a global admin to perform this operation. If operation done successfully endpoint returns information about created api key.
description | string description for api key as string |
userId required | string user id as UUID |
{- "description": "example description",
- "userId": "ac821ae7-c4c5-46cb-bc7a-50ceaee1a43e"
}
{- "data": {
- "apiKey": "bafe0c9c-8c0b-421a-bc1d-de316f83f414"
}, - "message": "Api key successfully created",
- "success": true
}
Deletes api key for a given user, based on user id in path parameter. User must be a global admin to perform this operation.
id required | string user id |
{- "message": "User successfully deleted",
- "success": true
}
Gives information as apiKey and its description, based on given user id in path parameter. User must be a global admin to perform this operation.
id required | string user id |
{- "data": {
- "apiKey": "37e401e4-d77f-49ef-8861-4ea1e4f73cd4",
- "description": "siema eniu",
- "userId": "ac821ae7-c4c5-46cb-bc7a-50ceaee1a43d"
}, - "message": "User successfully fetched",
- "success": true
}
Switch currently used tenant inside the system.
refreshToken required | string |
tenant required | string |
{- "refreshToken": "refreshToken",
- "tenant": "3bfd3a56-c2ea-41e5-92c3-aa295b24637b"
}
{- "data": {
- "accessToken": "accessToken",
- "currentTenant": "3bfd3a56-c2ea-41e5-92c3-aa295b24637b",
- "expiresIn": 3600,
- "idToken": "idToken",
- "tokenType": "Bearer"
}, - "success": true
}
Assign given users to given group inside the system. Available groups are: GLOBAL_ADMIN, ANNOTATOR, REVIEWER
groupName required | string |
userId required | string |
{- "groupName": "ANNOTATOR",
- "userId": "582d4140-bfd1-4afc-bb47-420a9694e3fc"
}
{- "message": "Modified (POST) group isAnnotator for 6eff1dac-e72e-49bd-b269-049650625906",
- "success": true
}
Unassign given users from the group inside the system.
groupName required | string |
userId required | string |
{- "groupName": "ANNOTATOR",
- "userId": "582d4140-bfd1-4afc-bb47-420a9694e3fc"
}
{- "message": "Modified (POST) group isAnnotator for 6eff1dac-e72e-49bd-b269-049650625906",
- "success": true
}
Registers a new user. Phone number should include country to be able to receive a onte time password for verification during the registration process.
string | |
firstName | string |
lastName | string |
password required | string Password policy uppercase letters, lowercase letters, numbers, minimum password length 8 chars |
phone required | string |
{- "password": "passwordWithLettersNumbers1SpecialsLike!",
- "phone": "+47000000000"
}
{- "message": "User has been created, needs confirmation",
- "success": true
}
Verifies a new user with one time password
code required | string |
username required | string |
{- "code": "123ASD",
- "username": "+47000000000"
}
{- "message": "User has been verified",
- "success": true
}
Submit a request for a new password, and start forgot password procedure to obtain a one time password to the verified phone number.
username required | string |
{- "username": "+47000000000"
}
{- "message": "Please check your registered email or phone for validation code",
- "success": true
}
Confirm a password reset by submitting and verifying one time password from password reset procedure.
code required | string |
password required | string |
username required | string |
{- "code": "ASD123",
- "password": "NewPasswordWithLettersNumbers1SpecialsLike!",
- "username": "+47000000000"
}
{- "message": "Please check your registered email or phone for validation code",
- "success": true
}
List all tenant groups in the system
limit | integer limit number of tenant groups to be returned |
page | integer page number to be returned |
{- "data": {
- "items": [
- {
- "id": "594302d9-f090-4dce-b7ad-66043c9ae000",
- "members": [
- {
- "id": "7c81a5ca-3174-4f10-b3b8-9a857fc5d571",
- "name": "Tenant name"
}, - {
- "id": "acf2461b-0160-4d14-b11b-efae4d66c69b",
- "name": "Tenant name 2"
}
], - "name": "Tenant Group A",
- "powerTenantId": "7c81a5ca-3174-4f10-b3b8-9a857fc5d571"
}, - {
- "id": "79d9e895-b96c-4574-a059-f8cb7ea0fc57",
- "members": [
- {
- "id": "acf2461b-0160-4d14-b11b-efae4d66c69b",
- "name": "Tenant name 2"
}
], - "name": "Tenant Group B",
- "powerTenantId": "acf2461b-0160-4d14-b11b-efae4d66c69b"
}
]
}, - "expiresIn": 3600,
- "meta": {
- "currentItemsPerPage": 10,
- "currentPage": 1,
- "lastPage": 1,
- "maxPerPage": 100,
- "totalItems": 2
}, - "success": true
}
Create new tenant group in system
members | Array of strings |
name required | string |
powerTenantId | string |
{- "members": [
- "acf2461b-0160-4d14-b11b-efae4d66c69b"
], - "name": "Tenant Group C",
- "powerTenantId": "acf2461b-0160-4d14-b11b-efae4d66c69b"
}
{- "message": "Added tenant group",
- "success": true
}
Allow to update tenant groups.
id required | string Example: b1d9f509-d468-4595-ba23-ca40e4d5d256 tenant group UUID |
members | string list of tenants/members for given group |
name | string tenant group's name |
powerTenantId | string power tenant ID for tenant group |
{- "members": [
- "c1d9f509-d468-4595-ba23-ca40e4d5d256"
], - "name": "Tenant Group Name",
- "powerTenantId": "b1d9f509-d468-4595-ba23-ca40e4d5d256"
}
{- "data": "Updated",
- "success": true
}
List all tenants in the system
limit | integer limit number of appraisals to be returned |
page | integer page number to be returned |
{- "data": {
- "items": [
- {
- "id": "594302d9-f090-4dce-b7ad-66043c9ae000",
- "name": "Tenant A"
}, - {
- "id": "79d9e895-b96c-4574-a059-f8cb7ea0fc57",
- "name": "Tenant B"
}
]
}, - "expiresIn": 3600,
- "meta": {
- "currentItemsPerPage": 10,
- "currentPage": 1,
- "lastPage": 2,
- "maxPerPage": 100,
- "totalItems": 15
}, - "success": true
}
Create new tenants in system
name required | string |
{- "name": "Tenant C"
}
{- "message": "Added tenant",
- "success": true
}
Assign given users to given tenants inside the system.
required | Array of objects |
user required | string |
{- "tenants": [
- {
- "role": "ADMIN_TENANT",
- "tenantId": "3bfd3a56-c2ea-41e5-92c3-aa295b24637b"
}
], - "user": "582d4140-bfd1-4afc-bb47-420a9694e3fc"
}
{- "data": {
- "533c1e58-27ed-461b-8ccd-982eb6ca71b8": {
- "tenants": {
- "0f8ca2a0-ce75-4015-b65a-d731f5b791d1": {
- "availableRoles": [
- "USER",
- "ADMIN_TENANT"
], - "name": "Tenant name",
- "role": "USER",
- "settings": {
- "expiryAfter": 0,
- "manualAnnotationEnabled": true
}
}
}
}
}, - "success": true
}
Unassign given users from the tenants inside the system.
required | Array of objects |
user required | string |
{- "tenants": [
- {
- "role": "ADMIN_TENANT",
- "tenantId": "3bfd3a56-c2ea-41e5-92c3-aa295b24637b"
}
], - "user": "682d4140-bfd1-4afc-bb47-420a9694e3fc"
}
{- "data": {
- "533c1e58-27ed-461b-8ccd-982eb6ca71b8": {
- "tenants": {
- "0f8ca2a0-ce75-4015-b65a-d731f5b791d1": {
- "availableRoles": [
- "USER",
- "ADMIN_TENANT"
], - "name": "Tenant name",
- "role": "USER",
- "settings": {
- "expiryAfter": 0,
- "manualAnnotationEnabled": true
}
}
}
}
}, - "success": true
}
It returns tenants details related to the user, provided in query params.
users required | string Example: users=b1d9f509-d468-4595-ba23-ca40e4d5d256,6eff2dac-e72e-49bd-b269-049650625906 list of users UUID's |
{- "data": {
- "533c1e58-27ed-461b-8ccd-982eb6ca71b8": {
- "groups": [
- "ANNOTATOR"
], - "tenants": {
- "0f8ca2a0-ce75-4015-b65a-d731f5b791d1": {
- "availableRoles": [
- "USER",
- "ADMIN_TENANT"
], - "name": "Witek's Garage",
- "role": "ADMIN_TENANT",
- "settings": {
- "expiryAfter": 0,
- "manualAnnotationEnabled": true
}
}
}
}
}, - "success": true
}
It returns tenants details in the system.
id required | string Example: b1d9f509-d468-4595-ba23-ca40e4d5d256 tenant UUID |
{- "data": {
- "id": "71fdd0e3-b5fc-4148-afd6-c07ca800dd74",
- "name": "germany-testing",
- "settings": {
- "damageDetectionServiceEnabled": true,
- "expiryAfter": 42,
- "faceblurServiceEnabled": {
- "backLeft": false,
- "backRight": false,
- "bottomLeft": false,
- "bottomRight": false,
- "frontLeft": false,
- "frontRight": false,
- "roofLeft": false,
- "roofRight": false,
- "topLeft": false,
- "topRight": false
}, - "isHandicapped": true,
- "manualAnnotationEnabled": false,
- "manualReviewEnabled": false,
- "maxFramesForCameras": {
- "bottomLeft": 32,
- "bottomRight": 32,
- "roofLeft": 16,
- "roofRight": 16,
- "topLeft": 16,
- "topRight": 16
}, - "newDamageNotification": false,
- "turnaroundConfiguration": {
- "isEnabled": true,
- "threshold": 14400
}
}
}, - "success": true
}
Allow to update tenant details. You are allowed to change fields in setting like expiryAfter, manualAnnotationEnabled, manualReviewEnabled, isHandicapped or turnaroundConfiguration. If turnaroundConfiguration.isEnabled is equal to false, all passages of this tenant will be rental. Otherwise, if time difference (in seconds) between pickup and return passages is smaller than given threshold, the passage will be marked as turnaround.
id required | string Example: b1d9f509-d468-4595-ba23-ca40e4d5d256 tenant UUID |
object |
{- "settings": {
- "damageDetectionServiceEnabled": true,
- "expiryAfter": 42,
- "faceblurServiceEnabled": {
- "backLeft": false,
- "backRight": false,
- "bottomLeft": false,
- "bottomRight": false,
- "frontLeft": false,
- "frontRight": false,
- "roofLeft": false,
- "roofRight": false,
- "topLeft": false,
- "topRight": false
}, - "isHandicapped": false,
- "manualAnnotationEnabled": true,
- "manualReviewEnabled": false,
- "minDamagesForManualProcessing": 5,
- "newDamageNotification": true,
- "turnaroundConfiguration": {
- "isEnabled": true,
- "threshold": 14400
}
}
}
{- "data": "Updated",
- "success": true
}
Use a Refresh Token To exchange the Refresh Token you received during authorization for a new Id Token
refreshToken required | string |
username required | string |
{- "refreshToken": "eyJhbGciOiCJ9.eyJzdWIIiwiaTE2MjM5MDIyfQ.SflKSMeKKF2Qssw5c",
- "username": "+47000000000"
}
{- "data": {
- "accessToken": "(deprecated)",
- "expiresIn": 3600,
- "idToken": "eyJhbGciOiCJ9.eyJzdWIIiwiaTE2MjM5MDIyfQ.SflKSMeKKF2Qssw5ce",
- "tokenType": "Bearer"
}, - "expiresIn": 3600,
- "success": true
}
Delete user account from the system.
id required | string Example: b1d9f509-d468-4595-ba23-ca40e4d5d256 user UUID's |
{- "message": "User b1d9f509-d468-4595-ba23-ca40e4d5d256 has been deleted",
- "success": true
}
Use CarInfo to get vehicle details. You can get information about the car via VIN or license plate. Moreover you can retrieve information about the average car’s price in the market
Takes a car registration license plate as input and returns VIN number
id required | string the id of the vehicle, in the form of a registration plate |
{- "data": {
- "VIN": "ASDAWEQWEQWEASDASD"
}, - "message": "Vehicle identification number found",
- "success": true
}
Based on input in the format of a registration number, average list price is returned
id required | string Registration plate number of the car |
km required | integer Mileage on the car in KM |
{- "data": {
- "priceHigh": 105986,
- "priceLow": 93988,
- "priceMedio": 99987
}, - "message": "Vehicle found",
- "success": true
}
Based on input in the format of a VIN number, information is returned from the DMV
id required | string VIN number of the car |
{- "data": {
- "VIN": "ASDAWEQWEQWEASDASD",
- "color": "Grå",
- "displacement": "1598",
- "fuel": "Diesel",
- "gear": "Manuell",
- "kw": "77",
- "make": "SKODA",
- "year": "2012"
}, - "message": "Vehicle found",
- "success": true
}
This is the main part of the Wenn system. Assets are cars, capture sets, imagesets, images (like logos and a specific image from an imageset), and damages in an imageset. You can use the operations contained in this section to retrieve or update data such as imageSets, captureSets, cars and damages etc
Get statistics about annotator jobs based on timestamp range [startDate, endDate]. These parameters are given in query string. For every annotator with non zero result, it returns total annotated jobs and reviewed jobs. Also returns information about stray annotations / reviews. If startDate and endDate not given, it returns results from last 90 days. If either startDate or endDate is given, then it also returns 90 days range based on provided param.
startDate | integer start of date range as a timestamp |
endDate | integer end of date range as a timestamp |
{- "data": {
- "numberOfStrayAnnotatedJobs": 0,
- "numberOfStrayReviewedJobs": 0,
- "result": {
- "538ef6c9-d7f4-4646-821e-6b66809f4156": {
- "annotated": 1,
- "reviewed": 0
}, - "ac821ae7-c4c5-46cb-bc7a-50ceaee1a43d": {
- "annotated": 0,
- "reviewed": 1
}, - "afe8e2e1-49c4-46db-a4fa-25d1c902f566": {
- "annotated": 7,
- "reviewed": 2
}
}
}, - "message": "statistics about annotator jobs fetched successfully",
- "success": true
}
Allows a reviewer to add themselves to the waiting queue, when no review jobs are available
revieverId | string reviewer's id |
{- "reviewerId": "047040ea-c47a-4866-8390-53451374057d"
}
{- "data": {
- "queueTime": 1672234058,
- "reviewerId": "047040ea-c47a-4866-8390-53451374057d"
}, - "message": "Reviewer successfully placed in the queue",
- "success": true
}
Soft-delete image set and damages which are related to it
id required | string the id of the image set you would like to remove |
{- "data": {
- "id": "abbb89e0-63d3-40ac-aa28-d90076b36a14"
}, - "message": "The image set is removed",
- "success": true
}
Allows to list regular or virtual capture sets from all or specific tenant(s)
virtual | boolean Default: null Either true or false, depends on capture set type |
logos | boolean Default: null Requests signed urls of tenant logos if turned on |
fromAllTenants | boolean Default: false Either true or false, only for Wenn Admin |
limit | integer Default: 10 limit number of capture sets to be returned |
page | integer Default: 1 page number to be returned |
{- "data": {
- "items": [
- {
- "camerasCount": 4,
- "captureUnits": [
- {
- "side": "left",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}, - {
- "side": "right",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}
], - "countryCode": "NO",
- "createdAt": 1652366073,
- "id": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0",
- "isVirtual": false,
- "label": "return",
- "lenses": {
- "lens0": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens1": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens2": {
- "focalLength": 8,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}
}, - "location": "Norway",
- "modifiedAt": 1652366073,
- "name": "My first capture set",
- "pipelineMask": [
- "damage_detection"
], - "priority": 0
}
]
}, - "meta": {
- "currentItemsPerPage": 10,
- "currentPage": 1,
- "lastPage": 100,
- "maxPerPage": 100,
- "totalItems": 1000
}, - "success": true
}
Creates a capture set from given capture units. You can also create virtual capture sets using this endpoint. When you want create virtual capture sets, do not provide "captureUnits" field in body and use "virtual" flag in query params. You need to be either global admin or tenant admin to perform this operation. You can have maximum 1000 virtual rigs per tenant. By default, passages generated by that device set will have the same machine learning pipeline what the related tenant. If the "lenses" parameter is not provided, the default values for lenses will be used.
virtual | boolean Either true or false, depends on capture set type. By default set to false |
camerasCount | integer |
Array of objects | |
countryCode | string |
label | string |
object | |
location | string |
name | string |
pipelineMask | Array of strings ML pipeline mask. If you add ML job name to this mask, this job will be not started even if it is in tenant's settings. Must contain elements within [damage_detection, part_detection, cost, damage_identification] |
priority | integer |
{- "camerasCount": 6,
- "captureUnits": [
- {
- "side": "left",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}, - {
- "side": "right",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}
], - "countryCode": "NO",
- "label": "return",
- "lenses": {
- "lens0": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens1": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens2": {
- "focalLength": 8,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}
}, - "location": "Norway",
- "name": "My first capture set",
- "pipelineMask": [
- "damage_detection"
], - "priority": 0
}
{- "message": "New capture set created",
- "success": true
}
Returns all fields values that contains given pattern (e.g. 'Norway' for 'no')
location | string Example: location=it location value pattern |
name | string Example: name=ex name value pattern |
{- "data": {
- "locations": [
- "Italy",
- "Great Britain"
], - "names": [
- "name example",
- "ex-name"
]
}, - "success": true
}
Get capture set details and related units
id required | string the id of the capture set |
{- "data": {
- "camerasCount": 4,
- "captureUnits": [
- {
- "side": "left",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}, - {
- "side": "right",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}
], - "countryCode": "NO",
- "createdAt": 1652366073,
- "id": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0",
- "isVirtual": false,
- "label": "return",
- "lenses": {
- "lens0": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens1": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens2": {
- "focalLength": 8,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}
}, - "location": "Norway",
- "minLicensePlateArea": 25000,
- "modifiedAt": 1652366073,
- "name": "My first capture set",
- "pipelineMask": [
- "damage_detection"
], - "priority": 0
}, - "message": "Get capture set details",
- "success": true
}
Update the given capture set details. Cannot modify virtual capture set.
id required | string the id of the capture set |
camerasCount | integer |
Array of objects | |
countryCode | string |
label | string |
object | |
location | string |
minLicensePlateArea | integer |
name | string |
pipelineMask | Array of strings ML pipeline mask. If you add ML job name to this mask, this job will be not started even if it is in tenant's settings. Must contain elements within [damage_detection, part_detection, cost, damage_identification] |
priority | integer |
{- "camerasCount": 6,
- "captureUnits": [
- {
- "side": "left",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}, - {
- "side": "right",
- "tenantIds": [
- "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
], - "unitId": "5bcd7ff9-99cb-43fa-a975-bdc0bb81c1b0"
}
], - "countryCode": "NO",
- "label": "return",
- "lenses": {
- "lens0": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens1": {
- "focalLength": 6,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}, - "lens2": {
- "focalLength": 8,
- "sensorResolution": 1920,
- "sensorSize": 11.3
}
}, - "location": "Norway",
- "minLicensePlateArea": 25000,
- "name": "My first capture set",
- "pipelineMask": [
- "damage_detection"
], - "priority": 0
}
{- "message": "Capture set updated",
- "success": true
}
Returns list of capture units with it's details. Logos for tenants can be only in size either 54x54 or 100x100. Cannot fetch virtual capture units. Use GET /captureSets to fetch info about virtual rigs.
limit | integer limit number of capture units to be returned |
page | integer page number to be returned |
{- "data": {
- "items": [
- {
- "balenaId": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "captureSetId": "98731a1c-9b85-4b31-a228-f5e09b41323a",
- "defaultTenant": null,
- "id": "eb68886e-cbbb-4681-bef1-3a13a6c6dba6",
- "isVirtual": false,
- "recCount": 0,
- "relatedUnit": "49578ed9-2ea7-42b4-9d2b-79a098265197",
- "tenants": [
- {
- "id": "af91c000-af7e-4adb-a10c-204bfffcd4d5",
- "name": "Insurance Company 1"
}, - {
- "id": "cc49101e-49d1-4ce2-82c6-4f6b1824fe02",
- "name": "Fast Cars Rental"
}
]
}, - {
- "balenaId": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "captureSetId": "98731a1c-9b85-4b31-a228-f5e09b41323a",
- "defaultTenant": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "id": "49578ed9-2ea7-42b4-9d2b-79a098265197",
- "isVirtual": false,
- "recCount": 0,
- "relatedUnit": "eb68886e-cbbb-4681-bef1-3a13a6c6dba6",
- "tenants": [
- {
- "id": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "name": "Tenant"
}, - {
- "id": "cc49101e-49d1-4ce2-82c6-4f6b1824fe02",
- "name": "Fast Cars Rental"
}
]
}
]
}, - "meta": {
- "currentItemsPerPage": 2,
- "currentPage": 1,
- "lastPage": 37,
- "maxPerPage": 100,
- "totalItems": 74
}, - "success": true
}
Returns details of capture unit. Cannot fetch virtual capture unit. Use GET /captureSets to fetch info about virtual rig
id required | string identifier of capture unit |
{- "data": {
- "balenaId": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "defaultTenant": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "id": "49578ed9-2ea7-42b4-9d2b-79a098265197",
- "isVirtual": false,
- "recCount": 0,
- "tenants": [
- {
- "id": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "name": "Tenant"
}, - {
- "id": "cc49101e-49d1-4ce2-82c6-4f6b1824fe02",
- "name": "Fast Cars Rental"
}
]
}, - "message": "Fetched capture unit details successfully",
- "success": true
}
Assign tenants to capture unit. You cannot modify virtual capture unit using this endpoint.
id required | string <uuid> identifier of capture unit |
tenants | Array of strings <uuid> [ items <uuid > ] |
{- "tenants": [
- "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "cb5c706b-500e-48a2-b01b-7f3e1459d381"
]
}
{- "data": {
- "balenaId": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "defaultTenant": null,
- "id": "49578ed9-2ea7-42b4-9d2b-79a098265197",
- "isVirtual": false,
- "recCount": 0,
- "tenants": [
- {
- "id": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "name": "Tenant"
}, - {
- "id": "cb5c706b-500e-48a2-b01b-7f3e1459d381",
- "name": "Fast Cars Rental"
}
]
}, - "message": "Assigned tenants to capture unit successfully",
- "success": true
}
Set default tenant for capture units. You cannot modify virtual capture unit using this endpoint.
id required | string <uuid> identifier of capture unit |
tenant | string <uuid> |
{- "tenant": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5"
}
{- "data": [
- {
- "balenaId": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "defaultTenant": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "id": "49578ed9-2ea7-42b4-9d2b-79a098265197",
- "isVirtual": false,
- "recCount": 0,
- "tenants": [
- {
- "id": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "name": "Tenant"
}, - {
- "id": "cb5c706b-500e-48a2-b01b-7f3e1459d381",
- "name": "Fast Cars Rental"
}
]
}, - {
- "balenaId": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "defaultTenant": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "id": "eb68886e-cbbb-4681-bef1-3a13a6c6dba6",
- "isVirtual": false,
- "recCount": 0,
- "tenants": [
- {
- "id": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "name": "Tenant"
}, - {
- "id": "cb5c706b-500e-48a2-b01b-7f3e1459d381",
- "name": "Fast Cars Rental"
}
]
}
], - "message": "The capture units default tenant is set successfully",
- "success": true
}
Unassign tenants from capture unit. You cannot modify virtual capture unit using this endpoint.
id required | string <uuid> id of unit |
tenants | Array of strings <uuid> [ items <uuid > ] |
{- "tenants": [
- "49578ed9-2ea7-42b4-9d2b-79a098265197",
- "3292185a-2fd3-46b8-9885-f433f13a4a6d"
]
}
{- "data": {
- "balenaId": "3292185a-2fd3-46b8-9885-f433f13a4a6d",
- "defaultTenant": null,
- "id": "49578ed9-2ea7-42b4-9d2b-79a098265197",
- "isVirtual": false,
- "recCount": 0,
- "tenants": [
- {
- "id": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "name": "Tenant"
}, - {
- "id": "cb5c706b-500e-48a2-b01b-7f3e1459d381",
- "name": "Fast Cars Rental"
}
]
}, - "message": "Unassigned tenants to capture unit successfully",
- "success": true
}
Deletes car from a tenant's list. If car belongs to another tenant, then error occurres. Otherwise car is being deleted.
registrationNo required | string a valid registration number of car to delete |
countryCode | string Default: "NO" country code of the given registration number. Can be provided in either lowercase or uppercase. If not provided NO will be set. |
masterTenantAction | string Default: "false" when provided with value |
{- "data": "ZZZZZZZ",
- "message": "Car successfully deleted",
- "success": true
}
Get list of cars that are assigned to a tenant, check weather they have recent damages or check if they can be assigned to passages
limit | integer Default: 100 limit number of registration numbers to be returned |
page | integer Default: 1 page number to be returned |
hasDamages | boolean Default: null Either true or false, determines if checking the damages of car |
carIds | string list of car ids divided by a comma, these would be checked if have damages |
passageIds | string list of passages ids divided by a comma- together with country code and registration number checks if a car can be assigned to given passages |
countryCode | string country code of the given registration number. Can be provided in either lowercase or uppercase. If not provided NO will be set. |
registrationNo | string a valid registration number of car |
tenantId | string allows for filtering out cars of a given tenant, if not provided the currently logged tenant will be set |
{- "data": {
- "items": [
- {
- "createdAt": 1694092081,
- "deviceSetId": "12345678-abcd-abcd-abcd-12345678",
- "inUse": true,
- "registrationNo": "NO#ABCDE",
- "tenantId": "12345678-abcd-abcd-abcd-12345678"
}
]
}, - "meta": {
- "currentItemsPerPage": 100,
- "currentPage": 1,
- "lastPage": 1,
- "maxPerPage": 100,
- "totalItems": 1
}, - "success": true
}
Allows tenant admin to add cars assignments (registration numbers) to a tenant. Sending an empty list returns error. If the registration number is already assigned to the current tenant, nothing is changed. If a registration number already exist in the DB as assigned to other tenant, an error occurs. Both of newly assigned and already assigned cars are returned in the response. Unassigned passings and imagesSets will be updated. Provide registration numbers list in dictionary where corresponding keys are country codes.
masterTenantAction | string Default: "false" when provided with value |
Array of objects if you set cars then registrationNumbersByCountryCode will be ignored | |
registrationNumbersByCountryCode required | object country codes with corresponding registration numbers lists within it |
{- "cars": [
- {
- "carGroup": "sedan",
- "fuel": "PETROL",
- "licensePlate": "DE#AB1234",
- "make": "Audi",
- "model": "A3",
- "modelCode": "8Y",
- "pictogram": "car_front_180.png",
- "vin": "VIN45678912345678"
}
], - "registrationNumbersByCountryCode": {
- "DE": [
- "AB1234",
- "CD1234"
], - "NO": [
- "WX1234",
- "YZ1234"
]
}
}
{- "data": {
- "d1fdd0e3-b5fc-4148-afd6-c07ca800dd74": {
- "belongsElsewhere": [
- "DE#AB1234",
- "DE#CD1234"
]
}, - "dc49101e-49d1-4ce2-82c6-4f6b1824fe02": {
- "assigned": [
- "NO#LP1234"
], - "belongsElsewhere": [
- "NO#YZ1234"
]
}, - "df2ede50-0717-408e-8c94-225139d839dd": {
- "errors": [
- "No capture sets"
]
}
}, - "message": "Car assignments have been updated",
- "success": true
}
Allows tenant admin to overwrite cars assignments (registration numbers) in a tenant. Sending an empty list removes all existing assignments for the tenant. If a registration number already exist in the DB as assigned to other tenant, then only valid license plates are assigned. Unassigned passings and imagesSets will be updated. Provide registration numbers list in dictionary where corresponding keys are country codes.
masterTenantAction | string Default: "false" when provided with value |
Array of objects if you set cars then registrationNumbersByCountryCode will be ignored | |
registrationNumbersByCountryCode required | object country codes with corresponding registration numbers lists within it |
{- "cars": [
- {
- "carGroup": "sedan",
- "fuel": "PETROL",
- "licensePlate": "DE#AB1234",
- "make": "Audi",
- "model": "A3",
- "modelCode": "8Y",
- "pictogram": "car_front_180.png",
- "vin": "VIN45678912345678"
}
], - "registrationNumbersByCountryCode": {
- "DE": [
- "AB1234",
- "CD1234"
], - "NO": [
- "WX1234",
- "YZ1234"
]
}
}
{- "data": {
- "d1fdd0e3-b5fc-4148-afd6-c07ca800dd74": {
- "belongsElsewhere": [
- "DE#AB1234",
- "DE#CD1234"
]
}, - "dc49101e-49d1-4ce2-82c6-4f6b1824fe02": {
- "assigned": [
- "NO#WX1234"
], - "belongsElsewhere": [
- "NO#YZ1234"
]
}, - "df2ede50-0717-408e-8c94-225139d839dd": {
- "errors": [
- "No capture sets"
]
}
}, - "message": "Car assignments have been updated",
- "success": true
}
ids | string Example: ids=12345678-abcd-abcd-abcd-123456789012,12345678-efgh-efgh-efgh-123456789012 List of damagesIds to be deleted, separated by comas |
deleteRepresentatives | boolean Filter for deleting list of representatives ids; possible values are: |
{- "data": {
- "ids": [
- "12345678-abcd-abcd-abcd-123456789012",
- "12345678-efgh-efgh-efgh-123456789012"
]
}, - "message": "Successfully deleted damages",
- "success": true
}
Returns a paginated list of damages filtered out by given query params values. Different sorting options are possible, like sorting by the proximity to the given frame in the image set or by the time of occurrence. In order to sort results by proximity, please provide values for both query params: closestToImageSetId
and closestToImageId
. Other kind of sorting is available via sortBy
query parameter. By default, if tenantId
and countryCode
+registrationNo
is provided in the query params, in the response all damages with: state created/accepted, firstDamageId equal to null will be returned. If imageSetId
query parameter is provided (and no additional filtering is applied), all the damages with states created/accepted will be returned - including first occurrence damages and damages merged with the first occurrences (meaning: firstDamageId can have null and non-null values). To get damages for a particular car, a pair of tenant ID and the car's registration number has to be provided. filterByState
, isDeleted
, isPotential
and sortBy
query parameters are available only for tenant admins, annotators and reviewers. The included information about size of a damage is always given in mm. returnRepresentatives
query parameter which by default is set to true, provides representative damages from list of damages.
appraisalId | string |
imageSetId | string |
tenantId | string |
countryCode | string |
registrationNo | string |
closestToImageSetId | string Together with 'closestToImageId' enables sorting the results list (potentially closest damages first) |
closestToImageId | string Together with 'closestToImageSetId' enables sorting the results list (potentially closest damages first) |
filterByState | string selected filter for damage boxes; comma separated values of wanted states, possible values are: |
isPotential | string selected filter for damage boxes; possible values are: |
isDeleted | string selected filter for damage boxes; possible values are: |
returnRepresentatives | string selected filter for damage boxes; possible values are: |
returnFamilyOf | string representativeId of requested damage family |
sortBy | string possible values are: |
limit | integer limit number of damages to be returned |
page | integer page number to be returned |
masterTenantAction | bool return all damages for related tenants; possible values are: |
{- "data": {
- "items": [
- {
- "appraisalId": null,
- "carId": "12345678-klmn-klmn-klmn-123456789012",
- "category": "areaScratches",
- "convertedImgSize": "1920x1200",
- "createdAt": 1652366073,
- "damageFamilyReviewed": true,
- "damagedParts": [
- {
- "cameraLocation": "roof",
- "cameraSide": "left",
- "certainty": 0.8,
- "id": "12345678-e5f6-e5f6-e5f6-123456789012",
- "imageId": "12345678-c3d4-c3d4-c3d4-123456789012",
- "name": "wheel",
- "pictogram": {
- "name": "car_left.png",
- "x": 0.12,
- "y": 0.34
}, - "points": [
- {
- "x": 123,
- "y": 123
}, - {
- "x": 123,
- "y": 456
}, - {
- "x": 456,
- "y": 123
}, - {
- "x": 456,
- "y": 456
}
]
}
], - "falsePositives": {
- "fakeDamageLight": false,
- "fakePaintChips": false,
- "fakeScratches": false,
- "fakeWheelDamage": false,
- "notOnVehicle": false
}, - "familySize": 1,
- "fileName": "roofLeft_57.webp",
- "firstDamageId": "12345678-a1b2-a1b2-a1b2-123456789012",
- "id": "12345678-wxyz-wxyz-wxyz-123456789012",
- "imageId": "12345678-c3d4-c3d4-c3d4-123456789012",
- "imageSetId": "12345678-fghj-fghj-fghj-123456789012",
- "limitedTenantFields": [
- {
- "isAvailable": true
}
], - "partnerState": "accepted",
- "points": [
- {
- "x": 123,
- "y": 123
}, - {
- "x": 123,
- "y": 456
}, - {
- "x": 456,
- "y": 123
}, - {
- "x": 456,
- "y": 456
}
], - "potentialDamage": false,
- "processing": false,
- "proxPosCamera": 0,
- "proxPosFrame": 0,
- "proxPosSide": 0,
- "representativeId": "12345678-fghj-fghj-fghj-123456789012",
- "size": {
- "height": 12.34,
- "width": 56.78
}, - "state": "accepted",
- "timestamp": 1652366073,
- "truePositives": {
- "areaScratches": false,
- "cracks": false,
- "dentLight": false,
- "dents": false,
- "frontRearDamage": false,
- "lineScratches": false,
- "missingParts": false,
- "paintChips": false,
- "scratchesLight": false,
- "wheelDamage": false
}
}
]
}, - "message": "Successfully fetched damages with related parts",
- "metadata": {
- "currentItemsPerPage": 2,
- "currentPage": 1,
- "lastPage": 1,
- "maxPerPage": 100,
- "totalItems": 2
}, - "success": true
}
Array of objects[ items >= 2 properties ] |
{- "damages": [
- {
- "falsePositives": {
- "notOnVehicle": true
}, - "id": "12345678-a1b2-a1b2-a1b2-123456789012"
}, - {
- "firstDamageId": "12345678-abcd-abcd-abcd-123456789012",
- "id": "12345678-c3d4-c3d4-c3d4-123456789012"
}, - {
- "id": "12345678-e5f6-e5f6-e5f6-123456789012",
- "partnerState": "rejected"
}, - {
- "id": "12345678-g7h8-g7h8-g7h8-123456789012",
- "points": [
- {
- "x": 12.34,
- "y": 56.78
}
]
}, - {
- "id": "12345678-i9j0-i9j0-i9j0-123456789012",
- "potentialDamage": true
}, - {
- "id": "12345678-k1l2-k1l2-k1l2-123456789012",
- "processing": true
}, - {
- "id": "12345678-m3n4-m3n4-m3n4-123456789012",
- "state": "accepted"
}, - {
- "id": "12345678-o5p6-o5p6-o5p6-123456789012",
- "truePositives": {
- "areaScratches": true
}
}, - {
- "damageFamilyReviewed": true,
- "id": "12345678-i9j0-i9j0-i9j0-123456789012"
}, - {
- "id": "12345678-i9j0-i9j0-i9j0-123456789012",
- "representativeId": "12345678-abcd-abcd-abcd-123456789012"
}
]
}
{- "data": {
- "items": [
- {
- "falsePositives": {
- "fakeDamageLight": false,
- "fakePaintChips": false,
- "fakeScratches": false,
- "fakeWheelDamage": false,
- "notOnVehicle": false
}, - "id": "12345678-abcd-abcd-abcd-12345678",
- "partnerState": "rejected",
- "points": {
- "items": [
- {
- "x": 123,
- "y": 123
}, - {
- "x": 123,
- "y": 456
}, - {
- "x": 456,
- "y": 123
}, - {
- "x": 456,
- "y": 456
}
]
}, - "potentialDamage": false,
- "state": "rejected",
- "truePositives": {
- "areaScratches": false,
- "cracks": false,
- "dentLight": false,
- "dents": false,
- "frontRearDamage": false,
- "lineScratches": false,
- "missingParts": false,
- "paintChips": false,
- "scratchesLight": false,
- "wheelDamage": false
}
}
]
}, - "message": "Successfully updated damages",
- "success": true
}
Array of objects | |
Array of objects Array of damages found on pictogram |
{- "damages": [
- {
- "carId": "12345678-abcd-abcd-abcd-123456789012",
- "falsePositives": {
- "fakeDamageLight": false,
- "fakePaintChips": false,
- "fakeScratches": false,
- "fakeWheelDamage": false,
- "notOnVehicle": false
}, - "firstDamageId": "12345678-mnop-mnop-mnop-123456789012",
- "imageId": "12345678-ijkl-ijkl-ijkl-123456789012",
- "imageSetId": "12345678-efgh-efgh-efgh-123456789012",
- "points": [
- {
- "x": 123,
- "y": 123
}, - {
- "x": 123,
- "y": 456
}, - {
- "x": 456,
- "y": 123
}, - {
- "x": 456,
- "y": 456
}
], - "state": "accepted",
- "truePositives": {
- "areaScratches": false,
- "cracks": false,
- "dentLight": false,
- "dents": false,
- "frontRearDamage": false,
- "lineScratches": false,
- "missingParts": false,
- "paintChips": false,
- "scratchesLight": false,
- "wheelDamage": false
}
}
], - "pictogramDamages": [
- {
- "imageSetId": "12345678-wxyz-wxyz-wxyz-123456789012",
- "new": true,
- "pictogramName": "car_front_180.png",
- "x": 0.12,
- "y": 0.34
}
]
}
{- "message": "Successfully created damages",
- "success": true
}
damages | Array of strings |
{- "damages": [
- "12345678-abcd-abcd-abcd-12345678",
- "12345678-efgh-efgh-efgh-12345678"
]
}
{- "message": "Successfully merged unique damages",
- "success": true
}
Returns a single damage of given ID.
id required | string |
{- "data": {
- "appraisalId": "12345678-abcd-abcd-abcd-123456789012",
- "carId": "12345678-abcd-abcd-abcd-123456789012",
- "category": "wheelDamage",
- "convertedImgSize"": "1920x1200",
- "createdAt": 1715000159,
- "damagedParts": [
- {
- "cameraLocation": "bottom",
- "cameraSide": "left",
- "carEnd": "front",
- "certainty": 0.95,
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "imageId": "12345678-abcd-abcd-abcd-123456789012",
- "name": "wheel",
- "pictogram": {
- "name": "car_left.png",
- "path": "pictograms/assured_europe_version_0/car_left.png",
- "x": 0.12,
- "y": 0.34
}, - "points": [
- {
- "x": 1418,
- "y": 360
}, - {
- "x": 1921,
- "y": 360
}, - {
- "x": 1418,
- "y": 1061
}, - {
- "x": 1921,
- "y": 1061
}
]
}
], - "falsePositives": {
- "fakeDamageLight": false,
- "fakePaintChips": false,
- "fakeScratches": false,
- "fakeWheelDamage": false,
- "notOnVehicle": false
}, - "familySize": 1,
- "fileName": "bottomLeft_28.webp",
- "firstDamageId": null,
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "imageId": "12345678-abcd-abcd-abcd-123456789012",
- "imageSetId": "12345678-abcd-abcd-abcd-123456789012",
- "isManualMatchingExecuted": true,
- "isNew": false,
- "isRecent": true,
- "limitedTenantFields": {
- "isAvailable": false
}, - "points"": [
- {
- "x": 1546,
- "y": 529
}, - {
- "x": 1657,
- "y": 529
}, - {
- "x": 1546,
- "y": 800
}, - {
- "x": 1657,
- "y": 800
}
], - "potentialDamage": false,
- "processing": false,
- "proxPosCamera": 0,
- "proxPosFrame": 0,
- "proxPosSide": 0,
- "representativeId": "12345678-abcd-abcd-abcd-123456789012",
- "size": {
- "height": 230,
- "width": 94
}, - "state"": "accepted",
- "timestamp": 1715000030,
- "truePositives": {
- "areaScratches": false,
- "cracks": true,
- "dentLight": false,
- "dents": false,
- "frontRearDamage": false,
- "lineScratches": false,
- "missingParts": false,
- "paintChips": false,
- "scratchesLight": false,
- "wheelDamage": false
}
}, - "message": "Fetched damage details successfully",
- "success": true
}
Get the list of the image sets.
tenantId | string Example: tenantId=12345678-fghj-fghj-fghj-123456789012 tenantId as UUID string |
ids | string Example: ids=12345678-abcd-abcd-abcd-123456789012,12345678-wxyz-wxyz-wxyz-123456789012 List of imageSetIds, separated by coma to filter by |
limit | integer Example: limit=50 Limit number of image sets to be returned per page |
page | integer Example: page=1 Page number to be returned |
registrationNo | string Example: registrationNo=ABC123 Filter by car registration number. Please provide also country code |
countryCode | string Example: countryCode=NO Filter by country code of car registration number. If not provided but registrationNo given- 'NO' is the default value |
unassignedItems | boolean filters image sets (not) related to any tenant |
isManualProcessingSkipped | boolean filter image sets with manual annotation (not) skipped |
haveImages | boolean if set to true, returns image set with images only |
haveNewDamagesDetected | boolean if set to true, returns image sets that have new damages detected |
startDate | integer Example: startDate=1600000000 Timestamp to filter image sets younger than timestamp; should not be later than endDate |
endDate | integer Example: endDate=1700000000 Timestamp to filter image sets older than timestamp; should not be earlier than startDate |
captureSetLocation | string Example: captureSetLocation=Norway a value for the capture set's location to filter results |
captureSetName | string Example: captureSetName=name a value for the capture set's name to filter results |
searchByCaptureSetLocation | string Example: searchByCaptureSetLocation=nor a value for the capture set's location to search by |
searchByCaptureSetName | string Example: searchByCaptureSetName=na a value for the capture set's name to search by |
searchByRegistrationNo | string Example: searchByRegistrationNo=ABC1 a value for registration number to search by |
groupByRegistrationNo | boolean If set to true returns aggregated results, grouped by registrationNo; for each registrationNo additionally returns fields as imageSetCount, lastRecDate or damagesInLatestPassage |
returnImageCount | boolean If set to true returns image count for every image set |
forManualAnnotation | boolean Available only for the annotator role. If set to true, returns exactly one job (image set) for the annotator. If not provided, it is set to false by default |
forManualReview | boolean Available only for the reviewer role. If set to true, returns exactly one job (image set) for the reviewer. If not given it is set to false by default |
{- "data": {
- "items": [
- {
- "appraisalId": "12345678-abcd-abcd-abcd-123456789012",
- "carId": "12345678-abcd-abcd-abcd-123456789012",
- "carInfo": {
- "color": "blue",
- "displacement": 827.755772596854,
- "fuel": "diesel",
- "gear": "manual",
- "kW": 351,
- "mileage": 93502697.9995856,
- "model": "Subaru Outback",
- "registrationNo": "NO#ABC123",
- "vin": "6EXVZHHV7LN1UEH3Z",
- "year": 2018
}, - "createdAt": 755350172,
- "hasImages": false,
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "limitedTenantFields": {
- "isAvailable": false,
- "isTriggered": false
}, - "manualProcessing": {
- "annotationEnabled": false,
- "annotationTime": 192822572,
- "annotatorDamagesDeletedByReviewer": [
- "12345678-abcd-abcd-abcd-123456789012"
], - "createdAt": 722794885,
- "damagesAddedByAnnotator": [
- "12345678-abcd-abcd-abcd-123456789012"
], - "damagesAddedByReviewer": [
- "12345678-abcd-abcd-abcd-123456789012"
], - "isSkipped": true,
- "lastAnnotationLockTime": 1617373655,
- "lastAnnotatorId": "12345678-abcd-abcd-abcd-123456789012",
- "lastReviewLockTime": 1382423257,
- "lastReviewerId": "12345678-abcd-abcd-abcd-123456789012",
- "reviewEnabled": true,
- "reviewTime": 614231073,
- "status": 2
}, - "mlProcessing": {
- "damageIdentificationFinished": true,
- "dmgDetectProcessing": true,
- "dmgDetectTimestamp": 172049855
}, - "origin": {
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "label": "pickup",
- "location": "Norway",
- "name": "random-name",
- "type": "device"
}, - "passageId": "12345678-abcd-abcd-abcd-123456789012",
- "pipeline": "{('damage_identification', 1): [('start', 0)], ('start', 0): None}",
- "recDate": 121270608,
- "relatedImageSetId": "12345678-abcd-abcd-abcd-123456789012",
- "tenantId": "12345678-abcd-abcd-abcd-123456789012"
}
]
}, - "meta": {
- "currentItemsPerPage": 1,
- "currentPage": 1,
- "lastPage": 1,
- "maxPerPage": 100,
- "totalItems": 1
}, - "success": true
}
Creates a image set for images, which are going to be added later. If country code not provided, NO will be set.
countryCode | string |
deviceSetId | string |
recDate | string |
registrationNo | string |
tenantId required | string |
vin | string |
{- "countryCode": "DK",
- "deviceSetId": "00000000-af9c-4f98-b2dc-c3cfed110000",
- "recDate": "1669982152",
- "registrationNo": "KL9802",
- "tenantId": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5",
- "vin": "JH4KA8162MC010197"
}
{- "data": {
- "items": [
- {
- "id": "cb5c706b-500e-48a2-b01b-7f3e1459d381"
}
]
}, - "message": "Successfully added new image set",
- "success": true
}
Assign unassigned items to the current tenant
required | Array of objects |
{- "imageSets": [
- {
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "registrationNo": "NO#ABC123"
}
]
}
{- "data": [
- {
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "registrationNo": "NO#ABC123"
}
], - "success": true
}
Counts image sets in annotation or review processes. At least one query param- either 'forManualReview' or 'forManualAnnotation' has to be set to 'true'
forManualReview | boolean if set to true, counting review jobs |
forManualAnnotation | boolean if set to true, counting annotation jobs |
{- "forManualAnnotation": {
- "isLockedByCurrentUser": false,
- "locked": 0,
- "unlocked": 11
}, - "forManualReview": {
- "isLockedByCurrentUser": true,
- "locked": 1,
- "unlocked": 5
}, - "message": "Image sets counted successfully",
- "success": true
}
Checks if image sets with given ids are related with damages that first occurrence is within last 120h. If has damages within last 24h - labels them as 'new' If has damages within last 120h - labels them an 'recent'
ids required | string list of image set ids divided by a comma |
{- "data": {
- "12345678-abcd-abcd-abcd-123456789012": {
- "hasNewDamages": true,
- "hasRecentDamages": true
}, - "12345678-wxyz-wxyz-wxyz-123456789012": {
- "hasNewDamages": false,
- "hasRecentDamages": true
}
}, - "message": "Successfully checked if imageSets have new / recent damages",
- "success": true
}
Redirect user to allowed tenant
imageSetIds required | Array of strings |
refreshToken | string |
{- "imageSetIds": [
- "12345678-abcd-abcd-abcd-123456789012"
], - "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
{- "data": {
- "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
- "currentTenant": "12345678-abcd-abcd-abcd-123456789012",
- "expiresIn": 3600,
- "idToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
- "tokenType": "Bearer"
}, - "success": true
}
Returns details of given image set
id required | string the id of the image set you would like to access |
{- "data": {
- "appraisalId": "12345678-abcd-abcd-abcd-123456789012",
- "carId": "12345678-abcd-abcd-abcd-123456789012",
- "carInfo": {
- "color": "blue",
- "displacement": 827.755772596854,
- "fuel": "diesel",
- "gear": "manual",
- "kW": 351,
- "mileage": 93502697.9995856,
- "model": "Subaru Outback",
- "registrationNo": "NO#ABC123",
- "vin": "6EXVZHHV7LN1UEH3Z",
- "year": 2018
}, - "createdAt": 755350172,
- "hasImages": false,
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "limitedTenantFields": {
- "isAvailable": false,
- "isTriggered": false
}, - "manualProcessing": {
- "annotationEnabled": false,
- "annotationTime": 192822572,
- "annotatorDamagesDeletedByReviewer": [
- "12345678-abcd-abcd-abcd-123456789012"
], - "createdAt": 722794885,
- "damagesAddedByAnnotator": [
- "12345678-abcd-abcd-abcd-123456789012"
], - "damagesAddedByReviewer": [
- "12345678-abcd-abcd-abcd-123456789012"
], - "isSkipped": true,
- "lastAnnotationLockTime": 1617373655,
- "lastAnnotatorId": "12345678-abcd-abcd-abcd-123456789012",
- "lastReviewLockTime": 1382423257,
- "lastReviewerId": "12345678-abcd-abcd-abcd-123456789012",
- "manualAnnotationAvailable": false,
- "manualReviewAvailable": false,
- "reviewEnabled": true,
- "reviewTime": 614231073,
- "status": 2
}, - "mlProcessing": {
- "damageIdentificationFinished": true,
- "dmgDetectProcessing": true,
- "dmgDetectTimestamp": 172049855
}, - "origin": {
- "id": "12345678-abcd-abcd-abcd-123456789012",
- "label": "pickup",
- "location": "Norway",
- "name": "random-name",
- "type": "device"
}, - "passageId": "12345678-abcd-abcd-abcd-123456789012",
- "pipeline": "{('damage_identification', 1): [('start', 0)], ('start', 0): None}",
- "recDate": 121270608,
- "relatedImageSetId": "12345678-abcd-abcd-abcd-123456789012",
- "tenantId": "12345678-abcd-abcd-abcd-123456789012"
}, - "success": true
}
Update details of given image set
id required | string the id of the image set you would like to access |
object | |
partnerState | string |
{- "carInfo": {
- "color": "blue",
- "displacement": 827.755772596854,
- "fuel": "diesel",
- "gear": "manual",
- "kW": 351,
- "mileage": 93502697.9995856,
- "model": "Subaru Outback",
- "registrationNo": "NO#ABC123",
- "vin": "6EXVZHHV7LN1UEH3Z",
- "year": 2018
}, - "partnerState": "reviewed"
}
{- "data": {
- "id": "12345678-abcd-abcd-abcd-123456789012"
}, - "success": true
}
Lock image set for annotation or review
id required | string the id of the image set you would like to access |
manualProcess | string Enum: "ANNOTATION" "REVIEW" |
{- "manualProcess": "ANNOTATION"
}
{- "data": {
- "id": "12345678-abcd-abcd-abcd-123456789012"
}, - "success": true
}
Update status of given image set
id required | string the id of the image set you would like to access |
isSkipped | boolean |
status | integer |
{- "isSkipped": true,
- "status": 2
}
{- "data": {
- "id": "12345678-abcd-abcd-abcd-123456789012"
}, - "success": true
}
Unlock image set for annotation or review
id required | string the id of the image set you would like to access |
manualProcess | string Enum: "ANNOTATION" "REVIEW" |
{- "manualProcess": "ANNOTATION"
}
{- "data": {
- "id": "12345678-abcd-abcd-abcd-123456789012"
}, - "success": true
}
Lists images related to the imageSet
imageSetId required | string Example: imageSetId=12345678-abcd-abcd-abcd-123456789012 id of an image set |
forReview | boolean returns images with visible damages |
{- "data": {
- "items": [
- {
- "camera": "topRight",
- "convertedSize": "1920x1200",
- "createdAt": 755350172,
- "deletedAt": 755350172,
- "fileName": "topRight_23.webp",
- "generatedBy": "frameSelection",
- "hasDamages": true,
- "id": "12345678-fghj-fghj-fghj-123456789012",
- "imageSetId": "12345678-abcd-abcd-abcd-123456789012",
- "key": "video_frames/12345678-a1b2-a1b2-a1b2-123456789012/12345678-c3d4-c3d4-c3d4-123456789012/1920x1200/topRight_23.webp",
- "limitedTenantFields": {
- "isAvailable": true
}, - "parentType": "imagesets",
- "size": {
- "height": 1200,
- "width": 1920
}, - "softDeleted": {
- "timestamp": 755350172,
- "userId": "12345678-wxyz-wxyz-wxyz-123456789012"
}, - "tenantId": "12345678-wxyz-wxyz-wxyz-123456789012"
}
]
}, - "success": true
}
Deletes single image by id
id required | string Example: 12345678-abcd-abcd-abcd-123456789012 id of an image |
{- "data": {
- "id": "12345678-abcd-abcd-abcd-123456789012"
}, - "message": "Image deleted successfully",
- "success": true
}
Gets single image by id. If successful, the endpoint responds with '302 - Found', which redirects to the right image (based on the 'Location' header).
id required | string Example: 12345678-abcd-abcd-abcd-123456789012 id of an image |
{- "message": "URL to the content in the Location header",
- "success": true
}
Get list of logos
tenantIds required | string ids of tenants you would like to fetch logos |
{- "data": {
- "items": {
- "af91c000-af7e-4adb-a10c-204bfffcd400": {
}
}, - "tenantNames": {
- "af91c000-af7e-4adb-a10c-204bfffcd400": "tenant_name"
}
}, - "message": "Images list",
- "success": true
}
Allows to add a new logo to the given tenant. Returns a presigned URL for the file
fileName | string |
tenant | string <uuid> |
{- "fileName": "image.jpg",
- "tenantId": "f71e2466-af9c-4f98-b2dc-c3cfed1165f5"
}
{- "data": {
- "fields": {
- "AWSAccessKeyId": "CSDASDASDASDASD",
- "Content-Type": "image/jpeg",
- "acl": "bucket-owner-full-control",
- "key": "cb5c706b-5006adff653eb-image.jpeg",
- "policy": "CVCVCVCVCVCV",
- "signature": "CVCVCVCVC",
- "x-amz-security-token": "XCXCXCXCXC"
},
}, - "message": "Pre-signed URL successfully created",
- "success": true
}