Infrasel API v2 (2.0.0)

Download OpenAPI specification:

Strapi 3.2.3 headless CMS backend for RONDA.

Authentication

User authentication endpoints

User login

Authenticate user with identifier (username/email) and password

Request Body schema: application/json
required
identifier
required
string

Username or email

password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "identifier": "string",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "jwt": "string",
  • "user": {
    }
}

Request password reset

Send password reset email to user

Request Body schema: application/json
required
email
required
string <email>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "ok": true
}

Reset password

Complete password reset with code from email

Request Body schema: application/json
required
code
required
string
password
required
string <password>
passwordConfirmation
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "password": "pa$$word",
  • "passwordConfirmation": "pa$$word"
}

Response samples

Content type
application/json
{
  • "jwt": "string",
  • "user": {
    }
}

Change password

Change password for authenticated user

Authorizations:
bearerAuth
Request Body schema: application/json
required
password
required
string <password>
passwordConfirmation
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "password": "pa$$word",
  • "passwordConfirmation": "pa$$word"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "username": "string",
  • "email": "user@example.com",
  • "provider": "string",
  • "confirmed": true,
  • "blocked": true,
  • "role": {
    },
  • "name": "string",
  • "isCmsUser": true,
  • "districts": [
    ],
  • "contractor": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Users

User management

List users

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

username_contains
string
email_contains
string
role
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List user roles

Get available user permission roles

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "roles": [
    ]
}

Cases

Main incident/complaint management

List cases

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

status
string
Enum: "received" "inProgress" "solved" "notRelated" "pending"
source
string
Enum: "socialMedia" "mobileApp" "agent"
type
string
district
string

District ID

road
string

Road ID

category
string
isArchived
boolean
timestamp_gte
string <date-time>
timestamp_lte
string <date-time>
createdAt_gte
string <date-time>
createdAt_lte
string <date-time>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create case

Authorizations:
bearerAuth
Request Body schema:
required
source
string
Enum: "socialMedia" "mobileApp" "agent"
type
string
Enum: "facebook" "twitter" "waze" "whatsapp" "mobile" "ai" "instagram" "textMessage"
status
string
Enum: "received" "inProgress" "solved" "notRelated" "pending"
timestamp
string <date-time>
lat
number <float>
lng
number <float>
section
number
caption
string
socmedUsername
string
socmedPostUrl
string
socmedAvatarUrl
string
road
string

Road ID

project
string

Project ID

district
string

District ID

contractor
string

Contractor ID

inspection
string

Inspection ID

caseNumber
string
category
string
Enum: "Rutin" "Berkala_Pavemen" "Berkala_Bukan_Pavemen" "Kecemasan" "Agensi_Berkenaan" "Lampu_Isyarat" "Lampu_Jalan" "Feeder_Pillar" "Tampalan_PBT"
complaintType
string
Enum: "default" "sand_mining" "flood"
reportType
string
generalLocation
string
actionBy
string
afterCaption
string
remarks
string
dimension
string
premix_quantity
string
width
number
height
number
mix_type
string
Enum: "hotmix" "coldmix"
isApproved
boolean
isNoe
boolean
isNod
boolean
workDetails
object

Responses

Request samples

