Web API
| Verification | |
|---|---|
| Tags | |
| Last edited | |
| Last edited time | |
| Owner | |
| Person |
Web API Documentation
User
Get Access token
POST /api/v1/oauth2/token
Headers
| Authorization | Basic c3NvLWNsaWVudDpzZWNyZXQta2V5 |
| Content-Type | application/x-www-form-urlencoded |
Body
| username | |
| grant_type | password |
| password | text |
RefreshToken
POST /api/v1/oauth2/renew
Headers
| Authorization | Basic c3NvLWNsaWVudDpzZWNyZXQta2V5 |
| Content-Type | application/x-www-form-urlencoded |
Body
| username | |
| grant_type | password |
| password | text |
Reset password
POST /api/v1/oauth2/resetpassword
//src/forgotpass/Reset.tsx
...
fetch(`${OAUTH2_TOKEN_RESET_PASSWORD}`, {
method: 'POST',
credentials: 'include',
headers: new Headers({
Authorization: `Bearer ${accessToken}`,
'Content-Type': 'application/json',
}),
body: JSON.stringify({ password: values?.password }),
redirect: 'follow'
})
...Headers
| Authorization | Bearer {{token} |
Body
| password | password |
Forgot password
POST /api/v1/oauth2/forgotpassword?emailid={{email}}
Headers
| Authorization | Bearer {{token} |
Params
| emailId |
Officer
Create officer
POST /api/v1/web/officers
Authorization : Bearer token
body :
{
"employeeId": "hope007",
"emailId": "hope@gmail.com",
"firstName": "Hope",
"userName": "hope@gmail.com",
"lastName": "cmdr",
"password":"hope123",
"dob": "2020-08-03T04:33:59.431300Z",
"roles": [
"ROLE_OFFICER"
],
"payRate": {
"type":"ANNUAL",
"annual":"123445",
"annualHourlyRate":"90"
}
}Fetch officer
GET /api/v1/web/officers
Authorization : Bearer token
Params
| sort | employeeId,a || employeeId,d |
| pageSize | 10 |
| pageNumber | 0 |
| emailId | john@gmail.com |
| firstname | john |
| lastname | doe |
| status | ACTIVE || DEACTIVE |
Fetch officer by id
GET /api/v1/web/officers/{{officerId}}
Authorization : Bearer token
Update officer by id
PUT /api/v1/web/officers/{{officerId}}
Authorization : Bearer token
Body
{
"id": "2c927a3775250dee0175251401b30002",
"employeeId": "hope@gmail.com",
"emailId": "hope@gmail.com",
"firstName": "Hope Update",
"userName": "hope@gmail.com",
"lastName": "cmdr Update",
"avatar": "",
"dob": "2020-08-03T10:03:59+05:30",
"roles": [
"ROLE_OFFICER"
],
"status": "ACTIVE",
"payRate": {
"id": "2c927a3775250dee0175251401b40003",
"type": "ANNUAL",
"hourlyRate": null,
"weekendRate": null,
"holidayRate": null,
"overtimeRate": null,
"annual": 123445,
"annualHourlyRate": 90
}
}Delete officer by id
DELETE /api/v1/web/officers/{{officerId}}
Authorization : Bearer token
Archive officer by id
POST /api/v1/web/officers/{{officerId}}/?status=ACTIVE/DEACTIVE
Authorization : Bearer token
Client
Create client
POST /api/v1/web/clients
Authorization : Bearer token
body :
{
"employeeId": "hope007",
"emailId": "hope@gmail.com",
"firstName": "Hope",
"userName": "hope@gmail.com",
"lastName": "cmdr",
"password":"hope123",
"dob": "2020-08-03T04:33:59.431300Z",
"roles": [
"ROLE_OFFICER"
],
"payRate": {
"type":"ANNUAL",
"annual":"123445",
"annualHourlyRate":"90"
}
}Fetch client
GET /api/v1/web/clients
Authorization : Bearer token
Params
| sort | clientCode,a || clientCode,d |
| pageSize | 10 |
| pageNumber | 0 |
| emailId | john@gmail.com |
| propertyname | spsiHQ |
| clientname | spsi |
| status | ACTIVE || DEACTIVE |
Fetch client by id
GET /api/v1/web/clients/{{clientId}}
Authorization : Bearer token
Update client
PUT /api/v1/web/clients/{{clientId}}
Authorization : Bearer token
Body
{
"clientCode": "Shadow001",
"emailId": "shadow@gmail.com",
"firstName": "Shadow Protective",
"lastName": "Protective",
"password": "shadow123",
"userName": "shadow@gmail.com",
"dob": "2020-07-06T14:14:34.9462719Z",
"roles": [
"ROLE_CLIENT"
]
}Delete client
DELETE /api/v1/web/clients/{{officerId}}
Authorization : Bearer token
Archive client
POST /api/v1/web/clients/{{officerId}}/?status=ACTIVE/DEACTIVE
Authorization : Bearer token
Leave
Fetch leaves
GET /api/v1/web/leaves
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
| fromDate | 1597291257718 (ms) |
| toDate | 1597343400000 (ms) |
| status | REQUESTED || APPROVED || REJECTED |
Fetch leaves by id
GET /api/v1/web/leaves/{{leaveId}}
Create leave
POST /api/v1/web/leaves
Body
{
"officerId":"402880ef752c0a4401752c0adf580000",
"startDateTime":"2020-08-27T16:09:49.5551528Z",
"endDateTime":"2020-08-28T16:09:49.5551528Z",
"reason":"Leave for SK",
"description":"Leave Description for SK"
}Update leave
PUT /api/v1/web/leaves/{{leaveId}}
Body
{
"officerId":"402880ef752c0a4401752c0adf580000",
"startDateTime":"2020-08-27T16:09:49.5551528Z",
"endDateTime":"2020-08-28T16:09:49.5551528Z",
"reason":"Leave for SK",
"description":"Leave Description for SK"
}Delete leave
DELETE /api/v1/web/leaves/{{leaveId}}
Holiday
Fetch holidays
GET /api/v1/web/holidays
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
| startDateTime | 1597291257718 (ms) |
| endDateTime | 1597343400000 (ms) |
| name | christmas |
| status | ACTIVE || DEACTIVE |
Fetch holiday by id
GET /api/v1/web/holidays/{{holidayId}}
Create holiday
POST /api/v1/web/holidays
Body
{
"name":"Holiday 1",
"description":"Holiday Description 1",
"startDateTime":"2020-08-08T12:20:27.437260Z",
"endDateTime":"2020-08-08T12:20:27.437260Z",
}Update holiday
PUT /api/v1/web/holidays/{{holidayId}}
Body
{
"name":"Holiday 1",
"description":"Holiday Description 1",
"startDateTime":"2020-08-08T12:20:27.437260Z",
"endDateTime":"2020-08-08T12:20:27.437260Z",
}Delete holiday
DELETE /api/v1/web/holidays/{{holidayId}}
Shift
Fetch shifts
GET api/v1/web/shifts
Params
| pageNumber | 0 | page number in pagination |
| pazeSize | 10 | number of records |
| status | STARTED || COMPLETED || PUBLISHED || UNPUBLISHED || OPEN || INVALID | filter by status of shifts |
| sort | id, a | sort by shift start date time in ascending order |
| clientId | clientId | |
| officerId | officerId | |
| clientLocationId | clientLocationId | |
| fromDate | timestamp | |
| toDate | timestamp | |
| title | shift 2022-01-26 SPSI | page size in pagination |
Fetch shift by id
GET api/v1/web/shifts/{{shiftId}}
Create shift
POST api/v1/web/shifts
Body
{
"name":"Shift Name Test",
"description":" Shift Name",
"officerId":"402880ef752c0a4401752c0adf580000",
"clientId":"402880ef752c2da101752c2e72fe0000",
"clientLocationId":"402880ef752c2da101752c2eea720001",
"shiftTemplateId":"",
"eventTypes":[
{
"name": "shift_start",
"description": "Shift start",
"duration": 0,
"dateTimeStamp": "2020-08-27T16:09:49.5551528Z"
},
{
"name": "lunch_break_start",
"description": "Lunch Break Start",
"duration": 0,
"dateTimeStamp": "2020-08-24T16:09:49.5551528Z"
},
{
"name": "lunch_break_end",
"description": "Lunch Break End",
"duration": 0,
"dateTimeStamp": "2020-08-24T16:09:49.5551528Z"
},
{
"name": "tea_break_start",
"description": "Tea Break Start",
"duration": 0,
"dateTimeStamp": "2020-08-24T16:09:49.5551528Z"
},
{
"name": "tea_break_end",
"description": "Tea Break End",
"duration": 0,
"dateTimeStamp": "2020-08-24T16:09:49.5551528Z"
},
{
"name": "shift_end",
"description": "Shift End",
"duration": 0,
"dateTimeStamp": "2020-08-28T16:09:49.5551528Z"
}
]
}Publish shift
POST api/v1/web/shifts/publish
Body
{
"shifts":["2c927a6a73d7609a0173d779bbc1006a","2c927a6a73d7609a0173d77a24df0073"],
"channel":{
"sms":true,
"email":true,
"app":false
}
}Update shift
PUT api/v1/web/shifts/{{shiftId}}
Body
{
"name": "Shift Name 4 Update",
"description": "",
"officerId": "0bbbd2cf73fb95ec0173fb9bf66a0002",
"clientId": "0bbbd2cf73fb95ec0173fb9c07310008",
"clientLocationId": "0bbbd2cf73fb95ec0173fb9c3369000d",
"shiftTemplateId": "",
"eventTypes": [
{
"id": "0bbbd2cf73fb95ec0173fb9c8e0a0013",
"name": "shift_start",
"description": "Shift start",
"duration": 0,
"dateTimeStamp": "2020-07-06T16:09:49.555153Z",
"isDelete": false
},
{
"id": "0bbbd2cf73fb95ec0173fb9c8e0b0014",
"name": "lunch_break_start",
"description": "Lunch Break Start",
"duration": 0,
"dateTimeStamp": "2020-07-06T16:09:49.555153Z",
"isDelete": false
},
{
"id": "0bbbd2cf73fb95ec0173fb9c8e0b0015",
"name": "lunch_break_end",
"description": "Lunch Break End",
"duration": 0,
"dateTimeStamp": "2020-07-06T16:09:49.555153Z",
"isDelete": false
},
{
"id": "0bbbd2cf73fb95ec0173fb9c8e0b0016",
"name": "tea_break_start",
"description": "Tea Break Start",
"duration": 0,
"dateTimeStamp": "2020-07-06T16:09:49.555153Z",
"isDelete": false
},
{
"id": "0bbbd2cf73fb95ec0173fb9c8e0b0017",
"name": "tea_break_end",
"description": "Tea Break End",
"duration": 0,
"dateTimeStamp": "2020-07-06T16:09:49.555153Z",
"isDelete": false
},
{
"id": "0bbbd2cf73fb95ec0173fb9c8e0c0018",
"name": "shift_end",
"description": "Shift End",
"duration": 0,
"dateTimeStamp": "2020-07-06T16:09:49.555153Z",
"isDelete": false
}Copy shift
PUT api/v1/web/shifts/{{shiftId}}
Body
{
"shifts":["2c927a2f7410bc51017410c49b88002b","2c927a2f7410bc51017410c57cc9003a"],
"fromDate":"2020-08-19T00:09:49.5551528Z",
"toDate":"2020-08-27T00:09:49.5551528Z",
"timeView":"WEEK"
}Shift actions
POST api/v1/mobile/officers/{{officer id}}/shifts/{{shift id}}/action
Based on what name we pass, backend creates appropriate action.
| shift_end | ends the shift |
{
"lat": 12.972442,
"lng": 77.580643,
"distance":500,
"eventType": {
"name": "shift_end",
"description": "Shift end",
"duration": 0,
"dateTimeStamp": "2021-08-14T07:23:08.784Z"
}
}Delete shift
DELETE api/v1/web/shifts/{{shiftId}}
Replacement of officer in a shift
GET api/v1/web/shifts/{{shiftId}}/replacementofficer
Timesheet
Fetch timesheets
GET /api/v1/web/timesheets
Params
| pageNumber | 0 |
| pageSize | 10 |
| sort | id,a |
| officer | true |
| propertyname | string |
| location | string |
| fromDate | timestamp |
| toDate | timestamp |
Fetch timesheet by id
GET api/v1/web/timesheets/{{timesheetId}}
Authorization: Bearer token
Update timesheet
PUT /api/v1/mobile/timesheets/{{timesheetId}}
Authorization: Bearer token
eventTypes is an array of object of different event types
event types are shift_start, shift_end, lunch_break_start, lunch_break_end, tea_break_start, tea_break_end
{
"description": "Description akrs nagar 2021-06-09T05:38:03.899Z[UTC]",
"eventTypes": [
{
"id": "2c9f98e479ea2e650179ef47210a009e",
"name": "shift_start",
"description": "Shift Start",
"duration": 0,
"dateTimeStamp": "2021-06-09T05:38:03.899Z",
"isDelete": false
}
],
"shiftLateStartReason": "text"
}Update timesheet status by id
POST /api/v1/web/timesheets/{{timesheetId}}/?status=OPEN/APPROVED/REJECTED
Params
| status | OPEN/APPROVED/REJECTED |
Courtesy report
Fetch courtesy reports
GET /api/v1/web/courtesyreports
Authorization: Bearer token
Params
| pageNumber | 0 | |
| pageSize | 10 | |
| sort | id,a | |
| officer | officer first name | |
| propertyname | property name | |
| location | location name | |
| fromDate | timestamp | |
| toDate | timestamp | |
| status | PUBLISHED || UNPUBLISHED |
Fetch courtesy reports by id
GET /api/v1/web/courtesyreports/{{courtesyReportId}}
Authorization: Bearer token
create courtesy report
POST /api/v1/web/courtesyreports
Authorization: Bearer token
Required items(chaining of api calls): templateId, courtesyFieldId
{
"name":"Courtesy Report from Mobile",
"shiftId":"402880eb75d4e4310175d5193610000f",
"templateId":"402880eb75d4e4310175d5193610000f",
"description":"Courtesy Description Testing now",
"courtesyFields":[
{
"courtesyFieldId":"402880eb75d4bae30175d4bbd82c0000",
"value":"YES"
},
{
"courtesyFieldId":"402880eb75d4bae30175d4bc0cc10001",
"value":"NO"
}
]
}update courtesy report
PUT /api/v1/web/courtesyreports/{{courtesyReportId}}
Authorization: Bearer token
Required items(chaining of api calls): templateId, courtesyFieldId
Body
{
"name":"Courtesy Report from Mobile",
"shiftId":"402880eb75d4e4310175d5193610000f",
"templateId":"402880eb75d4e4310175d5193610000f",
"description":"Courtesy Description Testing now",
"courtesyFields":[
{
"courtesyFieldId":"402880eb75d4bae30175d4bbd82c0000",
"value":"YES"
},
{
"courtesyFieldId":"402880eb75d4bae30175d4bc0cc10001",
"value":"NO"
}
]
}courtesy report actions
POST /api/v1/web/courtesyreports/{{courtesyReportId}}?action=PUBLISH/UNPUBLISH/MAIL/PUBLISHANDMAIL
delete courtesy report
DELETE /api/v1/web/courtesyreports/{{courtesyReportId}}
Incident report
Fetch incident reports
GET /api/v1/web/incidentreports
Authorization: Bearer token
Params
| pageNumber | 0 | |
| pageSize | 10 | |
| sort | id,a | |
| officer | officer first name | |
| propertyname | property name | |
| location | location name | |
| fromDate | timestamp | |
| toDate | timestamp | |
| status | PUBLISHED || UNPUBLISHED |
Fetch incident reports by id
GET /api/v1/web/incidentreports/{{incidentReportId}}
Authorization: Bearer token
create incident report
POST /api/v1/web/incidentreport
Authorization: Bearer token
{
"shiftId":"402880ef752c2da101752c2f64330006",
"name":"Daily Report name 1",
"description":"Daily Report Description 1"
}update incident report
PUT /api/v1/web/incidentreports/{{incidentReportId}}
Authorization: Bearer token
Body
{
"shiftId":"402880ef752c2da101752c2f64330006",
"name":"Daily Report name 1",
"description":"Daily Report Description 1"
}incident report actions
POST /api/v1/web/incidentreports/{{incidentReportId}}?action=PUBLISH/UNPUBLISH/MAIL/PUBLISHANDMAIL
delete incident report
DELETE /api/v1/web/incidentreports/{{incidentReportId}}
Daily report
Fetch daily reports
GET /api/v1/web/dailyreports
Authorization: Bearer token
Params
| pageNumber | 0 | |
| pageSize | 10 | |
| sort | id,a | |
| officer | officer first name | |
| propertyname | property name | |
| location | location name | |
| fromDate | timestamp | |
| toDate | timestamp | |
| status | PUBLISHED || UNPUBLISHED |
Fetch daily reports by id
GET /api/v1/web/dailyreports/{{dailyReportId}}
Authorization: Bearer token
create daily report
POST /api/v1/web/dailyreports
Authorization: Bearer token
{
"shiftId":"402880ef752c2da101752c2f64330006",
"name":"Daily Report name 1",
"description":"Daily Report Description 1"
}update daily report
PUT /api/v1/web/dailyreports/{{dailyReportId}}
Authorization: Bearer token
Body
{
"shiftId":"402880ef752c2da101752c2f64330006",
"name":"Daily Report name 1",
"description":"Daily Report Description 1"
}daily report actions
POST /api/v1/web/dailyreports/{{dailyReportId}}?action=PUBLISH/UNPUBLISH/MAIL/PUBLISHANDMAIL
delete daily report
DELETE /api/v1/web/dailyreports/{{dailyReportId}}
Daily report entry
Fetch daily report entries
GET /api/v1/web/dailyreportinfos
Authorization: Bearer token
Fetch daily report entry by id
GET /api/v1/web/dailyreportinfos/{{dailyReportInfoId}}
Authorization: Bearer token
create daily report entry
POST /api/v1/web/dailyreportinfos
Authorization: Bearer token
{
"dailyReportId":"402880ef752c2da101752c2f64330006",
"text":"DailyReportInfo Text 3",
"description":"DailyReportInfo Description 3"
}update daily report entry
PUT /api/v1/web/dailyreportinfos/{{dailyReportInfoId}}
Authorization: Bearer token
Body
{
"dailyReportId":"402880ef752c2da101752c2f64330006",
"text":"DailyReportInfo Text 3",
"description":"DailyReportInfo Description 3"
}delete daily report entry
DELETE /api/v1/web/dailyreportinfos/{{dailyReportInfoId}}
Daily report document
Fetch daily report documents
GET /api/v1/web/dailyreportdocuments
Authorization: Bearer token
Params
| pageNumber | 0 | |
| pageSize | 10 | |
| sort | id,a | |
| dailyReportInfoId | id |
Fetch daily report documentsby id
GET /api/v1/web/dailyreportdocuments/{{dailyReportDocumentId}}
Authorization: Bearer token
create daily report documents
POST /api/v1/web/dailyreportdocuments
Authorization: Bearer token
{
"dailyReportInfoId":"2c927a8d74572a35017457e0ef0e001d",
"type":{
"name":"DL 1",
"description":"DL Description 1",
"status":"DL Status 1"
},
"fileDetailId":"2c927a8d74572a35017457e3fb16001f",
"description":"Document Description 1",
"doctypeOthers":"None 1",
"isGeneric":true
}update daily report documents
PUT /api/v1/web/dailyreportdocuments/{{dailyReportDocumentId}}
Authorization: Bearer token
Body
{
"dailyReportInfoId":"2c927a8d74572a35017457e0ef0e001d",
"type":{
"name":"DL 1",
"description":"DL Description 1",
"status":"DL Status 1"
},
"fileDetailId":"2c927a8d74572a35017457e3fb16001f",
"description":"Document Description 1",
"doctypeOthers":"None 1",
"isGeneric":true
}delete daily report documents
DELETE /api/v1/web/dailyreportdocuments/{{dailyReportDocumentId}}
Incident report document
Fetch incident report documents
GET /api/v1/web/incidentreportdocuments
Authorization: Bearer token
Params
| pageNumber | 0 | |
| pageSize | 10 | |
| sort | id,a | |
| incidentReportId | id |
Fetch incident report documentsby id
GET /api/v1/web/incidentreportdocuments/{{incidentReportDocumentId}}
Authorization: Bearer token
create incident report documents
POST /api/v1/web/incidentreportdocuments
Authorization: Bearer token
{
"incidentReportId":"2c927a8d74572a35017457e0ef0e001d",
"type":{
"name":"DL 1",
"description":"DL Description 1",
"status":"DL Status 1"
},
"fileDetailId":"2c927a8d74572a35017457e3fb16001f",
"description":"Document Description 1",
"doctypeOthers":"None 1",
"isGeneric":true
}update incident report documents
PUT /api/v1/web/incidentreportdocuments/{{incidentReportDocumentId}}
Authorization: Bearer token
Body
{
"incidentReportId":"2c927a8d74572a35017457e0ef0e001d",
"type":{
"name":"DL 1",
"description":"DL Description 1",
"status":"DL Status 1"
},
"fileDetailId":"2c927a8d74572a35017457e3fb16001f",
"description":"Document Description 1",
"doctypeOthers":"None 1",
"isGeneric":true
}delete incident report documents
DELETE /api/v1/web/incidentreportdocuments/{{incidentReportDocumentId}}
contact
Fetch contacts
GET /api/v1/web/contacts
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
| userId | officerId / clientId |
Fetch contact by id
GET /api/v1/web/contacts/{{contactId}}
Create contact
POST /api/v1/web/contacts
Body
{
"emailId": "contact15@gmail.com",
"userId":"0bbbd2cf752531cb0175253328290002",
"name": "Contact 15",
"phone": {
"type": "MOBILE",
"number": "9876543210"
},
"postalcode": "560024",
"relation": "WIFE",
"type": "PRIMARY"
}Update contact
PUT /api/v1/web/contacts/{{contactId}}
Body
{
"emailId": "contact15@gmail.com",
"userId":"0bbbd2cf752531cb0175253328290002",
"name": "Contact 15",
"phone": {
"type": "MOBILE",
"number": "9876543210"
},
"postalcode": "560024",
"relation": "WIFE",
"type": "PRIMARY"
}Delete contact
DELETE /api/v1/web/contacts/{{contactId}}
document
Fetch documents
GET /api/v1/web/documents
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
| userId | officerId / clientId |
Fetch document by id
GET /api/v1/web/documents/{{documentId}}
Create document
POST /api/v1/web/documents
Body
{
"userId":"2c927a8a7501b5b1017501b6eb6f0000",
"type":{
"name":"avatar",
"description":"Avatar description",
"status":"Avatar status"
},
"fileDetailId":"ff80808175125ee30175126025790000",
"description":"Document Description 3",
"doctypeOthers":"None 3",
"isGeneric":true
}Update document
PUT /api/v1/web/documents/{{documentId}}
Body
{
"userId":"2c927a8a7501b5b1017501b6eb6f0000",
"type":{
"name":"avatar",
"description":"Avatar description",
"status":"Avatar status"
},
"fileDetailId":"ff80808175125ee30175126025790000",
"description":"Document Description 3",
"doctypeOthers":"None 3",
"isGeneric":true
}Delete document
DELETE /api/v1/web/documentId/{{documentId}}
Courtesy Fields
Fetch Courtesy Fields
GET /api/v1/web/courtesyfields
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
| userId | officerId / clientId |
Fetch Courtesy Field by id
GET /api/v1/web/courtesyfields/{{courtesyFieldId}}
Create Courtesy Field
POST /api/v1/web/courtesyfields
Body
{
"name": "template 1",
}Update Courtesy Field
PUT /api/v1/web/courtesyfields/{{courtesyFieldId}}
Body
{
"name": "template 1 update",
}Delete Courtesy Field
DELETE /api/v1/web/courtesyfields/{{courtesyFieldId}}
Courtesy template
Fetch Courtesy Templates
GET /api/v1/web/courtesytemplates
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
| userId | officerId / clientId |
Fetch Courtesy Template by id
GET /api/v1/web/courtesytemplates/{{courtesyTemplateId}}
Create Courtesy Template
POST /api/v1/web/courtesytemplates
Body
{
"name": "template 1",
"clientLocationId":"0bbbd2cf752531cb0175253328290002",
"clientId": "0bbbd2cf752531cb0175253348290002",
"fields": [],
}Update Courtesy Template
PUT /api/v1/web/courtesytemplates/{{courtesyTemplateId}}
Body
{
"name": "template 1",
"clientLocationId":"0bbbd2cf752531cb0175253328290002",
"clientId": "0bbbd2cf752531cb0175253348290002",
"fields": [],
}Delete Courtesy Template
DELETE /api/v1/web/courtesytemplates/{{courtesyTemplateId}}
Notification
GET /api/v1/web/notifications
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
| userId | officerId / clientId |
Notification token
GET /api/v1/officers/{{offficerId}}/notificationtokens
Params
| sort | id,a || id,d |
| pageSize | 10 |
| pageNumber | 0 |
File upload
POST /api/v1/uploadFiles
body
{
"name": "45werhj456fgh4565ghj566fgh",
"url":"45werhj456fgh4565ghj566fgh.png",
"format": "image/png",
"size": "1245",
}Officer registration
POST /api/v1/user/register
body
{
"name": "spsi",
"emailId":"spsissi@gmail.com",
"agency": "SSI",
"number": "4457845787",
}