Content type
{
  • "source": "socialMedia",
  • "type": "facebook",
  • "status": "received",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "lat": 0.1,
  • "lng": 0.1,
  • "section": 0,
  • "caption": "string",
  • "socmedUsername": "string",
  • "socmedPostUrl": "string",
  • "socmedAvatarUrl": "string",
  • "road": "string",
  • "project": "string",
  • "district": "string",
  • "contractor": "string",
  • "inspection": "string",
  • "caseNumber": "string",
  • "category": "Rutin",
  • "complaintType": "default",
  • "reportType": "string",
  • "generalLocation": "string",
  • "actionBy": "string",
  • "afterCaption": "string",
  • "remarks": "string",
  • "dimension": "string",
  • "premix_quantity": "string",
  • "width": 0,
  • "height": 0,
  • "mix_type": "hotmix",
  • "isApproved": true,
  • "isNoe": true,
  • "isNod": true,
  • "workDetails": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "source": "socialMedia",
  • "type": "facebook",
  • "status": "received",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "lat": 0.1,
  • "lng": 0.1,
  • "section": 0,
  • "caption": "string",
  • "socmedUsername": "string",
  • "socmedPostUrl": "string",
  • "socmedAvatarUrl": "string",
  • "media": [
    ],
  • "media_during": [
    ],
  • "media_after": [
    ],
  • "user": {
    },
  • "road": {
    },
  • "project": {
    },
  • "district": {
    },
  • "contractor": {
    },
  • "defect": {
    },
  • "inspection": {
    },
  • "comments": [
    ],
  • "verifications": [
    ],
  • "nod_case": {
    },
  • "relatedCase": {
    },
  • "caseNumber": "string",
  • "category": "Rutin",
  • "complaintType": "default",
  • "reportType": "string",
  • "generalLocation": "string",
  • "actionBy": "string",
  • "afterCaption": "string",
  • "remarks": "string",
  • "dimension": "string",
  • "premix_quantity": "string",
  • "width": 0.1,
  • "height": 0.1,
  • "mix_type": "hotmix",
  • "isApproved": false,
  • "isLocal": true,
  • "isNoe": true,
  • "isNod": true,
  • "isFirebase": false,
  • "isArchived": false,
  • "isNotify": false,
  • "solveDate": 0,
  • "liveSecond": 0,
  • "locationKKE": "string",
  • "startKKE": "14:15:22Z",
  • "endKKE": "14:15:22Z",
  • "workDetails": { },
  • "submitBy": "string",
  • "designation": "string",
  • "contractorKKE": "string",
  • "createdTime": "14:15:22Z",
  • "activityId": "string",
  • "districtBQ": {
    },
  • "districtAK": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Count cases

Authorizations:
bearerAuth
query Parameters
status
string
district
string
source
string
timestamp_gte
string <date-time>
timestamp_lte
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get case by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "source": "socialMedia",
  • "type": "facebook",
  • "status": "received",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "lat": 0.1,
  • "lng": 0.1,
  • "section": 0,
  • "caption": "string",
  • "socmedUsername": "string",
  • "socmedPostUrl": "string",
  • "socmedAvatarUrl": "string",
  • "media": [
    ],
  • "media_during": [
    ],
  • "media_after": [
    ],
  • "user": {
    },
  • "road": {
    },
  • "project": {
    },
  • "district": {
    },
  • "contractor": {
    },
  • "defect": {
    },
  • "inspection": {
    },
  • "comments": [
    ],
  • "verifications": [
    ],
  • "nod_case": {
    },
  • "relatedCase": {
    },
  • "caseNumber": "string",
  • "category": "Rutin",
  • "complaintType": "default",
  • "reportType": "string",
  • "generalLocation": "string",
  • "actionBy": "string",
  • "afterCaption": "string",
  • "remarks": "string",
  • "dimension": "string",
  • "premix_quantity": "string",
  • "width": 0.1,
  • "height": 0.1,
  • "mix_type": "hotmix",
  • "isApproved": false,
  • "isLocal": true,
  • "isNoe": true,
  • "isNod": true,
  • "isFirebase": false,
  • "isArchived": false,
  • "isNotify": false,
  • "solveDate": 0,
  • "liveSecond": 0,
  • "locationKKE": "string",
  • "startKKE": "14:15:22Z",
  • "endKKE": "14:15:22Z",
  • "workDetails": { },
  • "submitBy": "string",
  • "designation": "string",
  • "contractorKKE": "string",
  • "createdTime": "14:15:22Z",
  • "activityId": "string",
  • "districtBQ": {
    },
  • "districtAK": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update case

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Request Body schema:
required
source
string
Enum: "socialMedia" "mobileApp" "agent"
type
string
Enum: "facebook" "twitter" "waze" "whatsapp" "mobile" "ai" "instagram" "textMessage"
status
string
Enum: "received" "inProgress" "solved" "notRelated" "pending"
timestamp
string <date-time>
lat
number <float>
lng
number <float>
section
number
caption
string
socmedUsername
string
socmedPostUrl
string
socmedAvatarUrl
string
road
string

Road ID

project
string

Project ID

district
string

District ID

contractor
string

Contractor ID

inspection
string

Inspection ID

caseNumber
string
category
string
Enum: "Rutin" "Berkala_Pavemen" "Berkala_Bukan_Pavemen" "Kecemasan" "Agensi_Berkenaan" "Lampu_Isyarat" "Lampu_Jalan" "Feeder_Pillar" "Tampalan_PBT"
complaintType
string
Enum: "default" "sand_mining" "flood"
reportType
string
generalLocation
string
actionBy
string
afterCaption
string
remarks
string
dimension
string
premix_quantity
string
width
number
height
number
mix_type
string
Enum: "hotmix" "coldmix"
isApproved
boolean
isNoe
boolean
isNod
boolean
workDetails
object

Responses

Request samples

Content type
{
  • "source": "socialMedia",
  • "type": "facebook",
  • "status": "received",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "lat": 0.1,
  • "lng": 0.1,
  • "section": 0,
  • "caption": "string",
  • "socmedUsername": "string",
  • "socmedPostUrl": "string",
  • "socmedAvatarUrl": "string",
  • "road": "string",
  • "project": "string",
  • "district": "string",
  • "contractor": "string",
  • "inspection": "string",
  • "caseNumber": "string",
  • "category": "Rutin",
  • "complaintType": "default",
  • "reportType": "string",
  • "generalLocation": "string",
  • "actionBy": "string",
  • "afterCaption": "string",
  • "remarks": "string",
  • "dimension": "string",
  • "premix_quantity": "string",
  • "width": 0,
  • "height": 0,
  • "mix_type": "hotmix",
  • "isApproved": true,
  • "isNoe": true,
  • "isNod": true,
  • "workDetails": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "source": "socialMedia",
  • "type": "facebook",
  • "status": "received",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "lat": 0.1,
  • "lng": 0.1,
  • "section": 0,
  • "caption": "string",
  • "socmedUsername": "string",
  • "socmedPostUrl": "string",
  • "socmedAvatarUrl": "string",
  • "media": [
    ],
  • "media_during": [
    ],
  • "media_after": [
    ],
  • "user": {
    },
  • "road": {
    },
  • "project": {
    },
  • "district": {
    },
  • "contractor": {
    },
  • "defect": {
    },
  • "inspection": {
    },
  • "comments": [
    ],
  • "verifications": [
    ],
  • "nod_case": {
    },
  • "relatedCase": {
    },
  • "caseNumber": "string",
  • "category": "Rutin",
  • "complaintType": "default",
  • "reportType": "string",
  • "generalLocation": "string",
  • "actionBy": "string",
  • "afterCaption": "string",
  • "remarks": "string",
  • "dimension": "string",
  • "premix_quantity": "string",
  • "width": 0.1,
  • "height": 0.1,
  • "mix_type": "hotmix",
  • "isApproved": false,
  • "isLocal": true,
  • "isNoe": true,
  • "isNod": true,
  • "isFirebase": false,
  • "isArchived": false,
  • "isNotify": false,
  • "solveDate": 0,
  • "liveSecond": 0,
  • "locationKKE": "string",
  • "startKKE": "14:15:22Z",
  • "endKKE": "14:15:22Z",
  • "workDetails": { },
  • "submitBy": "string",
  • "designation": "string",
  • "contractorKKE": "string",
  • "createdTime": "14:15:22Z",
  • "activityId": "string",
  • "districtBQ": {
    },
  • "districtAK": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete case

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "source": "socialMedia",
  • "type": "facebook",
  • "status": "received",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "lat": 0.1,
  • "lng": 0.1,
  • "section": 0,
  • "caption": "string",
  • "socmedUsername": "string",
  • "socmedPostUrl": "string",
  • "socmedAvatarUrl": "string",
  • "media": [
    ],
  • "media_during": [
    ],
  • "media_after": [
    ],
  • "user": {
    },
  • "road": {
    },
  • "project": {
    },
  • "district": {
    },
  • "contractor": {
    },
  • "defect": {
    },
  • "inspection": {
    },
  • "comments": [
    ],
  • "verifications": [
    ],
  • "nod_case": {
    },
  • "relatedCase": {
    },
  • "caseNumber": "string",
  • "category": "Rutin",
  • "complaintType": "default",
  • "reportType": "string",
  • "generalLocation": "string",
  • "actionBy": "string",
  • "afterCaption": "string",
  • "remarks": "string",
  • "dimension": "string",
  • "premix_quantity": "string",
  • "width": 0.1,
  • "height": 0.1,
  • "mix_type": "hotmix",
  • "isApproved": false,
  • "isLocal": true,
  • "isNoe": true,
  • "isNod": true,
  • "isFirebase": false,
  • "isArchived": false,
  • "isNotify": false,
  • "solveDate": 0,
  • "liveSecond": 0,
  • "locationKKE": "string",
  • "startKKE": "14:15:22Z",
  • "endKKE": "14:15:22Z",
  • "workDetails": { },
  • "submitBy": "string",
  • "designation": "string",
  • "contractorKKE": "string",
  • "createdTime": "14:15:22Z",
  • "activityId": "string",
  • "districtBQ": {
    },
  • "districtAK": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Verifications

Case verification records

Create verification

Authorizations:
bearerAuth
Request Body schema:
required
datetime
string <date-time>
remarks
string
case
string

Case ID

Responses

Request samples

Content type
{
  • "datetime": "2019-08-24T14:15:22Z",
  • "remarks": "string",
  • "case": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "datetime": "2019-08-24T14:15:22Z",
  • "remarks": "string",
  • "media": [
    ],
  • "case": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete verification

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 401,
  • "error": "Unauthorized",
  • "message": "Invalid token."
}

Defects

Road defect records

Delete defect

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 401,
  • "error": "Unauthorized",
  • "message": "Invalid token."
}

Districts

Administrative districts

List districts

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

name_contains
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List districts without aggregations

Get districts without case/defect count aggregations for faster response

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Roads

Road records

Get road by ID

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "district": "string",
  • "subdistrict": "string",
  • "lat": 0.1,
  • "lng": 0.1,
  • "len": 0.1,
  • "type": "protocol",
  • "state": {
    },
  • "daerah": {
    },
  • "project": {
    },
  • "inspections": [
    ],
  • "cases": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Find nearest roads

Find roads nearest to given coordinates using geolocation

Authorizations:
bearerAuth
query Parameters
lat
required
number <float>
lng
required
number <float>
limit
integer
Default: 5

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List roads without aggregations

Get roads without case/defect count aggregations

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Dashcam Videos

Dashcam video management

List dashcam videos

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

district
string
road
string
isProcessed
boolean
isReviewed
boolean
isArchived
boolean
datetime_gte
string <date-time>
datetime_lte
string <date-time>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Count dashcam videos

Authorizations:
bearerAuth
query Parameters
district
string
isProcessed
boolean
isReviewed
boolean
datetime_gte
string <date-time>
datetime_lte
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get road info from coordinates

Reverse geocode coordinates to find road name via Google Maps API

Authorizations:
bearerAuth
query Parameters
lat
required
number <float>
lng
required
number <float>

Responses

Response samples

Content type
application/json
{
  • "roadName": "string",
  • "formattedAddress": "string"
}

Update dashcam video

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Request Body schema: application/json
required
datetime
string <date-time>
isProcessed
boolean
isReviewed
boolean
isArchived
boolean
videoPath
string
processedVideo
string
startingLat
number
startingLng
number
roadName
string
videoCodec
string
Enum: "h264" "hevc"
videoType
string
Enum: "dashcam" "drone"
coordinates
object
road
string
project
string
district
string
contractor
string

Responses

Request samples

Content type
application/json
{
  • "datetime": "2019-08-24T14:15:22Z",
  • "isProcessed": true,
  • "isReviewed": true,
  • "isArchived": true,
  • "videoPath": "string",
  • "processedVideo": "string",
  • "startingLat": 0,
  • "startingLng": 0,
  • "roadName": "string",
  • "videoCodec": "h264",
  • "videoType": "dashcam",
  • "coordinates": { },
  • "road": "string",
  • "project": "string",
  • "district": "string",
  • "contractor": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "datetime": "2019-08-24T14:15:22Z",
  • "isProcessed": false,
  • "isReviewed": false,
  • "isArchived": false,
  • "videoPath": "string",
  • "processedVideo": "string",
  • "startingLat": 0.1,
  • "startingLng": 0.1,
  • "roadName": "string",
  • "videoCodec": "h264",
  • "videoType": "dashcam",
  • "coordinates": { },
  • "video": {
    },
  • "videoProcessed": {
    },
  • "road": {
    },
  • "project": {
    },
  • "district": {
    },
  • "contractor": {
    },
  • "defects": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete dashcam video

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 401,
  • "error": "Unauthorized",
  • "message": "Invalid token."
}

Drone Videos

Drone video management

List drone videos

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

district
string
road
string
isProcessed
boolean
isReviewed
boolean
isArchived
boolean
datetime_gte
string <date-time>
datetime_lte
string <date-time>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Count drone videos

Authorizations:
bearerAuth
query Parameters
district
string
isProcessed
boolean
isReviewed
boolean
datetime_gte
string <date-time>
datetime_lte
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Update drone video

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Request Body schema: application/json
required
datetime
string <date-time>
isProcessed
boolean
isReviewed
boolean
isArchived
boolean
startingLat
number
startingLng
number
coordinates
object
road
string
district
string

Responses

Request samples

Content type
application/json
{
  • "datetime": "2019-08-24T14:15:22Z",
  • "isProcessed": true,
  • "isReviewed": true,
  • "isArchived": true,
  • "startingLat": 0,
  • "startingLng": 0,
  • "coordinates": { },
  • "road": "string",
  • "district": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "datetime": "2019-08-24T14:15:22Z",
  • "isProcessed": false,
  • "isReviewed": false,
  • "isArchived": false,
  • "startingLat": 0.1,
  • "startingLng": 0.1,
  • "coordinates": { },
  • "video": {
    },
  • "videoProcessed": {
    },
  • "srt": {
    },
  • "road": {
    },
  • "district": {
    },
  • "defects": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete drone video

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "statusCode": 401,
  • "error": "Unauthorized",
  • "message": "Invalid token."
}

Vehicles

Vehicle/TRAM tracking

Get vehicle travel data

Get travel/route data for a vehicle on a specific date

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

date
required
string <date>

Date in YYYY-MM-DD format

Responses

Response samples

Content type
application/json
{
  • "date": "2019-08-24",
  • "coordinates": [
    ]
}

NOD Cases

NOD maintenance division cases

List NOD cases

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

district
string
road
string
groupType
string
isRejected
boolean

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create NOD case

Authorizations:
bearerAuth
Request Body schema:
required
groupType
string
typeOfDefect
string
lat
number
lng
number
serialNo
string
timestamp
string <date>
isRejected
boolean
componentStatus
object
district
string
road
string

Responses

Request samples

Content type
{
  • "groupType": "string",
  • "typeOfDefect": "string",
  • "lat": 0,
  • "lng": 0,
  • "serialNo": "string",
  • "timestamp": "2019-08-24",
  • "isRejected": true,
  • "componentStatus": { },
  • "district": "string",
  • "road": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "groupType": "string",
  • "typeOfDefect": "string",
  • "lat": 0.1,
  • "lng": 0.1,
  • "serialNo": "string",
  • "timestamp": "2019-08-24",
  • "isRejected": false,
  • "componentStatus": { },
  • "photos": [
    ],
  • "district": {
    },
  • "road": {
    },
  • "cases": [
    ],
  • "nod_site_visit": { },
  • "nod_bq": { },
  • "nod_wo": { },
  • "nod_site_diaries": [
    ],
  • "nod_claim": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update NOD case

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Request Body schema: application/json
required
groupType
string
typeOfDefect
string
lat
number
lng
number
serialNo
string
timestamp
string <date>
isRejected
boolean
componentStatus
object
district
string
road
string

Responses

Request samples

Content type
application/json
{
  • "groupType": "string",
  • "typeOfDefect": "string",
  • "lat": 0,
  • "lng": 0,
  • "serialNo": "string",
  • "timestamp": "2019-08-24",
  • "isRejected": true,
  • "componentStatus": { },
  • "district": "string",
  • "road": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "groupType": "string",
  • "typeOfDefect": "string",
  • "lat": 0.1,
  • "lng": 0.1,
  • "serialNo": "string",
  • "timestamp": "2019-08-24",
  • "isRejected": false,
  • "componentStatus": { },
  • "photos": [
    ],
  • "district": {
    },
  • "road": {
    },
  • "cases": [
    ],
  • "nod_site_visit": { },
  • "nod_bq": { },
  • "nod_wo": { },
  • "nod_site_diaries": [
    ],
  • "nod_claim": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Pavement Cases

Pavement maintenance cases

Create pavement case

Authorizations:
bearerAuth
Request Body schema:
required
name
string
lat
number
lng
number
timestamp
string <date-time>
caption
string
serialNo
string
status
string
Enum: "Pending_Site_Visit" "Pending_BQ" "Pending_WO" "Pending_PQP" "Pending_Site_Diary" "Completed"
progress
number
wo_startDate
string <date-time>
wo_contractor
string
start_date
string <date-time>
end_date
string <date-time>
iraa_road_id
string
iraa_road_name
string
mapping_url
string
ortho_before
string
ortho_after
string
iraa_road
object
district
string
pavement_road
string

Responses

Request samples

Content type
{
  • "name": "string",
  • "lat": 0,
  • "lng": 0,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "caption": "string",
  • "serialNo": "string",
  • "status": "Pending_Site_Visit",
  • "progress": 0,
  • "wo_startDate": "2019-08-24T14:15:22Z",
  • "wo_contractor": "string",
  • "start_date": "2019-08-24T14:15:22Z",
  • "end_date": "2019-08-24T14:15:22Z",
  • "iraa_road_id": "string",
  • "iraa_road_name": "string",
  • "mapping_url": "string",
  • "ortho_before": "string",
  • "ortho_after": "string",
  • "iraa_road": { },
  • "district": "string",
  • "pavement_road": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "lat": 0.1,
  • "lng": 0.1,
  • "timestamp": "2019-08-24T14:15:22Z",
  • "caption": "string",
  • "serialNo": "string",
  • "status": "Pending_Site_Visit",
  • "progress": 0,
  • "wo_startDate": "2019-08-24T14:15:22Z",
  • "wo_contractor": "string",
  • "start_date": "2019-08-24T14:15:22Z",
  • "end_date": "2019-08-24T14:15:22Z",
  • "iraa_road_id": "string",
  • "iraa_road_name": "string",
  • "mapping_url": "string",
  • "ortho_before": "string",
  • "ortho_after": "string",
  • "iraa_road": { },
  • "media": [
    ],
  • "media_during": [
    ],
  • "media_after": [
    ],
  • "gallery": [
    ],
  • "bq": {
    },
  • "wo": {
    },
  • "coringTest": {
    },
  • "jms": {
    },
  • "claim": {
    },
  • "district": {
    },
  • "pavement_road": {
    },
  • "pavement_site_visit": { },
  • "pavement_site_diaries": [
    ],
  • "pavement_works": [
    ],
  • "pavement_pqps": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Pavement Roads

Roads for pavement management

List pavement roads

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

district
string
zone
string
Enum: "north" "central" "south"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload

File upload operations

Upload files

Upload files to storage (Azure/DigitalOcean Spaces)

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
files
Array of strings <binary> [ items <binary > ]

Files to upload

ref
string

Content type reference (e.g., "case")

refId
string

Record ID to attach file to

field
string

Field name to attach file to (e.g., "media")

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete uploaded file

Authorizations:
bearerAuth
path Parameters
id
required
string

Record ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "alternativeText": "string",
  • "caption": "string",
  • "width": 0,
  • "height": 0,
  • "formats": { },
  • "hash": "string",
  • "ext": "string",
  • "mime": "string",
  • "size": 0,
  • "url": "string",
  • "provider": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Trams

TRAM/PCA road condition assessment

List TRAM/PCA records

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

year
integer

Filter by year

type
string

Filter by type

_where[district]
string

Filter by district ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Contractors

Contractor information

List contractor names

Authorizations:
bearerAuth
query Parameters
_limit
integer
Default: 100

Maximum number of results

_start
integer
Default: 0

Offset for pagination

_sort
string

Sort field and order (e.g., createdAt:DESC)

name_in
string

Filter by contractor name (can be repeated)

Responses

Response samples

Content type
application/json
[
  • {
    }
]