Authentication
Authentication API
Authentication API will perform basic authentication into Newmetrix and return API token that will be used for subsequent API calls. The value of 'token' in the response will have to be supplied in 'X-Auth-Token' HTTP header with every API. Token needs to be refreshed once expired.
'expires' will specify token expiration time measured in milliseconds from midnight, January 1, 1970 UTC.
POST /api/v1/authenticate HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 59
{
"username" : "vgorsky@smartvid.io",
"password" : ""
}
Path | Type | Description |
---|---|---|
|
|
User name |
|
|
Password |
Path | Type | Description |
---|---|---|
|
|
Token to be used in 'X-Auth-Token' HTTP header |
|
|
Expiration time |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 113
{
"token" : "vgorsky@smartvid.io:1655314164618:7a8f3a71b8aa8fef0a54650c5177aea0",
"expires" : 1655314164618
}
Observations
Observations retrieve API
Observations retrieve API can be used to retrieve observations with their related data, such as trade partners, assignees, etc, from the system for a set of project(s). Observations retrieve API supports incremental date-based retrieval and pagination.
If custom configuration is enabled for the organization, custom field values will be returned as part of each observation.
GET /api/v1/organization/02ed5e9f-eff5-43cc-8d8d-f19a8ab53672/observation?projectId=6a2de513-6e4f-4393-b34a-2878e7bd4020&projectId=a25e9e70-1cc2-43af-978d-2998afa0c922&updatedAt=2018-01-01T00%3A00%3A00.000%2B02%3A00&useExternalId=false&page=0&perPage=1000 HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
Parameter | Description |
---|---|
|
Set of project id(s) to get observation data for |
|
When set to true, projectId is the ID of the project in the external system |
|
Page |
|
Number of observations per page. This value cannot be greater than 1,000 |
|
Return observation(s) created or updated after a specific date. Date format is in ISO 8601 |
Path | Type | Description |
---|---|---|
|
|
Status of the observation. Can have one of the following values NEW,IN_PROGRESS,WITH_PARTNER,DELAYED,CLOSED,READY_TO_REVIEW,CLOSED_REVIEWED,OBSERVED,NOT_APPLICABLE |
|
|
Type of the observation. Can have one of the following values POSITIVE,NEGATIVE |
|
|
Internal ID of the observation |
|
|
Internal ID of the project |
|
|
Method of identification |
|
|
Observation notes |
|
|
Action taken |
|
|
Recommended action |
|
|
Review comment |
|
|
User-friendly observation ID in format - SO-id |
|
|
External ID provided for observation, for informational purpose only, not used for observation lookup |
|
|
External ID provided for observation, used for observation lookup |
|
|
Observation severity. Can have one of the following values NA,LOW,MEDIUM,HIGH,CRITICAL,LOSS_OF_LIFE |
|
|
Observation frequency. Can have one of the following values NA,UNLIKELY,ANNUALLY,MONTHLY,WEEKLY,DAILY |
|
|
Calculated risk of the observation |
|
|
Creation date of the observation. Date format is in ISO 8601 |
|
|
Update date of the observation. Date format is in ISO 8601 |
|
|
Is this observation a great catch |
|
|
Hazard category |
|
|
Due date for the observation. Date format is in ISO 8601 |
|
|
The date the observation was closed. Date format is in ISO 8601 |
|
|
The date the observation was last reviewed. Date format is in ISO 8601 |
|
|
Internal ID of the trade partner |
|
|
External ID of the trade partner |
|
|
Internal ID of the organization this trade partner belongs to |
|
|
Name of the trade partner |
|
|
Email of the trade partner |
|
|
Trade |
|
|
The indicator if the given trade partner is active or not |
|
|
Internal ID of the assignee user |
|
|
First name of the assignee user |
|
|
Last name of the assignee user |
|
|
Email of the assignee user |
|
|
An external assignee user ID |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
Internal ID of the observation creator user |
|
|
First name of the observation creator user |
|
|
Last name of the observation creator user |
|
|
Email of the observation creator user |
|
|
An external observation creator user ID |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
Internal ID of the user who last updated the observation |
|
|
First name of user who last updated the observation |
|
|
Last name of user who last updated the observation |
|
|
Email of the user who last updated the observation |
|
|
An external ID of the user who last updated the observation |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
Internal ID of the user who closed the observation |
|
|
First name of user who closed the observation |
|
|
Last name of user who closed the observation |
|
|
Email of the user who closed the observation |
|
|
An external ID of the user who closed the observation |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
Internal ID of the user who last reviewed the observation |
|
|
First name of user who last reviewed the observation |
|
|
Last name of user who last reviewed the observation |
|
|
Email of the user who last reviewed the observation |
|
|
An external ID of the user who last reviewed the observation |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
The internal ID of the project |
|
|
The ID of the project in the external system |
|
|
The human readable project identifier |
|
|
The internal ID of the project group for this project |
|
|
Whether project is inactive or active |
|
|
The internal ID of the organization this project belongs to |
|
|
The name of the project |
|
|
The description of the project |
|
|
The location of the project |
|
|
Internal ID of the project group (region/business unit) |
|
|
Internal ID of the organization this project group belongs to |
|
|
Name of the project group |
|
|
Description of the project group |
|
|
Internal ID of the organization |
|
|
Name of the organization |
|
|
Description of the organization |
|
|
Custom fields for a given observation, when custom fields are configured for the organization |
|
|
Id of the custom field value |
|
|
Identifier of the custom field value |
|
|
Data type of the custom field value |
|
|
Value of the custom field, when its data type is LONG |
|
|
Value of the custom field, when its data type is REAL |
|
|
Value of the custom field, when its data type is BOOLEAN |
|
|
Value of the custom field, when its data type is DATE. Date format is in ISO 8601 |
|
|
Value of the custom field, when its data type is STRING |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 8978
{
"observations" : [ {
"observation" : {
"observationId" : "535f0477-4b88-4379-be2c-c852dcc64f31",
"projectId" : "6a2de513-6e4f-4393-b34a-2878e7bd4020",
"status" : "CLOSED",
"hazardCategory" : "Sample hazard category #2",
"identificationMethod" : "Sample identification method #2",
"notes" : "Sample observation note #2",
"severity" : "CRITICAL",
"frequency" : "ANNUALLY",
"risk" : 25.0,
"recommendedAction" : "Sample recommended action",
"reviewComment" : "Test review comment",
"dueDate" : "2022-06-15T15:29:25.491+0000",
"createdDate" : "2022-06-15T15:29:25.510+0000",
"updatedDate" : "2022-06-15T15:29:25.510+0000",
"closedDate" : "2022-06-15T15:29:25.491+0000",
"reviewedDate" : "2022-06-15T15:29:25.491+0000",
"type" : "NEGATIVE",
"isGreatCatch" : true,
"actionTaken" : "Test action taken",
"externalId" : 2,
"userFriendlyId" : "SO-2",
"externalObservationId" : "XYZ456",
"customFields" : [ {
"id" : "3611b9c2-214f-4200-9609-e41a439118b2",
"identifier" : "booleanField",
"dataType" : "BOOLEAN",
"valueBoolean" : true
}, {
"id" : "fcb55b1c-eae5-4f34-8cbb-7b1e799b12e5",
"identifier" : "dateField",
"dataType" : "DATE"
}, {
"id" : "f41ee7ff-acd0-4fca-b7fb-59fc98ebf3cc",
"identifier" : "realField",
"dataType" : "REAL",
"valueReal" : 1.9900000095367432
}, {
"id" : "7b96bb27-4597-4ad8-bfae-7d3e2ce1e32f",
"identifier" : "longField",
"dataType" : "LONG",
"valueLong" : 999999
} ]
},
"tradePartner" : {
"id" : "8486abaa-01ee-483b-af5f-08431a0912e2",
"organizationId" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"externalTradePartnerId" : "External ID",
"name" : "Sample Trade Partner",
"trade" : "Painting",
"isActive" : true,
"email" : "61b3c834-95df-4c61-9809-eccf86a984c9_tp1@examples.com"
},
"assignee" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"createdByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"updatedByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"closedByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"reviewedByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"project" : {
"id" : "6a2de513-6e4f-4393-b34a-2878e7bd4020",
"externalProjectId" : "0578abe8-2170-47e1-9338-e7e1da6c8506",
"organizationId" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"name" : "Project with observations",
"location" : "Sample location",
"projectGroupId" : "8745426f-76f7-499d-9f22-49d6188a7de1",
"inactive" : false
},
"projectGroup" : {
"id" : "8745426f-76f7-499d-9f22-49d6188a7de1",
"organizationId" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"name" : "Northeast",
"description" : "Northeast division"
},
"organization" : {
"id" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"name" : "Sample General Contractor Organization",
"description" : "Sample description"
}
}, {
"observation" : {
"observationId" : "f2689e58-a0b5-49d4-880c-a5579abcb6d7",
"projectId" : "6a2de513-6e4f-4393-b34a-2878e7bd4020",
"status" : "NEW",
"hazardCategory" : "Sample hazard category",
"identificationMethod" : "Sample identification method",
"notes" : "Sample observation note",
"severity" : "CRITICAL",
"frequency" : "DAILY",
"risk" : 25.0,
"recommendedAction" : "Sample recommended action",
"reviewComment" : "Test review comment",
"dueDate" : "2022-06-15T15:29:24.998+0000",
"createdDate" : "2022-06-15T15:29:25.053+0000",
"updatedDate" : "2022-06-15T15:29:25.053+0000",
"closedDate" : "2022-06-15T15:29:24.998+0000",
"reviewedDate" : "2022-06-15T15:29:24.998+0000",
"type" : "NEGATIVE",
"isGreatCatch" : true,
"actionTaken" : "Test action taken",
"externalId" : 1,
"userFriendlyId" : "SO-1",
"externalObservationId" : "ABC123",
"customFields" : [ {
"id" : "18e68aa8-7981-4e78-94b2-0ff858ece776",
"identifier" : "booleanField",
"dataType" : "BOOLEAN",
"valueBoolean" : true
}, {
"id" : "bd25ea65-838d-4e26-877a-ae6c6c05d5b8",
"identifier" : "dateField",
"dataType" : "DATE"
}, {
"id" : "0a38b5e5-69e9-4618-b846-d5892a1987fe",
"identifier" : "realField",
"dataType" : "REAL",
"valueReal" : 1.9900000095367432
}, {
"id" : "d3828bfe-80db-4e3a-81a4-80f823ecb6ba",
"identifier" : "longField",
"dataType" : "LONG",
"valueLong" : 999999
} ]
},
"tradePartner" : {
"id" : "8486abaa-01ee-483b-af5f-08431a0912e2",
"organizationId" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"externalTradePartnerId" : "External ID",
"name" : "Sample Trade Partner",
"trade" : "Painting",
"isActive" : true,
"email" : "61b3c834-95df-4c61-9809-eccf86a984c9_tp1@examples.com"
},
"assignee" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"createdByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"updatedByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"closedByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"reviewedByUser" : {
"id" : "163cdeaa-ae82-4287-9844-95f32849fca5",
"firstName" : "First Name",
"lastName" : "Last Name",
"email" : "98a0679b-3639-4d61-b5c7-b35a03716c6d_test@examples.com",
"externalUserId" : "EXT_UID_1",
"isActive" : false,
"isInvited" : false,
"isSso" : false
},
"project" : {
"id" : "6a2de513-6e4f-4393-b34a-2878e7bd4020",
"externalProjectId" : "0578abe8-2170-47e1-9338-e7e1da6c8506",
"organizationId" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"name" : "Project with observations",
"location" : "Sample location",
"projectGroupId" : "8745426f-76f7-499d-9f22-49d6188a7de1",
"inactive" : false
},
"projectGroup" : {
"id" : "8745426f-76f7-499d-9f22-49d6188a7de1",
"organizationId" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"name" : "Northeast",
"description" : "Northeast division"
},
"organization" : {
"id" : "02ed5e9f-eff5-43cc-8d8d-f19a8ab53672",
"name" : "Sample General Contractor Organization",
"description" : "Sample description"
}
} ]
}
Get Observation API
Get Observation API can be used to retrieve an observation with it’s related data, such as trade partners, assignees, etc, from the system.
If custom configuration is enabled for the organization, custom field values will be returned as part of the observation.
GET /api/v1/organization/e65b97d9-4ae7-4f75-87db-73d17561a1c9/project/ds5987dfasd659sd7/observation/AF1256FADMQ3F?useExternalId=true HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
ID of project |
|
ID of observation |
Parameter | Description |
---|---|
|
When set to true, projectId and observationId will expect external IDs |
Path | Type | Description |
---|---|---|
|
|
Internal ID of the observation |
|
|
Internal ID of the project |
|
|
Status of the observation. Can have one of the following values NEW,IN_PROGRESS,WITH_PARTNER,DELAYED,CLOSED,READY_TO_REVIEW,CLOSED_REVIEWED,OBSERVED,NOT_APPLICABLE |
|
|
Hazard category |
|
|
Method of identification |
|
|
Observation notes |
|
|
Observation severity. Can have one of the following values NA,LOW,MEDIUM,HIGH,CRITICAL,LOSS_OF_LIFE |
|
|
Observation frequency. Can have one of the following values NA,UNLIKELY,ANNUALLY,MONTHLY,WEEKLY,DAILY |
|
|
Calculated risk of the observation |
|
|
Recommended action |
|
|
Review comment for observation |
|
|
User-friendly observation ID in format - SO-id |
|
|
External ID provided for observation, for informational purpose only, not used for observation lookup |
|
|
External observation ID provided for observation, used for observation lookup |
|
|
Due date for the observation. Date format is in ISO 8601 |
|
|
Creation date of the observation. Date format is in ISO 8601 |
|
|
Update date of the observation. Date format is in ISO 8601 |
|
|
Closed date of the observation. Date format is in ISO 8601 |
|
|
Reviewed date of the observation. Date format is in ISO 8601 |
|
|
Type of the observation. Can have one of the following values POSITIVE,NEGATIVE |
|
|
Is this observation a great catch |
|
|
Action taken |
|
|
User who created observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who was assigned observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who closed observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who last updated observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who reviewed observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
ID of Trade Partner associated with observation |
|
|
Custom fields for a given observation, when custom fields are configured for the organization |
|
|
Id of the custom field value |
|
|
Identifier of the custom field value |
|
|
Data type of the custom field value |
|
|
Value of the custom field, when its data type is LONG |
|
|
Value of the custom field, when its data type is REAL |
|
|
Value of the custom field, when its data type is BOOLEAN |
|
|
Value of the custom field, when its data type is DATE. Date format is in ISO 8601 |
|
|
Value of the custom field, when its data type is STRING |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 2546
{
"observationId" : "3d6d275b-019e-4ddb-b642-4e8763010bc2",
"projectId" : "6c2d0afc-19c9-4b55-8f24-9bafeb7a51c3",
"status" : "NEW",
"hazardCategory" : "Sample hazard category",
"identificationMethod" : "Sample identification method",
"notes" : "Sample observation note",
"severity" : "CRITICAL",
"frequency" : "DAILY",
"risk" : 25.0,
"recommendedAction" : "Sample recommended action",
"reviewComment" : "Sample review comment",
"dueDate" : "2022-06-15T15:29:10.852+0000",
"createdDate" : "2022-06-15T15:29:10.893+0000",
"updatedDate" : "2022-06-15T15:29:10.893+0000",
"closedDate" : "2022-06-15T15:29:10.852+0000",
"reviewedDate" : "2022-06-15T15:29:10.852+0000",
"type" : "NEGATIVE",
"isGreatCatch" : true,
"actionTaken" : "Test action taken",
"externalId" : 1,
"userFriendlyId" : "SO-1",
"externalObservationId" : "AF1256FADMQ3F",
"customFields" : [ {
"id" : "a1ba8d91-2d21-440c-9534-508369a330ef",
"identifier" : "longField",
"dataType" : "LONG",
"valueLong" : 999999
}, {
"id" : "ee3e9905-7ae1-436b-a425-8881f9d54d0f",
"identifier" : "realField",
"dataType" : "REAL",
"valueReal" : 1.99
}, {
"id" : "a2038ee5-8d90-4d49-aaae-ac1f77ef5f01",
"identifier" : "dateField",
"dataType" : "DATE",
"valueDate" : "2022-06-15T15:29:10.852+0000"
}, {
"id" : "0c43415d-6f81-4f50-825e-2b27e6b37788",
"identifier" : "booleanField",
"dataType" : "BOOLEAN",
"valueBoolean" : true
} ],
"createdByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"assignedToUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"updatedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"closedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"reviewedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"tradePartnerId" : "ff3789fe-5a90-4524-a108-dad3a4e5ab03"
}
Create Observations API
Create Observations API can be used to import a list of observations into the system. Create Observations API accepts file names and URLs for downloading and associating images with observations
POST /api/v1/organization/b4c9c49e-ae1e-42f1-828d-80236aceef66/project/ds5987dfasd659sd7/observation?useExternalId=true HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Content-Length: 1614
{
"observations" : [ {
"tradePartnerId" : "fhsdfh87s5sdf7a8eh",
"assignedUserId" : "1",
"assignedUserEmail" : "admin@smartvid.io",
"status" : "NEW",
"closedByUserId" : "1",
"reviewedByUserId" : "1",
"hazardCategory" : "Sample hazard category",
"identificationMethod" : "Sample identification method",
"notes" : "Sample observation notes",
"severity" : "MEDIUM",
"frequency" : "MONTHLY",
"risk" : 25.0,
"recommendedAction" : "Sample recommended action",
"dueDate" : "2022-06-15T15:29:12.125Z",
"closedDate" : "2022-06-15T15:29:12.125Z",
"reviewedDate" : "2022-06-15T15:29:12.125Z",
"type" : "NEGATIVE",
"isGreatCatch" : false,
"actionTaken" : "Sample action taken",
"externalId" : 4810492,
"externalObservationId" : "578sf6578s6fdq2",
"reviewComment" : "Sample review comment",
"customFields" : [ {
"identifier" : "testCustomField",
"dataType" : "STRING",
"valueString" : "test value"
} ],
"projectId" : "ds5987dfasd659sd7",
"createdTime" : "2022-06-15T15:29:12.125Z",
"createdByUserId" : "1",
"updatedTime" : "2022-06-15T15:29:12.125Z",
"updatedByUserId" : "1"
}, {
"status" : "NEW",
"notes" : "Sample observation notes",
"severity" : "MEDIUM",
"frequency" : "MONTHLY",
"risk" : 25.0,
"type" : "NEGATIVE",
"externalId" : 0,
"customFields" : [ ],
"projectId" : "ds5987dfasd659sd7",
"filesToDownload" : [ {
"url" : "https://test-data.s3-us-west-2.amazonaws.com/Images/example.jpeg",
"fileName" : "example.jpeg"
} ]
} ]
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
ID of project |
Parameter | Description |
---|---|
|
When set to true, projectId, observationId, and tradePartnerId will expect external IDs |
Path | Type | Description |
---|---|---|
|
|
Internal ID of the project |
|
|
Status of the observation. Can have one of the following values NEW,IN_PROGRESS,WITH_PARTNER,DELAYED,CLOSED,READY_TO_REVIEW,CLOSED_REVIEWED,OBSERVED,NOT_APPLICABLE |
|
|
Hazard category |
|
|
Method of identification |
|
|
Observation notes |
|
|
Observation severity. Can have one of the following values NA,LOW,MEDIUM,HIGH,CRITICAL,LOSS_OF_LIFE |
|
|
Observation frequency. Can have one of the following values NA,UNLIKELY,ANNUALLY,MONTHLY,WEEKLY,DAILY |
|
|
Calculated risk of the observation |
|
|
Recommended action |
|
|
Review comment for observation |
|
|
Due date for the observation. Date format is in ISO 8601 |
|
|
Closed date for the observation. Date format is in ISO 8601 |
|
|
Reviewed date for the observation. Date format is in ISO 8601 |
|
|
Type of the observation. Can have one of the following values POSITIVE,NEGATIVE |
|
|
Is this observation a great catch |
|
|
Action taken |
|
|
ID of user who was assigned observation |
|
|
Email of user who was assigned observation |
|
|
ID of user who created an observation |
|
|
Created time for the observation. Date format is in ISO 8601 |
|
|
ID of user who updated the observation |
|
|
Updated time for the observation. Date format is in ISO 8601 |
|
|
ID of user who closed observation |
|
|
ID of user who reviewed observation |
|
|
ID of Trade Partner associated with observation |
|
|
External ID provided for observation, for informational purpose only, not used for observation lookup |
|
|
External observation ID provided for observation, used for observation lookup |
|
|
URL of file to download |
|
|
Name of file to download |
|
|
Custom fields for a given observation, when custom fields are configured for the organization |
|
|
Id of the custom field value |
|
|
Identifier of the custom field value |
|
|
Data type of the custom field value |
|
|
Value of the custom field, when its data type is LONG |
|
|
Value of the custom field, when its data type is REAL |
|
|
Value of the custom field, when its data type is BOOLEAN |
|
|
Value of the custom field, when its data type is DATE. Date format is in ISO 8601 |
|
|
Value of the custom field, when its data type is STRING |
Path | Type | Description |
---|---|---|
|
|
Internal ID of the observation |
|
|
Internal ID of the project |
|
|
Status of the observation. Can have one of the following values NEW,IN_PROGRESS,WITH_PARTNER,DELAYED,CLOSED,READY_TO_REVIEW,CLOSED_REVIEWED,OBSERVED,NOT_APPLICABLE |
|
|
Hazard category |
|
|
Method of identification |
|
|
Observation notes |
|
|
Observation severity. Can have one of the following values NA,LOW,MEDIUM,HIGH,CRITICAL,LOSS_OF_LIFE |
|
|
Observation frequency. Can have one of the following values NA,UNLIKELY,ANNUALLY,MONTHLY,WEEKLY,DAILY |
|
|
Calculated risk of the observation |
|
|
Recommended action |
|
|
Review comment for observation |
|
|
User-friendly observation ID in format - SO-id |
|
|
External ID provided for observation, for informational purpose only, not used for observation lookup |
|
|
External observation ID provided for observation, used for observation lookup |
|
|
Due date for the observation. Date format is in ISO 8601 |
|
|
Creation date of the observation. Date format is in ISO 8601 |
|
|
Update date of the observation. Date format is in ISO 8601 |
|
|
Closed date of the observation. Date format is in ISO 8601 |
|
|
Reviewed date of the observation. Date format is in ISO 8601 |
|
|
Type of the observation. Can have one of the following values POSITIVE,NEGATIVE |
|
|
Is this observation a great catch |
|
|
Action taken |
|
|
User who created observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who was assigned observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who closed observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who last updated observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who reviewed observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
ID of Trade Partner associated with observation |
|
|
Custom fields for a given observation, when custom fields are configured for the organization |
|
|
Id of the custom field value |
|
|
Identifier of the custom field value |
|
|
Data type of the custom field value |
|
|
Value of the custom field, when its data type is LONG |
|
|
Value of the custom field, when its data type is REAL |
|
|
Value of the custom field, when its data type is BOOLEAN |
|
|
Value of the custom field, when its data type is DATE. Date format is in ISO 8601 |
|
|
Value of the custom field, when its data type is STRING |
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 3241
{
"observations" : [ {
"observationId" : "7fe665b6-e4a5-47df-810b-d9703c969133",
"projectId" : "4f53bbab-71b7-4adc-959a-c2e899416eba",
"status" : "NEW",
"hazardCategory" : "Sample hazard category",
"identificationMethod" : "Sample identification method",
"notes" : "Sample observation notes",
"severity" : "MEDIUM",
"frequency" : "MONTHLY",
"risk" : 6.0,
"recommendedAction" : "Sample recommended action",
"reviewComment" : "Sample review comment",
"dueDate" : "2022-06-15T15:29:12.125+0000",
"createdDate" : "2022-06-15T15:29:12.125+0000",
"updatedDate" : "2022-06-15T15:29:12.125+0000",
"closedDate" : "2022-06-15T15:29:12.125+0000",
"reviewedDate" : "2022-06-15T15:29:12.125+0000",
"type" : "NEGATIVE",
"isGreatCatch" : false,
"actionTaken" : "Sample action taken",
"externalId" : 4810492,
"userFriendlyId" : "SO-4810492",
"externalObservationId" : "578sf6578s6fdq2",
"customFields" : [ {
"id" : "bac7749a-eb91-457a-a247-b5a0a7d285b5",
"identifier" : "testCustomField",
"dataType" : "STRING",
"valueString" : "test value"
} ],
"createdByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"assignedToUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"updatedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"closedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"reviewedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"tradePartnerId" : "e969e4c1-ce93-48f5-8048-e08b63efead0"
}, {
"observationId" : "bbfcc88b-3535-4c5c-af6b-31d00e964f3b",
"projectId" : "4f53bbab-71b7-4adc-959a-c2e899416eba",
"status" : "NEW",
"notes" : "Sample observation notes",
"severity" : "MEDIUM",
"frequency" : "MONTHLY",
"risk" : 6.0,
"createdDate" : "2022-06-15T15:29:12.379+0000",
"updatedDate" : "2022-06-15T15:29:12.379+0000",
"type" : "NEGATIVE",
"isGreatCatch" : false,
"externalId" : 2,
"userFriendlyId" : "SO-2",
"customFields" : [ ],
"createdByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"updatedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
}
} ]
}
Update Observation API
Update Observation API can be used to update an observations in the system.
Update Observation API requires the full observation object be sent with desired fields updated.
For existing observation the following fields cannot be updated:
, id
and projectId
.externalObservationId
PUT /api/v1/organization/ccf13e05-d9e9-4562-818b-061b2524570b/project/ds5987dfasd659sd7/observation/AF1256FADMQ3F?useExternalId=true HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Content-Length: 878
{
"tradePartnerId" : "fhsdfh87s5sdf7a8eh",
"assignedUserId" : "1",
"assignedUserEmail" : "admin@smartvid.io",
"status" : "CLOSED",
"closedByUserId" : "1",
"reviewedByUserId" : "1",
"hazardCategory" : "Sample hazard category",
"identificationMethod" : "Sample identification method",
"notes" : "Sample observation notes",
"severity" : "MEDIUM",
"frequency" : "MONTHLY",
"risk" : 25.0,
"recommendedAction" : "Sample recommended action",
"dueDate" : "2022-06-15T15:29:13.337Z",
"closedDate" : "2022-06-15T15:29:13.337Z",
"reviewedDate" : "2022-06-15T15:29:13.337Z",
"type" : "NEGATIVE",
"isGreatCatch" : false,
"actionTaken" : "Sample action taken",
"externalId" : 4810492,
"reviewComment" : "Sample review comment",
"customFields" : [ ],
"updatedTime" : "2022-06-15T15:29:13.337Z",
"updatedByUserId" : "1",
"fieldsToClear" : [ ]
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
ID of project |
|
ID of observation |
Parameter | Description |
---|---|
|
When set to true, projectId, observationId, and tradePartnerId will expect external IDs |
Path | Type | Description |
---|---|---|
|
|
Status of the observation. Can have one of the following values NEW,IN_PROGRESS,WITH_PARTNER,DELAYED,CLOSED,READY_TO_REVIEW,CLOSED_REVIEWED,OBSERVED,NOT_APPLICABLE |
|
|
Hazard category |
|
|
Method of identification |
|
|
Observation notes |
|
|
Observation severity. Can have one of the following values NA,LOW,MEDIUM,HIGH,CRITICAL,LOSS_OF_LIFE |
|
|
Observation frequency. Can have one of the following values NA,UNLIKELY,ANNUALLY,MONTHLY,WEEKLY,DAILY |
|
|
Calculated risk of the observation |
|
|
Recommended action |
|
|
Review comment for observation |
|
|
Due date for the observation. Date format is in ISO 8601 |
|
|
Closed date for the observation. Date format is in ISO 8601 |
|
|
Reviewed date for the observation. Date format is in ISO 8601 |
|
|
Type of the observation. Can have one of the following values POSITIVE,NEGATIVE |
|
|
Is this observation a great catch |
|
|
Action taken |
|
|
ID of user who was assigned observation |
|
|
Email of user who was assigned observation |
|
|
ID of user who last updated observation |
|
|
Updated date for the observation. Date format is in ISO 8601 |
|
|
ID of user who closed observation |
|
|
ID of user who reviewed observation |
|
|
ID of Trade Partner associated with observation |
|
|
External ID provided for observation, for informational purpose only, not used for observation lookup |
|
|
The list of fields that need to be cleared (set to null). The allowed values are: "tradePartnerId", "assignedUserId", "hazardCategory", "identificationMethod", "recommendedAction", "dueDate", "isGreatCatch", "actionTaken", "externalId", "reviewComment", "closedDate", "externalObservationId", "reviewedByUserId", "closedByUserId", "reviewedDate", "updatedTime", "updatedByUserId" |
|
|
Custom fields for a given observation, when custom fields are configured for the organization |
|
|
Id of the custom field value |
|
|
Identifier of the custom field value |
|
|
Data type of the custom field value |
|
|
Value of the custom field, when its data type is LONG |
|
|
Value of the custom field, when its data type is REAL |
|
|
Value of the custom field, when its data type is BOOLEAN |
|
|
Value of the custom field, when its data type is DATE. Date format is in ISO 8601 |
|
|
Value of the custom field, when its data type is STRING |
Path | Type | Description |
---|---|---|
|
|
Internal ID of the observation |
|
|
Internal ID of the project |
|
|
Status of the observation. Can have one of the following values NEW,IN_PROGRESS,WITH_PARTNER,DELAYED,CLOSED,READY_TO_REVIEW,CLOSED_REVIEWED,OBSERVED,NOT_APPLICABLE |
|
|
Hazard category |
|
|
Method of identification |
|
|
Observation notes |
|
|
Observation severity. Can have one of the following values NA,LOW,MEDIUM,HIGH,CRITICAL,LOSS_OF_LIFE |
|
|
Observation frequency. Can have one of the following values NA,UNLIKELY,ANNUALLY,MONTHLY,WEEKLY,DAILY |
|
|
Calculated risk of the observation |
|
|
Recommended action |
|
|
Review comment for observation |
|
|
User-friendly observation ID in format - SO-id |
|
|
External ID provided for observation, for informational purpose only, not used for observation lookup |
|
|
External observation ID provided for observation, used for observation lookup |
|
|
Due date for the observation. Date format is in ISO 8601 |
|
|
Creation date of the observation. Date format is in ISO 8601 |
|
|
Update date of the observation. Date format is in ISO 8601 |
|
|
Closed date of the observation. Date format is in ISO 8601 |
|
|
Reviewed date for the observation. Date format is in ISO 8601 |
|
|
Type of the observation. Can have one of the following values POSITIVE,NEGATIVE |
|
|
Is this observation a great catch |
|
|
Action taken |
|
|
User who created observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who was assigned observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who closed observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who last updated observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
User who reviewed observation |
|
|
Internal ID of user |
|
|
First name of user |
|
|
Last name of user |
|
|
Email of user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
ID of Trade Partner associated with observation |
|
|
Custom fields for a given observation, when custom fields are configured for the organization |
|
|
Id of the custom field value |
|
|
Identifier of the custom field value |
|
|
Data type of the custom field value |
|
|
Value of the custom field, when its data type is LONG |
|
|
Value of the custom field, when its data type is REAL |
|
|
Value of the custom field, when its data type is BOOLEAN |
|
|
Value of the custom field, when its data type is DATE. Date format is in ISO 8601 |
|
|
Value of the custom field, when its data type is STRING |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 2552
{
"observationId" : "4c6026b5-e2d2-4bad-84bd-83212ee919c9",
"projectId" : "0f41e6e4-8c10-40c1-a5f4-f307f07249ca",
"status" : "CLOSED",
"hazardCategory" : "Sample hazard category",
"identificationMethod" : "Sample identification method",
"notes" : "Sample observation notes",
"severity" : "MEDIUM",
"frequency" : "MONTHLY",
"risk" : 6.0,
"recommendedAction" : "Sample recommended action",
"reviewComment" : "Sample review comment",
"dueDate" : "2022-06-15T15:29:13.337+0000",
"createdDate" : "2022-06-15T15:29:12.897+0000",
"updatedDate" : "2022-06-15T15:29:13.337+0000",
"closedDate" : "2022-06-15T15:29:13.337+0000",
"reviewedDate" : "2022-06-15T15:29:13.337+0000",
"type" : "NEGATIVE",
"isGreatCatch" : false,
"actionTaken" : "Sample action taken",
"externalId" : 1,
"userFriendlyId" : "SO-1",
"externalObservationId" : "AF1256FADMQ3F",
"customFields" : [ {
"id" : "5f3c5fe1-a9ce-475b-a8ea-387f80f5b41a",
"identifier" : "longField",
"dataType" : "LONG",
"valueLong" : 999999
}, {
"id" : "229800a9-09ec-4ddd-b2b5-d1d47f23db99",
"identifier" : "realField",
"dataType" : "REAL",
"valueReal" : 1.99
}, {
"id" : "277f2eb4-6601-4fa4-9f4f-c39968e903d7",
"identifier" : "dateField",
"dataType" : "DATE",
"valueDate" : "2022-06-15T15:29:12.859+0000"
}, {
"id" : "75e928a3-d2d3-4583-9f2c-e654f0771098",
"identifier" : "booleanField",
"dataType" : "BOOLEAN",
"valueBoolean" : true
} ],
"createdByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"assignedToUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"updatedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"closedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"reviewedByUser" : {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
},
"tradePartnerId" : "456760b8-1bd4-43fe-adff-41c25ad9ed7a"
}
Delete Observation API
Delete Observation API can be used to delete an observations from the system.
DELETE /api/v1/organization/313a762d-559a-4545-b836-d125ba10e25d/project/ds5987dfasd659sd7/observation/AF1256FADMQ3F?useExternalId=true HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
ID of project |
|
ID of observation |
Parameter | Description |
---|---|
|
When set to true, projectId and observationId will expect external IDs |
HTTP/1.1 204 No Content
Get Failed Download Files For Observation API
Get Failed Download Files For Observation API can be used to retrieve a list of files that failed to download into the system for a particular observation.
GET /api/v1/organization/8e3f40e8-cacb-4d8e-a52e-1e7a40bf9082/project/ds5987dfasd659sd7/observation/AF1256FADMQ3F/download/status/failed?useExternalId=true HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
ID of project |
|
ID of observation |
Parameter | Description |
---|---|
|
When set to true, projectId and observationId will expect external IDs |
Path | Type | Description |
---|---|---|
|
|
Internal ID of download job |
|
|
Name of file |
|
|
URL of file |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 264
{
"failedDownloads" : [ {
"id" : "ea18898e-c48f-4b21-8918-5eca77688a58",
"fileName" : "test2.jpg",
"url" : "http://test2.us"
}, {
"id" : "86bc374b-c9fc-4d6a-b4b7-4fcfac2651ac",
"fileName" : "test1.jpg",
"url" : "http://test1.us"
} ]
}
Projects
Sync Projects API
Sync Project API is used to create new or update existing projects in Newmetrix.
The
path parameter must match to all of the organizationId
in the payload, this means that user can sync only the projects from a single organization in a single call to this API.organizationId’s
The system will try to locate existing projects based on the
or projectExternalId
depending on the value of the id
parameter.useExternalId
For existing projects only the following fields can be updated:
, name
, description
and location
.projectNumber
The API is limited to work with
projects at a time.100
User calling this API must have permission to manage projects for each projects' organization specified.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
POST /api/v1/organization/ed1fbc48-262e-4da8-8025-03669f56fa4b/project/sync?useExternalId=true HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 2836
{
"projects" : [ {
"name" : "name1_UPD",
"projectNumber" : "Project X 1",
"externalProjectId" : "EXT_P1",
"organizationId" : "ed1fbc48-262e-4da8-8025-03669f56fa4b",
"description" : "descr1_UPD",
"location" : "loc1_UPD",
"users" : [ {
"email" : "user1email",
"roles" : [ {
"roleName" : "COLLABORATOR",
"moduleType" : "ASSETS"
}, {
"roleName" : "SAFETY_COLLABORATOR",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ]
}, {
"email" : "user2email",
"roles" : [ {
"roleName" : "RECEIVER",
"moduleType" : "ASSETS"
}, {
"roleName" : "SAFETY_COLLABORATOR",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ]
} ],
"fieldsToClear" : [ ]
}, {
"name" : "name2_UPD",
"projectNumber" : "Project X 2",
"externalProjectId" : "EXT_P2",
"organizationId" : "ed1fbc48-262e-4da8-8025-03669f56fa4b",
"location" : "loc2_UPD",
"users" : [ {
"email" : "user1email",
"roles" : [ {
"roleName" : "COLLABORATOR",
"moduleType" : "ASSETS"
}, {
"roleName" : "SAFETY_COLLABORATOR",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ]
}, {
"email" : "user2email",
"roles" : [ {
"roleName" : "RECEIVER",
"moduleType" : "ASSETS"
}, {
"roleName" : "SAFETY_COLLABORATOR",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ]
} ],
"fieldsToClear" : [ "description" ]
}, {
"name" : "name_new",
"externalProjectId" : "EXT_NEW_P_ID",
"projectGroupId" : "9a2c5d64-d352-4207-8d91-ffa6154c7942",
"organizationId" : "ed1fbc48-262e-4da8-8025-03669f56fa4b",
"description" : "descr_new",
"location" : "loc_new",
"users" : [ {
"email" : "user1email",
"roles" : [ {
"roleName" : "COLLABORATOR",
"moduleType" : "ASSETS"
}, {
"roleName" : "SAFETY_COLLABORATOR",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ]
}, {
"email" : "user2email",
"roles" : [ {
"roleName" : "RECEIVER",
"moduleType" : "ASSETS"
}, {
"roleName" : "SAFETY_COLLABORATOR",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ]
} ],
"projectType" : "COMMERCIAL",
"fieldsToClear" : [ ]
} ]
}
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
Parameter | Description |
---|---|
|
When set to true, projectId is the ID of the project in the external system |
Path | Type | Description |
---|---|---|
|
|
Type of the project. Can have one of the following values ASSET_REMOVAL |
|
|
Start date of the project |
|
|
End date of the project |
|
|
Longitude of the project |
|
|
Latitude of the project |
|
|
Project’s budget ($) |
|
|
Project’s address |
|
|
Project’s city |
|
|
Project’s postal code |
|
|
Project’s state |
|
|
Project’s country |
|
|
The internal ID of the project |
|
|
The ID of the project in the external system |
|
|
The human readable project identifier |
|
|
The internal ID of the project group for this project |
|
|
The internal ID of the organization this project belongs to. This is a required field |
|
|
The name of the project. This field is required for any new project |
|
|
The description of the project |
|
|
Location of the project |
|
|
The list of fields that need to be cleared (set to null). The allowed values are: "description", "location", "projectNumber", "projectType", "startDate", "endDate", "longitude", "latitude", "budget", "addressLine1", "city", "postalCode", "state", "country" |
|
|
The e-mail address of the existing smartvid user |
|
|
The user’s role for the current project |
|
|
The module to which the user will be invited with the given role for the give project |
Path | Type | Description |
---|---|---|
|
|
Type of the project. Can have one of the following values ASSET_REMOVAL |
|
|
Start date of the project |
|
|
End date of the project |
|
|
Longitude of the project |
|
|
Latitude of the project |
|
|
Project’s budget ($) |
|
|
Project’s address |
|
|
Project’s city |
|
|
Project’s postal code |
|
|
Project’s state |
|
|
Project’s country |
|
|
The internal ID of the project |
|
|
The ID of the project in the external system |
|
|
The human readable project identifier |
|
|
The internal ID of the project group for this project |
|
|
Whether project is inactive or active |
|
|
The internal ID of the organization this project belongs to |
|
|
The name of the project |
|
|
The description of the project |
|
|
The location of the project |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 968
{
"projects" : [ {
"id" : "0f9a42fa-8d71-42db-9bf0-4a8d5712f2fc",
"externalProjectId" : "EXT_NEW_P_ID",
"organizationId" : "ed1fbc48-262e-4da8-8025-03669f56fa4b",
"name" : "name_new",
"description" : "descr_new",
"location" : "loc_new",
"projectGroupId" : "9a2c5d64-d352-4207-8d91-ffa6154c7942",
"inactive" : false,
"projectType" : "COMMERCIAL"
}, {
"id" : "f7559f1c-75ad-4b7c-bb83-6158d3c92411",
"projectNumber" : "Project X 1",
"externalProjectId" : "EXT_P1",
"organizationId" : "ed1fbc48-262e-4da8-8025-03669f56fa4b",
"name" : "name1_UPD",
"description" : "descr1_UPD",
"location" : "loc1_UPD",
"inactive" : false
}, {
"id" : "dc89013a-08c5-4c1d-b850-ddddbb391f30",
"projectNumber" : "Project X 2",
"externalProjectId" : "EXT_P2",
"organizationId" : "ed1fbc48-262e-4da8-8025-03669f56fa4b",
"name" : "name2_UPD",
"location" : "loc2_UPD",
"inactive" : false
} ]
}
Update Project’s external ID API
Update Project’s external ID API is used to update an external ID of an existing project in Newmetrix.
User calling this API must have permission to manage projects in the organization to which the project belongs to.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed or in case where the project with a given external ID already exists in the given organization the response code
is returned.400
To set an external ID for the project that doesn’t have one, omit the oldId
field in the request payload.
For any permission related errors the response code
is returned.401
If project cannot be found the response code
is returned.404
PATCH /api/v1/organization/3c7ec4f8-5af4-407a-8866-168671cb0023/project/f49b8a76-cebb-4582-aff0-36f1f5b08541/externalId HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 50
{
"oldId" : "EXT_P1",
"newId" : "EXT_UPD_P1"
}
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
|
The internal ID of the project for which an external ID needs to be updated |
Path | Type | Description |
---|---|---|
|
|
The old external ID (optional) of an existing project |
|
|
The new external ID for an existing project |
Path | Type | Description |
---|---|---|
|
|
Type of the project. Can have one of the following values ASSET_REMOVAL |
|
|
Start date of the project |
|
|
End date of the project |
|
|
Longitude of the project |
|
|
Latitude of the project |
|
|
Project’s budget ($) |
|
|
Project’s address |
|
|
Project’s city |
|
|
Project’s postal code |
|
|
Project’s state |
|
|
Project’s country |
|
|
The internal ID of the project |
|
|
The ID of the project in the external system, must be unique within the organization |
|
|
The human readable project identifier |
|
|
The internal ID of the organization this project belongs to |
|
|
The name of the project |
|
|
The description of the project |
|
|
The location of the project |
|
|
ID of the project group that this project belongs to |
|
|
Whether project is inactive or active |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 189
{
"id" : "f49b8a76-cebb-4582-aff0-36f1f5b08541",
"externalProjectId" : "EXT_UPD_P1",
"organizationId" : "3c7ec4f8-5af4-407a-8866-168671cb0023",
"name" : "P1",
"inactive" : false
}
Update Project’s Project Group
Update Project’s Project Group ID API is used to update a project group ID of an existing project in Newmetrix.
User calling this API must have permission to manage projects in the source and target project groups
Upon successful execution the API returns response payload along with
response code.200
For any permission related errors the response code
is returned.401
If project cannot be found the response code
is returned.404
PATCH /api/v1/organization/16326ede-4187-435e-909c-229088cf0f64/project/EXT_P1/projectGroupId?useExternalId=true HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 54
{
"newId" : "7885622e-41d2-4d6d-bb38-0585ffa2659f"
}
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
|
The ID of the project for which a project group ID needs to be updated (internal or external, specified in the request |
Path | Type | Description |
---|---|---|
|
|
The new project group ID |
Path | Type | Description |
---|---|---|
|
|
Type of the project. Can have one of the following values ASSET_REMOVAL |
|
|
Start date of the project |
|
|
End date of the project |
|
|
Longitude of the project |
|
|
Latitude of the project |
|
|
Project’s budget ($) |
|
|
Project’s address |
|
|
Project’s city |
|
|
Project’s postal code |
|
|
Project’s state |
|
|
Project’s country |
|
|
The internal ID of the project |
|
|
The ID of the project in the external system, must be unique within the organization |
|
|
The human readable project identifier |
|
|
The internal ID of the organization this project belongs to |
|
|
The name of the project |
|
|
The description of the project |
|
|
The location of the project |
|
|
ID of the project group that this project belongs to |
|
|
Whether project is inactive or active |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 246
{
"id" : "0ea1251a-227a-4e46-beb8-d8c24f822363",
"externalProjectId" : "EXT_P1",
"organizationId" : "16326ede-4187-435e-909c-229088cf0f64",
"name" : "P1",
"projectGroupId" : "7885622e-41d2-4d6d-bb38-0585ffa2659f",
"inactive" : false
}
Get Project API
Get Project API is used to get an existing project from Newmetrix.
The project is retrieved based on the
or projectExternalId
depending on the value of the id
parameter.useExternalId
User calling this API must have permission to access the organization to which the project belongs to.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
If project cannot be found the response code
is returned.404
GET /api/v1/organization/3c805609-99db-4613-9e03-9322e1be8699/project/EXT_P1?useExternalId=true HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
Parameter | Description |
---|---|
|
When set to true, projectId is the ID of the project in the external system |
Path | Type | Description |
---|---|---|
|
|
Type of the project. Can have one of the following values ASSET_REMOVAL |
|
|
Start date of the project |
|
|
End date of the project |
|
|
Longitude of the project |
|
|
Latitude of the project |
|
|
Project’s budget ($) |
|
|
Project’s address |
|
|
Project’s city |
|
|
Project’s postal code |
|
|
Project’s state |
|
|
Project’s country |
|
|
The internal ID of the project |
|
|
The ID of the project in the external system |
|
|
The human readable project identifier |
|
|
The internal ID of the organization this project belongs to |
|
|
The name of the project |
|
|
Whether project is inactive or active |
|
|
The description of the project |
|
|
The location of the project |
|
|
An optional Project Group object |
|
|
The internal ID of the project group (region/business unit) |
|
|
The internal ID of the organization this project group belongs to |
|
|
The name of the project group |
|
|
The description of the project group |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 421
{
"id" : "439e9923-2919-408f-a5a9-23aa8fd16fcb",
"externalProjectId" : "EXT_P1",
"organizationId" : "3c805609-99db-4613-9e03-9322e1be8699",
"name" : "P1",
"inactive" : false,
"projectType" : "COMMERCIAL",
"projectGroup" : {
"id" : "d8bcd1f2-4fda-4eb8-8902-61d727e23a03",
"organizationId" : "3c805609-99db-4613-9e03-9322e1be8699",
"name" : "Group 1",
"description" : "Group description"
}
}
Set Project Status API
Set Project Status API is used to set 'active' or 'inactive' status for an existing project from Newmetrix.
The client executing request must provide either
or internal project id as the value of the path variable projectExternalId
depending on the value of {projectId}
parameter.useExternalId
User calling this API must have permission to access the organization to which the project belongs to.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
If project cannot be found the response code
is returned.404
PATCH /api/v1/organization/0bee1671-2325-464b-aa24-831f19a69413/project/EXT_P1/activation/status/true?useExternalId=true HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
|
Set 'Inactive' or 'Active' status of the project depending on the isInactive parameter |
Parameter | Description |
---|---|
|
When set to true, projectId is the ID of the project in the external system |
HTTP/1.1 200 OK
Get Projects API
Get Projects API is used to get the organization’s projects from Newmetrix.
The returned list of projects is always sorted by name in the alphabetical order.
User calling this API must have permission to access the organization to which the projects belong to.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
GET /api/v1/organization/b0f2a31b-5ce5-4973-ba19-60e528ee4565/project?page=0&perPage=11&includeInactive=true HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
Parameter | Description |
---|---|
|
The zero based page number of the result set |
|
The number of projects per page (max. 1000) |
|
By default, 'includeInactive' = false. If set to true, return all objects including inactive ones. If set to false, only return the active ones, do not return inactive projects |
Path | Type | Description |
---|---|---|
|
|
Type of the project. Can have one of the following values ASSET_REMOVAL |
|
|
Start date of the project |
|
|
End date of the project |
|
|
Longitude of the project |
|
|
Latitude of the project |
|
|
Project’s budget ($) |
|
|
Project’s address |
|
|
Project’s city |
|
|
Project’s postal code |
|
|
Project’s state |
|
|
Project’s country |
|
|
The internal ID of the project |
|
|
The ID of the project in the external system |
|
|
The human readable project identifier |
|
|
The internal ID of the organization this project belongs to |
|
|
The name of the project |
|
|
The description of the project |
|
|
The location of the project |
|
|
The internal ID of the project group (region/business unit) |
|
|
Whether project is inactive or active |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 792
{
"projects" : [ {
"id" : "e31a7dc0-ad9b-43ce-af58-947ae34275b1",
"projectNumber" : "P12345",
"externalProjectId" : "12345",
"organizationId" : "b0f2a31b-5ce5-4973-ba19-60e528ee4565",
"name" : "P1",
"description" : "Project description",
"location" : "Project location",
"projectGroupId" : "16f3a76a-a0c2-460c-96b9-1c3937c52664",
"inactive" : false
}, {
"id" : "74108a04-9081-4a3b-85d5-3e26ca4ed985",
"externalProjectId" : "EXT_P1",
"organizationId" : "b0f2a31b-5ce5-4973-ba19-60e528ee4565",
"name" : "P2",
"inactive" : false
}, {
"id" : "b416a73c-aba5-4916-b073-958d55117111",
"externalProjectId" : "EXT_P1",
"organizationId" : "b0f2a31b-5ce5-4973-ba19-60e528ee4565",
"name" : "P3",
"inactive" : false
} ]
}
Delete Project API
Delete Project API is used to delete an existing project from Newmetrix.
This API deletes project and all project related data (e.g. assets, observations, etc.).
The project is deleted based on the
or projectExternalId
depending on the value of the id
parameter.useExternalId
User calling this API must have permission to manage projects in the organization to which the project belongs to.
Upon successful execution the API returns
response code.204
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
Client calling this API will not receive an error if the project specified by the ID cannot be not found, the response code
is returned in this case instead.204
DELETE /api/v1/organization/ef3c520f-86e5-413b-a53c-53e336052ce9/project/EXT_P1?useExternalId=true HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
Parameter | Description |
---|---|
|
When set to true, projectId is the ID of the project in the external system |
HTTP/1.1 204 No Content
Trade Partners
Sync Trade Partners API
Sync Trade Partners API is used to create new or update existing trade partners in Newmetrix.
The
path parameter must match to all of the organizationId
in the payload, this means that user can sync only the trade partners from a single organization in a single call to this API.organizationId’s
This API allows users to optionally set
for each trade partner as another form of identification. Each tradePartnerExternalId’s
must be unique (unless empty) across the organization.tradePartnerExternalId
The system will try to locate existing trade partners based on the
or tradePartnerExternalId
depending on the value of the id
parameter.useExternalId
For existing trade partners the following fields cannot be updated:
, id
and organizationId
.externalTradePartnerId
The API is limited to work with
trade partners at a time.100
User calling this API must have permission to create and update trade partners for the organization specified.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
POST /api/v1/organization/a7317f69-b18b-4cf8-a131-553e29ec6f7f/tradepartner/sync?useExternalId=true HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 829
{
"tradePartners" : [ {
"organizationId" : "a7317f69-b18b-4cf8-a131-553e29ec6f7f",
"externalTradePartnerId" : "EXT_ID_1",
"name" : "TP1 Updated",
"description" : "TP1 Descr Updated",
"trade" : "TP1 Trade Updated",
"telephone" : "111-111-1111",
"email" : "tp1@examples.com",
"fieldsToClear" : [ ]
}, {
"organizationId" : "a7317f69-b18b-4cf8-a131-553e29ec6f7f",
"externalTradePartnerId" : "EXT_ID_2",
"name" : "TP2",
"description" : "TP2 Descr",
"trade" : "TP2 Trade Updated",
"email" : "tp2@examples.com",
"fieldsToClear" : [ ]
}, {
"organizationId" : "a7317f69-b18b-4cf8-a131-553e29ec6f7f",
"externalTradePartnerId" : "EXT_ID_3",
"name" : "TP3 new",
"description" : "TP3 descr_new",
"trade" : "TP3 trade new",
"fieldsToClear" : [ ]
} ]
}
Parameter | Description |
---|---|
|
The internal ID of the organization the trade partners belong to |
Parameter | Description |
---|---|
|
When set to true, projectId is the ID of the project in the external system |
Path | Type | Description |
---|---|---|
|
|
The internal ID of the trade partner |
|
|
The ID of the trade partner in the external system. Must be unique across organization or left empty. |
|
|
The internal ID of the organization this trade partner is associated with. This is a required field. |
|
|
The name of the trade partner |
|
|
The description of the trade partner |
|
|
The e-mail address of the trade partner |
|
|
The trade of the trade partner |
|
|
The first line of the trade partner’s address |
|
|
The second line of the trade partner’s address |
|
|
The city of the trade partner’s address |
|
|
The postal code of the trade partner’s address |
|
|
The state of the trade partner’s address |
|
|
The country of the trade partner’s address |
|
|
The phone of the trade partner |
|
|
The company website of the trade partner |
|
|
The tax ID of the trade partner |
|
|
The indicator if the given trade partner is active or not |
|
|
The list of fields that need to be cleared (set to null). The allowed values are: "trade", "city", "description", "addressLine1", "addressLine2", "telephone", "companyWebsite", "country", "state", "postalCode", "taxId", "isActive", "email" |
Path | Type | Description |
---|---|---|
|
|
The internal ID of the trade partner |
|
|
The ID of the trade partner in the external system |
|
|
The internal ID of the organization this trade partner is associated with |
|
|
The name of the trade partner |
|
|
The description of the trade partner |
|
|
The e-mail address of the trade partner |
|
|
The trade of the trade partner |
|
|
The first line of the trade partner’s address |
|
|
The second line of the trade partner’s address |
|
|
The city of the trade partner’s address |
|
|
The postal code of the trade partner’s address |
|
|
The state of the trade partner’s address |
|
|
The country of the trade partner’s address |
|
|
The phone of the trade partner |
|
|
The company website of the trade partner |
|
|
The tax ID of the trade partner |
|
|
The indicator if the given trade partner is active or not |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 970
{
"tradePartners" : [ {
"id" : "7b29488a-f0f1-4af5-84ac-2f1c41f09c7a",
"organizationId" : "a7317f69-b18b-4cf8-a131-553e29ec6f7f",
"externalTradePartnerId" : "EXT_ID_3",
"name" : "TP3 new",
"description" : "TP3 descr_new",
"trade" : "TP3 trade new",
"isActive" : true
}, {
"id" : "b75169af-f2f3-479a-900f-006dd0abc192",
"organizationId" : "a7317f69-b18b-4cf8-a131-553e29ec6f7f",
"externalTradePartnerId" : "EXT_ID_1",
"name" : "TP1 Updated",
"description" : "TP1 Descr Updated",
"trade" : "TP1 Trade Updated",
"telephone" : "111-111-1111",
"isActive" : true,
"email" : "tp1@examples.com"
}, {
"id" : "fb1e6697-92f6-445f-b4a8-87079cd6fc70",
"organizationId" : "a7317f69-b18b-4cf8-a131-553e29ec6f7f",
"externalTradePartnerId" : "EXT_ID_2",
"name" : "TP2",
"description" : "TP2 Descr",
"trade" : "TP2 Trade Updated",
"isActive" : true,
"email" : "tp2@examples.com"
} ]
}
Get Trade Partner API
Get Trade Partner API is used to get an existing trade partner from Newmetrix.
The trade partner is retrieved based on the
or tradePartnerExternalId
depending on the value of the id
parameter.useExternalId
User calling this API must have permission to access the trade partners in the organization with which the trade partner is associated.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
If trade partner cannot be found the response code
is returned.404
GET /api/v1/organization/304cff0b-e7c5-4051-85d5-a74f3d2445c4/tradepartner/EXT_ID_1?useExternalId=true HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the trade partner belongs to |
|
The ID of the trade partner either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
Parameter | Description |
---|---|
|
When set to true, tradePartnerId is the ID of the trade partner in the external system |
Path | Type | Description |
---|---|---|
|
|
The internal ID of the trade partner |
|
|
The ID of the trade partner in the external system |
|
|
The internal ID of the organization this trade partner is associated with |
|
|
The name of the trade partner |
|
|
The description of the trade partner |
|
|
The e-mail address of the trade partner |
|
|
The trade of the trade partner |
|
|
The first line of the trade partner’s address |
|
|
The second line of the trade partner’s address |
|
|
The city of the trade partner’s address |
|
|
The postal code of the trade partner’s address |
|
|
The state of the trade partner’s address |
|
|
The country of the trade partner’s address |
|
|
The phone of the trade partner |
|
|
The company website of the trade partner |
|
|
The tax ID of the trade partner |
|
|
The indicator if the given trade partner is active or not |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 281
{
"id" : "2a09f68e-218d-4a17-bcf5-e800554bfc68",
"organizationId" : "304cff0b-e7c5-4051-85d5-a74f3d2445c4",
"externalTradePartnerId" : "EXT_ID_1",
"name" : "TP1",
"description" : "TP1 Descr",
"trade" : "TP1 Trade",
"telephone" : "111-111-11111",
"isActive" : true
}
Get Trade Partners for Organization API
Get Trade Partners for Organization API is used to obtain a paged list of trade partners for a given organization from Newmetrix.
It returns a sorted (by name) and paged list of trade partners where maximum page size cannot exceed 100 items.
User calling this API must have permission to access the trade partners in the organization with which the trade partners are associated.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
GET /api/v1/organization/ea772966-2f85-448a-a7d4-85db0c7a181e/tradepartner?offset=0&limit=100 HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the trade partner belongs to |
Parameter | Description |
---|---|
|
Offset (in the number of items) for the returned result set |
|
Limit (in the number of items, max. 100) for the returned result set |
Path | Type | Description |
---|---|---|
|
|
The internal ID of the trade partner |
|
|
The ID of the trade partner in the external system |
|
|
The internal ID of the organization this trade partner is associated with |
|
|
The name of the trade partner |
|
|
The description of the trade partner |
|
|
The e-mail address of the trade partner |
|
|
The trade of the trade partner |
|
|
The first line of the trade partner’s address |
|
|
The second line of the trade partner’s address |
|
|
The city of the trade partner’s address |
|
|
The postal code of the trade partner’s address |
|
|
The state of the trade partner’s address |
|
|
The country of the trade partner’s address |
|
|
The phone of the trade partner |
|
|
The company website of the trade partner |
|
|
The tax ID of the trade partner |
|
|
The indicator if the given trade partner is active or not |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 327
{
"tradePartners" : [ {
"id" : "63571f1b-43e7-4dfe-8b87-095eabf2c531",
"organizationId" : "ea772966-2f85-448a-a7d4-85db0c7a181e",
"externalTradePartnerId" : "EXT_ID_1",
"name" : "TP1",
"description" : "TP1 Descr",
"trade" : "TP1 Trade",
"telephone" : "111-111-11111",
"isActive" : true
} ]
}
Get Trade Partners for Project API
Get Trade Partners for Project API is used to obtain a paged list of trade partners for a given project from Newmetrix.
It returns a sorted (by name) and paged list of trade partners where maximum page size cannot exceed 100 items.
User calling this API must have permission to access the trade partners in the project of the organization with which the trade partners are associated.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
GET /api/v1/organization/87829268-206e-44dd-aac5-84997cc57d27/project/156f1fcd-e64b-431b-b688-5a7ee48e5e72/tradepartner?offset=0&limit=100 HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the trade partner belongs to |
|
The internal ID of the project the trade partner belongs to |
Parameter | Description |
---|---|
|
Offset (in the number of items) for the returned result set |
|
Limit (in the number of items, max. 100) for the returned result set |
Path | Type | Description |
---|---|---|
|
|
The internal ID of the trade partner |
|
|
The ID of the trade partner in the external system |
|
|
The internal ID of the organization this trade partner is associated with |
|
|
The name of the trade partner |
|
|
The description of the trade partner |
|
|
The e-mail address of the trade partner |
|
|
The trade of the trade partner |
|
|
The first line of the trade partner’s address |
|
|
The second line of the trade partner’s address |
|
|
The city of the trade partner’s address |
|
|
The postal code of the trade partner’s address |
|
|
The state of the trade partner’s address |
|
|
The country of the trade partner’s address |
|
|
The phone of the trade partner |
|
|
The company website of the trade partner |
|
|
The tax ID of the trade partner |
|
|
The indicator if the given trade partner is active or not |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 327
{
"tradePartners" : [ {
"id" : "84c43e6d-81ee-4c5e-b3b4-9d5ac7a05896",
"organizationId" : "87829268-206e-44dd-aac5-84997cc57d27",
"externalTradePartnerId" : "EXT_ID_1",
"name" : "TP1",
"description" : "TP1 Descr",
"trade" : "TP1 Trade",
"telephone" : "111-111-11111",
"isActive" : true
} ]
}
Delete Trade Partner API
Delete Trade Partner API is used to delete an existing trade partner from Newmetrix.
The trade partner is deleted based on the
or tradePartnerExternalId
depending on the value of the id
parameter.useExternalId
User calling this API must have permission to delete trade partners in the organization with which the trade partner is associated.
Upon successful execution the API returns
response code.204
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
Client calling this API will not receive an error if the trade partner specified by the ID cannot be not found, the response code
is returned in this case instead.204
DELETE /api/v1/organization/0c3d1d46-b499-4fb6-a8fe-702e8c7d081b/tradepartner/EXT_ID_1?useExternalId=true HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the trade partner belongs to |
|
The ID of the trade partner either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
Parameter | Description |
---|---|
|
When set to true, tradePartnerId is the ID of the trade partner in the external system |
HTTP/1.1 204 No Content
Assign Trade Partners to Project API
Assign Trade Partners to Project API is used to assign maltiple trade partners specified by their IDs to an existing project in Newmetrix.
The trade partners' IDs are either internal Newmetrix IDs or external trade partners IDs based on the
parameter.useExternalId
User calling this API must have permission to assign trade partners to the project in the organization with which the trade partner is associated.
Upon successful execution the API returns
response code.201
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
If trade partner or the project cannot be found the response code
is returned.404
PUT /api/v1/organization/b05763fe-f6dd-4564-9bdc-641d3357f67e/project/EXT_PROJ_ID_1/tradepartner?useExternalId=true HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: api-public.smartvid.io
Content-Length: 52
{
"tradePartnerIds" : [ "EXT_ID_1", "EXT_ID_2" ]
}
Parameter | Description |
---|---|
|
The internal ID of the organization the trade partner belongs to |
|
The ID of the project, either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
Parameter | Description |
---|---|
|
When set to true, projectId is the ID of the project in the external system |
HTTP/1.1 201 Created
Remove Trade Partner from Project API
Remove Trade Partner from Project API is used to remove a trade partner specified by ID from an existing project in Newmetrix.
The trade partner’s ID is either internal Newmetrix ID or external trade partner’s ID based on the
parameter.useExternalId
User calling this API must have permission to remove trade partners from the project in the organization with which the trade partner is associated.
Upon successful execution the API returns
response code.201
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
If trade partner or the project cannot be found the response code
is returned.404
DELETE /api/v1/organization/de1b518a-9e1c-4d8b-b8b0-a0aa4b339b45/project/EXT_PROJ_ID_1/tradepartner/EXT_ID_1?useExternalId=true HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the trade partner belongs to |
|
The ID of the project, either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
|
The ID of the trade partner either in Smartvid or in the external system, depending on the value of the useExternalId parameter |
Parameter | Description |
---|---|
|
When set to true, projectId and tradePartnerId are the IDs of the project and trade partner in the external system |
HTTP/1.1 204 No Content
Update Trade partner’s external ID API
Update Trade partner’s external ID API is used to update an external ID of an existing trade partner in Newmetrix.
User calling this API must have permission to manage projects and access trade partners in the organization to which the project belongs to.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed or in case where the trade partner with a given external ID already exists in the given organization the response code
is returned.400
To set an external ID for the trade partner that doesn’t have one, omit the oldId field in the request payload.
For any permission related errors the response code
is returned.401
If trade partner’s cannot be found the response code
is returned.404
PATCH /api/v1/organization/405509a9-68ef-4cc9-818a-756a749c06c1/project/8015886b-ff89-4515-ba4b-97afb2b13ceb/tradepartner/eabd8fea-cd8d-4686-96f0-d8f89f178549/externalId HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 53
{
"oldId" : "EXT_ID_1",
"newId" : "EXT_UPD_TP1"
}
Parameter | Description |
---|---|
|
The internal ID of the organization the projects belong to |
|
The internal ID of the project for which an external ID needs to be updated |
|
The trade partner ID for which an external ID needs to be updated |
Path | Type | Description |
---|---|---|
|
|
The old external ID (optional) of an existing trade partner |
|
|
The new external ID for an existing trade partner |
Path | Type | Description |
---|---|---|
|
|
The internal ID of the trade partner |
|
|
The ID of the trade partner in the external system |
|
|
The internal ID of the organization this trade partner is associated with |
|
|
The name of the trade partner |
|
|
The description of the trade partner |
|
|
The e-mail address of the trade partner |
|
|
The trade of the trade partner |
|
|
The first line of the trade partner’s address |
|
|
The second line of the trade partner’s address |
|
|
The city of the trade partner’s address |
|
|
The postal code of the trade partner’s address |
|
|
The state of the trade partner’s address |
|
|
The country of the trade partner’s address |
|
|
The phone of the trade partner |
|
|
The company website of the trade partner |
|
|
The tax ID of the trade partner |
|
|
The indicator if the given trade partner is active or not |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 284
{
"id" : "eabd8fea-cd8d-4686-96f0-d8f89f178549",
"organizationId" : "405509a9-68ef-4cc9-818a-756a749c06c1",
"externalTradePartnerId" : "EXT_UPD_TP1",
"name" : "TP1",
"description" : "TP1 Descr",
"trade" : "TP1 Trade",
"telephone" : "111-111-11111",
"isActive" : true
}
Users and project members
Invite Users To Project Group API
Invite Users To Project Group API can be used to invite new or existing users to a project group.
POST /api/v1/organization/78d62dfd-e57f-47cd-b181-48a7dbb30b39/projectgroup/4d9224e8-c59e-4cb3-b12b-f3706882312f/invitation HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Content-Length: 608
{
"users" : [ {
"email" : "joe@smartvid.io",
"externalUserId" : "EXT_U1",
"isSso" : true,
"firstName" : "fn",
"lastName" : "ln",
"roles" : [ {
"roleName" : "ADMIN",
"moduleType" : "ASSETS"
}, {
"roleName" : "REGIONAL_SAFETY_ADMIN",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "REGIONAL_TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ],
"fieldsToClear" : [ ]
}, {
"email" : "jane@smartvid.io",
"roles" : [ {
"roleName" : "ADMIN",
"moduleType" : "ASSETS"
} ],
"fieldsToClear" : [ ]
} ]
}
Parameter | Description |
---|---|
|
The internal ID of the organization |
|
ID of the project group |
Path | Type | Description |
---|---|---|
|
|
Email of user to invite |
|
|
Sets external ID of the user |
|
|
Sets if user is a single sign-on user. When set to true, user will automatically be set to active user status. If set to false and applied to an existing user previously set to true, the flag will be set and the user will be returned to an invited status |
|
|
Sets first name or user |
|
|
Sets last name of user |
|
|
The list of fields that need to be cleared (set to null). The allowed values are: "firstName", "lastName" |
|
|
Can have one of the following values for ASSETS NON_MEMBER,USER,REGION_VIEWER,ADMIN. Can have one of the following values for OBSERVATIONS NON_MEMBER,USER,REGIONAL_SAFETY_ADMIN. Can have one of the following values for TRADE_PARTNERS NON_MEMBER,USER,REGIONAL_TRADE_PARTNER_ADMIN. |
|
|
Module user is to be invited to. Can have one of the following values ASSETS,OBSERVATIONS,TRADE_PARTNERS |
HTTP/1.1 201 Created
Invite Users To Project API
Invite Users To Project API can be used to invite new or existing users to a project.
POST /api/v1/organization/ca7439ba-238b-40f1-9ec6-4acbda38f138/project/EXT_P1/member/invitation?useExternalId=true HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Content-Length: 597
{
"users" : [ {
"email" : "joe@smartvid.io",
"externalUserId" : "EXT_U1",
"isSso" : true,
"firstName" : "fn",
"lastName" : "ln",
"roles" : [ {
"roleName" : "COLLABORATOR",
"moduleType" : "ASSETS"
}, {
"roleName" : "SAFETY_COLLABORATOR",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "VIEWER",
"moduleType" : "TRADE_PARTNERS"
} ],
"fieldsToClear" : [ ]
}, {
"email" : "jane@smartvid.io",
"roles" : [ {
"roleName" : "CONTRIBUTOR",
"moduleType" : "ASSETS"
} ],
"fieldsToClear" : [ ]
} ]
}
Parameter | Description |
---|---|
|
The internal ID of the organization |
|
ID of project |
Parameter | Description |
---|---|
|
When set to true, projectOrExternalProjectId will expect and external ID |
|
Prevents project invite emails from being sent to users when set to true. Defaults to false |
Path | Type | Description |
---|---|---|
|
|
Email of user to invite |
|
|
Sets external ID of the user |
|
|
Sets if user is a single sign-on user. When set to true, user will automatically be set to active user status. If set to false and applied to an existing user previously set to true, the flag will be set and the user will be returned to an invited status |
|
|
Sets first name or user |
|
|
Sets last name of user |
|
|
The list of fields that need to be cleared (set to null). The allowed values are: "firstName", "lastName" |
|
|
Can have one of the following values for ASSETS NON_MEMBER,COLLABORATOR,RECEIVER,VIEWER,CONTRIBUTOR,OWNER. Can have one of the following values for OBSERVATIONS NON_MEMBER,SAFETY_ADMIN,SAFETY_COLLABORATOR,SAFETY_USER,SAFETY_OBSERVER. Can have one of the following values for TRADE_PARTNERS NON_MEMBER,VIEWER,TRADE_PARTNER_ADMIN. |
|
|
Module user is to be invited to. Can have one of the following values ASSETS,OBSERVATIONS,TRADE_PARTNERS |
HTTP/1.1 201 Created
Invite Users To Organization API
Invite Users To Organization API can be used to invite new or existing users to an organization.
POST /api/v1/organization/EXT_O1/member/invitation?useExternalId=true HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Content-Length: 628
{
"users" : [ {
"email" : "joe@smartvid.io",
"externalUserId" : "EXT_U1",
"isSso" : true,
"firstName" : "fn",
"lastName" : "ln",
"roles" : [ {
"roleName" : "ORGANIZATION_ADMIN",
"moduleType" : "ASSETS"
}, {
"roleName" : "ORGANIZATION_SAFETY_ADMIN",
"moduleType" : "OBSERVATIONS"
}, {
"roleName" : "ORGANIZATION_TRADE_PARTNER_ADMIN",
"moduleType" : "TRADE_PARTNERS"
} ],
"fieldsToClear" : [ ]
}, {
"email" : "jane@smartvid.io",
"roles" : [ {
"roleName" : "USER",
"moduleType" : "ASSETS"
} ],
"fieldsToClear" : [ ]
} ]
}
Parameter | Description |
---|---|
|
ID of organization |
Parameter | Description |
---|---|
|
When set to true, organizationOrExternalOrganizationId will expect an external ID |
|
Prevents organization invite emails from being sent to users when set to true. Defaults to false |
Path | Type | Description |
---|---|---|
|
|
Email of user to invite |
|
|
Sets external ID of the user. |
|
|
Sets if user is a single sign-on user. When set to true, user will automatically be set to active user status. If set to false and applied to an existing user previously set to true, the flag will be set and the user will be returned to an invited status |
|
|
Sets first name or user |
|
|
Sets last name of user |
|
|
The list of fields that need to be cleared (set to null). The allowed values are: "firstName", "lastName" |
|
|
Can have one of the following values for ASSETS NO_ACCESS,ORGANIZATION_VIEWER,GUEST,USER,ORGANIZATION_ADMIN,PRIMARY_OWNER. Can have one of the following values for OBSERVATIONS NON_MEMBER,USER,ORGANIZATION_SAFETY_ADMIN. Can have one of the following values for TRADE_PARTNERS NON_MEMBER,USER,ORGANIZATION_TRADE_PARTNER_ADMIN. |
|
|
Module user is to be invited to. Can have one of the following values ASSETS,OBSERVATIONS,TRADE_PARTNERS |
HTTP/1.1 201 Created
Uninvite Users From Project Group API
Uninvite Users From Project Group API can be used to revoke a project group users membership.
DELETE /api/v1/organization/47c5d886-62bd-4601-85ed-6525abe8cd32/projectgroup/11630874-063e-483e-aeb3-caed03ba6e33/invitation/email@example.com HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization |
|
ID of the project group |
|
Email of user to uninvite |
Parameter | Description |
---|
HTTP/1.1 204 No Content
Uninvite Users From Project API
Uninvite Users From Project API can be used to revoke a project users membership.
DELETE /api/v1/organization/f64c322a-047e-4477-a7e0-edf1b9b4ec28/project/EXT_P1/member/invitation/email@example.com?useExternalId=true HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization |
|
ID of project |
|
Email of user to uninvite |
Parameter | Description |
---|---|
|
When set to true, projectOrExternalProjectId will expect an external ID |
|
Prevents project un-invite emails from being sent to users when set to true. Defaults to false |
HTTP/1.1 204 No Content
Uninvite Users From Organization API
Uninvite Users From Organization API can be used to revoke an organization users membership.
DELETE /api/v1/organization/EXT_O1/member/invitation/email@example.com?useExternalId=true HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
ID of organization |
|
Email of user to uninvite |
Parameter | Description |
---|---|
|
When set to true, organizationOrExternalOrganizationId will expect an external ID |
|
Prevents project un-invite emails from being sent to users when set to true. Defaults to false |
HTTP/1.1 204 No Content
Get Organization Users API
Get the list of users for a given organization.
GET /api/v1/organization/c6b36b7d-3416-4c1e-81d2-f1742f038640/user?page=0&perPage=1000 HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
Parameter | Description |
---|---|
|
Page |
|
Number of users per page. This value cannot be greater than 1,000 |
Path | Type | Description |
---|---|---|
|
|
Internal ID of the user |
|
|
First name |
|
|
Last name |
|
|
|
|
|
External ID of the user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 687
{
"users" : [ {
"id" : "1",
"firstName" : "Admin",
"lastName" : "Admin",
"email" : "admin@smartvid.io",
"isActive" : true,
"isInvited" : false,
"isSso" : false
}, {
"id" : "bcd3a1a0-9f47-4c9b-8ed1-46aa4ec6e36f",
"firstName" : "fn",
"lastName" : "ln",
"email" : "email@example.com",
"externalUserId" : "EXT_USER1",
"isActive" : true,
"isInvited" : false,
"isSso" : true
}, {
"id" : "bec439dd-70fe-40ef-a58c-77c96a3da73a",
"firstName" : "fn2",
"lastName" : "ln2",
"email" : "email2@example.com",
"externalUserId" : "EXT_USER2",
"isActive" : false,
"isInvited" : false,
"isSso" : true
} ]
}
Get Project Users API
Get the list of users for a given project.
GET /api/v1/organization/d11ad0d1-9e3c-4e6e-81b9-d071e7b6282f/project/22696e1c-66a8-41e6-8de4-f0bc06ab8d67/user?page=0&perPage=1000 HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
External or internal ID of the project |
Parameter | Description |
---|---|
|
When set to true, extOrIntProjectId will expect an external ID |
|
Page number |
|
Number of users per page. This value cannot be greater than 1,000 |
Path | Type | Description |
---|---|---|
|
|
Internal ID of the user |
|
|
First name |
|
|
Last name |
|
|
|
|
|
External ID of the user |
|
|
The indicator if the given user is active |
|
|
The indicator if the given user is invited |
|
|
Sets to true if user is a single sign-on user otherwise to false |
|
|
Project role for the ASSETS module. Can have one of the following values NON_MEMBER, COLLABORATOR, RECEIVER, VIEWER, CONTRIBUTOR, OWNER |
|
|
Project role for the OBSERVATIONS module. Can have one of the following values NON_MEMBER, SAFETY_ADMIN, SAFETY_COLLABORATOR, SAFETY_USER, SAFETY_OBSERVER |
|
|
Project role for the TRADE_PARTNERS module. Can have one of the following values NON_MEMBER, VIEWER, TRADE_PARTNER_ADMIN |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 408
{
"projectUsers" : [ {
"id" : "767d7fb1-1f3a-4588-9730-e0c6943aa51b",
"firstName" : "fn",
"lastName" : "ln",
"email" : "email@example.com",
"externalUserId" : "EXT_USER1",
"isActive" : true,
"isInvited" : false,
"isSso" : true,
"assetsProjectRole" : "COLLABORATOR",
"observationsProjectRole" : "SAFETY_COLLABORATOR",
"tradePartnersProjectRole" : "VIEWER"
} ]
}
Update User’s external ID API
Update User’s external ID API is used to update an external ID of an existing user in Newmetrix.
User calling this API must have permission to manage at least one of organizations which the user belong to.
To set an external ID for the user that doesn’t have one, omit the oldId field in the request payload.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
If user cannot be found the response code
is returned.404
PATCH /api/v1/organization/a4d369d5-f921-4ab1-9aa2-cd5dd2897353/user/email@example.com/externalId HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Content-Length: 64
{
"oldId" : "OLD_EXTERNAL_ID",
"newId" : "NEW_EXTERNAL_ID"
}
Parameter | Description |
---|---|
|
The internal ID of the organization |
|
User’s email |
Path | Type | Description |
---|---|---|
|
|
The old external ID of an existing user - currently unused and can be omitted from request |
|
|
The new external ID of an existing user. NB: user’s external id should be unique |
HTTP/1.1 200 OK
Reset User’s external ID API
Reset User’s external ID API is used to reset an external ID of an existing user in Newmetrix.
User calling this API must have permission to manage at least one of organizations which the user belong to.
Upon successful execution the API returns response payload along with
response code.200
For any incorrect parameters passed the response code
is returned.400
For any permission related errors the response code
is returned.401
If user cannot be found the response code
is returned.404
DELETE /api/v1/organization/3e187a4a-b1f2-43e6-a401-36e61eb920d3/user/email@example.com/externalId HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization |
|
User’s email |
HTTP/1.1 200 OK
Get User settings API
Get User Settings
GET /api/v1/organization/cd2eb8dd-79e7-4448-b999-bfdf4e5a892e/user/email@example.com/settings HTTP/1.1
Host: public-api.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization |
|
User’s email |
Path | Type | Description |
---|---|---|
|
|
Default Home Page (ASSETS or OBSERVATIONS currently) |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 34
{
"defaultHomePage" : "ASSETS"
}
Update User settings API
Update user settings
POST /api/v1/user/email@example.com/settings HTTP/1.1
Content-Type: application/json
Host: public-api.smartvid.io
Content-Length: 93
{
"defaultHomePage" : "ASSETS",
"primaryOrgId" : "8ebbd078-9e82-4ab1-8fae-d44f31b82dd4"
}
Parameter | Description |
---|---|
|
User’s email |
Path | Type | Description |
---|---|---|
|
|
Default Home Page (ASSETS or OBSERVATIONS currently) |
|
|
Primary Organization Id |
HTTP/1.1 200 OK
Organizations and Project Groups
Retrieve project groups for an organization
Get the list of project groups for a given organization.
GET /api/v1/organization/f583af51-1ec4-45e9-a574-b8dafd08acbf/projectgroup HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization projects groups belong to |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 587
{
"projectGroups" : [ {
"id" : "6ba1bcb9-53f1-487b-bb42-4b0bdf5f3ed3",
"organizationId" : "f583af51-1ec4-45e9-a574-b8dafd08acbf",
"name" : "Group 2",
"description" : "Group 2 description"
}, {
"id" : "e5c6a343-0b6c-4e32-a917-7ce282ec8320",
"organizationId" : "f583af51-1ec4-45e9-a574-b8dafd08acbf",
"name" : "Group 1",
"description" : "Group 1 description"
}, {
"id" : "69d3f605-ea2b-4ac0-b47e-25e2e7e3f30a",
"organizationId" : "f583af51-1ec4-45e9-a574-b8dafd08acbf",
"name" : "Group 0",
"description" : "Group 0 description"
} ]
}
Retrieve organizations for the current user
Get the list of all organizations that the current user belongs to.
GET /api/v1/organization HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 537
{
"organizations" : [ {
"id" : "b2559935-3f13-a002-820d-b32793502907",
"name" : "Smith Alice's Org"
}, {
"id" : "b447e5c4-782c-4831-bda5-57384b869568",
"name" : "Organization tBgfRhuaOY",
"description" : "Test organization 0"
}, {
"id" : "c995c063-dff8-4181-9342-27abdec316d5",
"name" : "Organization zITEHBugvN",
"description" : "Test organization 1"
}, {
"id" : "19fdfb4a-e7b5-4df8-ad85-e47250a96e20",
"name" : "Organization NlzTIIwXAY",
"description" : "Test organization 2"
} ]
}
Integrations
Integration APIs are available to programmatically set up project-level integrations with 3rd parties.
There are four APIs available: to create new integrations, update settings of existing integrations, get integration settings,
and finally delete integrations. For each of the calls a project must be specified (using an internal ID or external ID) and an integrationType
.
Note: first integration must be set up manually in the User Interface to authenticate and establish an integration token for the user.
Once that is done, API can be used to create subsequent integrations of that type.
We recommend creating and using a designated service account for all integrations.
Get integration settings for project
Get integration settings for project, for the specified integrationType.
If the project does not have the integration of the specified type set up, it returns
404 "Integration settings for projectID: projectId
cannot be found"
Example request for all types of integration
GET /api/v1/organization/cce093a1-03dd-4a8d-b894-75d5bf0627e5/project/6e519dea-1f27-4b88-8f34-071c7d307bb4/integration/SHAREPOINT_SYNC/settings?useExternalId=false HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
|
The type of the integration. Supports only SHAREPOINT_SYNC |
Parameter | Description |
---|---|
|
If set to true, then the |
Example response for Sharepoint
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 362
{
"projectId" : "6e519dea-1f27-4b88-8f34-071c7d307bb4",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "SHAREPOINT_SYNC",
"settingsData" : {
"partnerUserId" : "1",
"folderId" : "folder1",
"folderPath" : "root/folder/path",
"historicalDataSyncDateRange" : "7_DAYS",
"isForceReSyncAll" : false
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case SHAREPOINT_SYNC |
|
|
An integration user id |
|
|
Force resynchronization |
|
|
A destination folder id |
|
|
A destination path of the folder |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
Example response for Procore
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 563
{
"projectId" : "9f506285-da87-4a72-a31d-d7c2fb1545df",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "PROCORE_SYNC",
"settingsData" : {
"procoreCompanyId" : 1,
"procoreCompanyName" : "Test Company",
"procoreProjectId" : 1,
"procoreProjectName" : "Test Project",
"pushSettings" : "PUSH_FILES_AND_TAGS",
"pullSettings" : "PULL_FILES",
"albumSettings" : "EXISTING_ALBUM",
"existingAlbumId" : 123,
"existingAlbumName" : "Test Album",
"historicalDataSyncDateRange" : "7_DAYS"
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case PROCORE_SYNC |
|
|
Company ID in Procore |
|
|
Company name in Procore |
|
|
Project ID in Procore |
|
|
Project name in Procore |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
|
|
Settings for downloading data from Procore. Can be one of the following values: PULL_FILES, PULL_FILES_AND_LOCATIONS |
|
|
Settings for upload data to Procore. Can be one of the following values: PUSH_NOTHING, PUSH_TAGS, PUSH_FILES_AND_TAGS |
|
|
Album handling strategy. Used if |
|
|
Album ID existing in Procore. Used if |
|
|
Album name existing in Procore. Used if |
|
|
The name of the album in Procore, which will be created in the absence. Used if |
|
|
The weekly album prefix. Used if |
Example response for Struction Site
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 387
{
"projectId" : "7473bf1b-8bd6-4c02-813e-1700d96f5405",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "STRUCTION_SITE_SYNC",
"settingsData" : {
"partnerUserId" : "1",
"structionSiteProjectId" : "123",
"structionSiteProjectName" : "str_name",
"historicalDataSyncDepth" : "ALL",
"downloadAssetsOption" : "IMAGES_ONLY"
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case STRUCTION_SITE_SYNC |
|
|
Struction site project id |
|
|
Struction site project name |
|
|
Can be of the following values: NONE, PAST_7, PAST_30, PAST_60, ALL |
|
|
Can be of the following values: IMAGES_ONLY, VIDEOWALKS_ONLY, VIDEOWALKS_AND_IMAGES |
|
|
An integration user id |
Get integration settings for user
Get integration settings across all projects for a given user in organization, for the specified integration type.
Example request for all types of integration
GET /api/v1/organization/14e1ac59-1d17-495b-ac56-bba67690b4df/user/1/integration/PROCORE_SYNC/settings?useExternalUserId=false HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the user either in Smartvid or in the external system, depending on the value of the |
|
The type of the integration. Can be one of the following values: PROCORE_SYNC,SHAREPOINT_SYNC,STRUCTION_SITE_SYNC,EGNYTE_SYNC,OXBLUE_SYNC,BOX_SYNC,ACONEX_SYNC,BIM360_FIELD_PHOTO_SYNC,FORGE_SYNC |
Parameter | Description |
---|---|
|
If set to true, then the |
Example response
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 166
[ {
"projectId" : "b546a6c8-1f59-4ee5-a2d7-ae9836b668f0",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "PROCORE_SYNC"
} ]
Path | Type | Description |
---|---|---|
|
|
Integration settings user id |
|
|
Integration settings project id |
|
|
Is integration enabled |
|
|
Is integration currently processing |
|
|
Integration type |
Create integration settings
Create integration settings for project is used to create a new integration of the specified integrationType. It accepts internal or external project IDs. Important Note: At least one integration must be set up manually in the User Interface to authenticate and establish an token for the user. Once that is done, this API call uses the token associated with the user making this call. If the token has not been established for the user it returns 401 UnAuthorized
Example for SharePoint
POST /api/v1/organization/38d7d3e3-be4a-4bc2-9df2-f20572761bc2/project/98f0970c-d4e7-4d11-967d-f0879871bfa8/integration/SHAREPOINT_SYNC/settings?useExternalId=false HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 166
{
"isEnabled" : true,
"settingsData" : {
"folderPath" : "root/folder/path",
"historicalDataSyncDateRange" : "7_DAYS",
"isForceReSyncAll" : false
}
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
Path | Type | Description |
---|---|---|
|
|
Enable or disable current integration |
|
|
Force resynchronization |
|
|
A destination path of the folder |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
HTTP/1.1 201 Created
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 335
{
"projectId" : "98f0970c-d4e7-4d11-967d-f0879871bfa8",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "SHAREPOINT_SYNC",
"settingsData" : {
"folderId" : "folder1",
"folderPath" : "root/folder/path",
"historicalDataSyncDateRange" : "7_DAYS",
"isForceReSyncAll" : false
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case SHAREPOINT_SYNC |
|
|
Force resynchronization |
|
|
A destination folder id |
|
|
A destination path of the folder |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
Example for Procore
POST /api/v1/organization/684f4c12-be35-42f2-b1f6-b35929580183/project/b32b5082-725f-4caa-bc0b-1a2b28f09955/integration/PROCORE_SYNC/settings?useExternalId=false HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 349
{
"isEnabled" : true,
"settingsData" : {
"procoreCompanyName" : "Test Company",
"procoreProjectName" : "Test Project",
"pushSettings" : "PUSH_FILES_AND_TAGS",
"pullSettings" : "PULL_FILES",
"albumSettings" : "SPECIFIED_ALBUM",
"specifiedAlbumName" : "Custom album name",
"historicalDataSyncDateRange" : "7_DAYS"
}
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
Path | Type | Description |
---|---|---|
|
|
Enable or disable current integration |
|
|
Company ID in Procore |
|
|
Company name in Procore. Is case sensitive. One of the |
|
|
Project id in Procore |
|
|
Project name in Procore. Is case sensitive. One of the |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
|
|
Settings for downloading data from Procore. Is required. Can be one of the following values: PULL_FILES - download only files. PULL_FILES_AND_LOCATIONS - download files and locations |
|
|
Settings for uploading data to Procore. Is required. Can be one of the following values: PUSH_NOTHING - upload nothing. PUSH_FILES_AND_TAGS - upload all Smarvid.io files and tags. PUSH_TAGS - upload tags only |
|
|
Album handling strategy. Used if |
|
|
Album ID existing in Procore. Required if |
|
|
Album name existing in Procore. Is case sensitive. Used if |
|
|
The name of the album in Procore, which will be created in the absence. Used if |
|
|
The weekly album prefix. Used if |
HTTP/1.1 201 Created
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 543
{
"projectId" : "b32b5082-725f-4caa-bc0b-1a2b28f09955",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "PROCORE_SYNC",
"settingsData" : {
"procoreCompanyId" : 1,
"procoreCompanyName" : "Test Company",
"procoreProjectId" : 1,
"procoreProjectName" : "Test Project",
"pushSettings" : "PUSH_FILES_AND_TAGS",
"pullSettings" : "PULL_FILES",
"albumSettings" : "SPECIFIED_ALBUM",
"specifiedAlbumName" : "Custom album name",
"historicalDataSyncDateRange" : "7_DAYS"
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case PROCORE_SYNC |
|
|
Company ID in Procore |
|
|
Company name in Procore |
|
|
Project ID in Procore |
|
|
Project name in Procore |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
|
|
Settings for downloading data from Procore. Can be one of the following values: PULL_FILES, PULL_FILES_AND_LOCATIONS |
|
|
Settings for upload data to Procore. Can be one of the following values: PUSH_NOTHING, PUSH_TAGS, PUSH_FILES_AND_TAGS |
|
|
Album handling strategy. Used if |
|
|
Album ID existing in Procore. Used if |
|
|
Album name existing in Procore. Used if |
|
|
The name of the album in Procore, which will be created in the absence. Used if |
|
|
The weekly album prefix. Used if |
Example for Struction Site
POST /api/v1/organization/05a7cde4-0c2b-4c47-a627-f28f3c5972cc/project/84114baf-54ed-49c1-9607-4a37a6c8e60a/integration/STRUCTION_SITE_SYNC/settings?useExternalId=false HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 173
{
"isEnabled" : true,
"settingsData" : {
"historicalDataSyncDepth" : "PAST_7",
"downloadAssetsOption" : "IMAGES_ONLY",
"structionSiteProjectId" : "123"
}
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
Path | Type | Description |
---|---|---|
|
|
Enable or disable current integration |
|
|
Can be of the following values: NONE, PAST_7, PAST_30, PAST_60, ALL |
|
|
Struction site project id |
|
|
Can be of the following values: IMAGES_ONLY, VIDEOWALKS_ONLY, VIDEOWALKS_AND_IMAGES |
HTTP/1.1 201 Created
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 387
{
"projectId" : "84114baf-54ed-49c1-9607-4a37a6c8e60a",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "STRUCTION_SITE_SYNC",
"settingsData" : {
"partnerUserId" : "1",
"structionSiteProjectId" : "123",
"structionSiteProjectName" : "str_name",
"historicalDataSyncDepth" : "ALL",
"downloadAssetsOption" : "IMAGES_ONLY"
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case STRUCTION_SITE_SYNC |
|
|
Struction site project id |
|
|
Struction site project name |
|
|
A destination folder id |
|
|
Partner user id |
|
|
Can be of the following values: IMAGES_ONLY, VIDEOWALKS_ONLY, VIDEOWALKS_AND_IMAGES |
Update integration settings
This call is used to make changes to the settings of the existing integration. Note: you must first disable an integration to make changes to the parameters, and then re-enable the integration, once the desired changes have been made. If the integration is enabled no changes can happen except setting it to disabled.
Example for SharePoint
PUT /api/v1/organization/38d7d3e3-be4a-4bc2-9df2-f20572761bc2/project/98f0970c-d4e7-4d11-967d-f0879871bfa8/integration/SHAREPOINT_SYNC/settings?useExternalId=false HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 167
{
"isEnabled" : false,
"settingsData" : {
"folderPath" : "root/folder/path",
"historicalDataSyncDateRange" : "7_DAYS",
"isForceReSyncAll" : false
}
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
Path | Type | Description |
---|---|---|
|
|
Enable or disable current integration |
|
|
Force resynchronization |
|
|
A destination path of the folder |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 336
{
"projectId" : "98f0970c-d4e7-4d11-967d-f0879871bfa8",
"userId" : "1",
"isEnabled" : false,
"isProcessing" : false,
"integrationType" : "SHAREPOINT_SYNC",
"settingsData" : {
"folderId" : "folder1",
"folderPath" : "root/folder/path",
"historicalDataSyncDateRange" : "7_DAYS",
"isForceReSyncAll" : false
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case SHAREPOINT_SYNC |
|
|
Force resynchronization |
|
|
A destination folder id |
|
|
A destination path of the folder |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
Example for Procore
PUT /api/v1/organization/684f4c12-be35-42f2-b1f6-b35929580183/project/b32b5082-725f-4caa-bc0b-1a2b28f09955/integration/PROCORE_SYNC/settings?useExternalId=false HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 300
{
"isEnabled" : false,
"settingsData" : {
"procoreCompanyId" : 1,
"procoreProjectId" : 1,
"pushSettings" : "PUSH_FILES_AND_TAGS",
"pullSettings" : "PULL_FILES",
"albumSettings" : "EXISTING_ALBUM",
"existingAlbumId" : 123,
"historicalDataSyncDateRange" : "7_DAYS"
}
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
Path | Type | Description |
---|---|---|
|
|
Enable or disable current integration |
|
|
Company ID in Procore |
|
|
Company name in Procore. Is case sensitive. One of the |
|
|
Project id in Procore |
|
|
Project name in Procore. Is case sensitive. One of the |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
|
|
Settings for downloading data from Procore. Is required. Can be one of the following values: PULL_FILES - download only files. PULL_FILES_AND_LOCATIONS - download files and locations |
|
|
Settings for uploading data to Procore. Is required. Can be one of the following values: PUSH_NOTHING - upload nothing. PUSH_FILES_AND_TAGS - upload all Smarvid.io files and tags. PUSH_TAGS - upload tags only |
|
|
Album handling strategy. Used if |
|
|
Album ID existing in Procore. Required if |
|
|
Album name existing in Procore. Is case sensitive. Used if |
|
|
The name of the album in Procore, which will be created in the absence. Used if |
|
|
The weekly album prefix. Used if |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 544
{
"projectId" : "b32b5082-725f-4caa-bc0b-1a2b28f09955",
"userId" : "1",
"isEnabled" : false,
"isProcessing" : false,
"integrationType" : "PROCORE_SYNC",
"settingsData" : {
"procoreCompanyId" : 1,
"procoreCompanyName" : "Test Company",
"procoreProjectId" : 1,
"procoreProjectName" : "Test Project",
"pushSettings" : "PUSH_FILES_AND_TAGS",
"pullSettings" : "PULL_FILES",
"albumSettings" : "SPECIFIED_ALBUM",
"specifiedAlbumName" : "Custom album name",
"historicalDataSyncDateRange" : "7_DAYS"
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case PROCORE_SYNC |
|
|
Company ID in Procore |
|
|
Company name in Procore |
|
|
Project ID in Procore |
|
|
Project name in Procore |
|
|
A date range after which all items will be synced. Can be one of the following values: NONE,7_DAYS,30_DAYS,60_DAYS,ALL |
|
|
Settings for downloading data from Procore. Can be one of the following values: PULL_FILES, PULL_FILES_AND_LOCATIONS |
|
|
Settings for upload data to Procore. Can be one of the following values: PUSH_NOTHING, PUSH_TAGS, PUSH_FILES_AND_TAGS |
|
|
Album handling strategy. Used if |
|
|
Album ID existing in Procore. Used if |
|
|
Album name existing in Procore. Used if |
|
|
The name of the album in Procore, which will be created in the absence. Used if |
|
|
The weekly album prefix. Used if |
Example for Struction Site
PUT /api/v1/organization/05a7cde4-0c2b-4c47-a627-f28f3c5972cc/project/84114baf-54ed-49c1-9607-4a37a6c8e60a/integration/STRUCTION_SITE_SYNC/settings?useExternalId=false HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 174
{
"isEnabled" : false,
"settingsData" : {
"historicalDataSyncDepth" : "PAST_7",
"downloadAssetsOption" : "IMAGES_ONLY",
"structionSiteProjectId" : "123"
}
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
Path | Type | Description |
---|---|---|
|
|
Enable or disable current integration |
|
|
Can be of the following values: NONE, PAST_7, PAST_30, PAST_60, ALL |
|
|
Struction site project id |
|
|
Can be of the following values: IMAGES_ONLY, VIDEOWALKS_ONLY, VIDEOWALKS_AND_IMAGES |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 387
{
"projectId" : "84114baf-54ed-49c1-9607-4a37a6c8e60a",
"userId" : "1",
"isEnabled" : true,
"isProcessing" : false,
"integrationType" : "STRUCTION_SITE_SYNC",
"settingsData" : {
"partnerUserId" : "1",
"structionSiteProjectId" : "123",
"structionSiteProjectName" : "str_name",
"historicalDataSyncDepth" : "ALL",
"downloadAssetsOption" : "IMAGES_ONLY"
}
}
Path | Type | Description |
---|---|---|
|
|
The user ID who created integration |
|
|
The project ID for a given integration |
|
|
Enabled/Disabled |
|
|
Currently is processing |
|
|
The type of the integration. In this case STRUCTION_SITE_SYNC |
|
|
Struction site project id |
|
|
Struction site project name |
|
|
A destination folder id |
|
|
Partner user id |
|
|
Can be of the following values: IMAGES_ONLY, VIDEOWALKS_ONLY, VIDEOWALKS_AND_IMAGES |
Delete integration settings
Use this call to delete an existing integration.
DELETE /api/v1/organization/cd6b25e2-f596-4daa-a716-30efbe31f1a5/project/24bba425-d5fc-4b2d-9952-801b47e13b1f/integration/SHAREPOINT_SYNC/settings?useExternalId=false HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
The internal ID of the organization the project belongs to |
|
The ID of the project either in Smartvid or in the external system, depending on the value of the |
|
The type of the integration. Can be one of the following values: PROCORE_SYNC, SHAREPOINT_SYNC, STRUCTION_SITE_SYNC, EGNYTE_SYNC, OXBLUE_SYNC, BOX_SYNC, ACONEX_SYNC, BIM360_FIELD_PHOTO_SYNC, FORGE_SYNC |
Parameter | Description |
---|---|
|
If set to true, then the |
HTTP/1.1 204 No Content
Reporting
Schedule/run photo report for the project
Schedule photo report to be emailed to a set of users for photos with the defined set of tags. Multiple photo reports can be scheduled per project with various sets of users, tags and other settings.
Calling this API with reportFixedScheduleInterval set to NEVER will generate a one-time report instead of scheduling it to be generated periodically.
POST /api/v1/organization/fee19ff7-5a4b-4716-91ee-b3ec9bfca3d0/project/da278584-0c1c-4fe6-8554-514887db7682/report/photo HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 546
{
"isConstructionRelatedOnly" : true,
"includedTags" : [ "PPE" ],
"toUserEmails" : [ "admin@smartvid.io" ],
"startDate" : "2022-06-15T15:29:17.935+0000",
"endDate" : "2022-06-15T15:29:17.935+0000",
"reportFixedScheduleInterval" : "DAILY",
"photoReportSubType" : "DUAL_IMAGE",
"recipeType" : "PDF",
"tagConfidenceLevel" : "HIGH",
"isIncludeAllTags" : false,
"sortingType" : "PHOTO_DATE_LATEST_FIRST",
"groupingType" : "TAGS_MOST_FIRST",
"timeHours" : 0,
"timeMinutes" : 0,
"dayOfMonth" : 1,
"dayOfWeek" : "MONDAY"
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
Internal ID of the project |
Path | Type | Description |
---|---|---|
|
|
Only include photos tagged as 'construction' |
|
|
Only include photos that are tagged with tags in this list |
|
|
List of recipient emails to send the report to |
|
|
Start date of the reporting interval |
|
|
End date of the reporting interval |
|
|
Should contain one of the following values NEVER,HOURLY,DAILY,WEEKLY,MONTHLY |
|
|
Should contain one of the following values SINGLE_IMAGE,DUAL_IMAGE |
|
|
Should contain one of the following values HTML,PDF |
|
|
Should contain one of the following values LOW,MEDIUM,HIGH |
|
|
Must include all specified tags |
|
|
Text description for report |
|
|
Should contain one of the following values TAG_NAME_A_Z,TAG_NAME_Z_A,PHOTO_DATE_EARLIEST_FIRST,PHOTO_DATE_LATEST_FIRST |
|
|
Should contain one of the following values NONE,TAGS_FEWEST_FIRST,TAGS_MOST_FIRST,GROUPING_TAG_NAME_A_Z,GROUPING_TAG_NAME_Z_A |
|
|
Should contain one of the following values from 1 to 24 |
|
|
Should contain one of the following values 0, 15, 30, 45 |
|
|
Should contain one of the following values from 1 to 31 |
|
|
Should contain one of the following valuesMONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY |
Schedule/run photo report for the project on behalf of a user
Only organization admins can call this API
POST /api/v1/organization/f3bbf993-e6f8-4412-9108-60eeb3be6340/project/b84e6e01-0176-44af-86c1-b136b7d8056c/on_behalf_of_user/super_user/report/photo?useExternalUserId=true HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 546
{
"isConstructionRelatedOnly" : true,
"includedTags" : [ "PPE" ],
"toUserEmails" : [ "admin@smartvid.io" ],
"startDate" : "2022-06-15T15:29:16.536+0000",
"endDate" : "2022-06-15T15:29:16.536+0000",
"reportFixedScheduleInterval" : "DAILY",
"photoReportSubType" : "DUAL_IMAGE",
"recipeType" : "PDF",
"tagConfidenceLevel" : "HIGH",
"isIncludeAllTags" : false,
"sortingType" : "PHOTO_DATE_LATEST_FIRST",
"groupingType" : "TAGS_MOST_FIRST",
"timeHours" : 0,
"timeMinutes" : 0,
"dayOfMonth" : 1,
"dayOfWeek" : "MONDAY"
}
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
Internal ID of the project |
|
Internal user ID who can run reports in this project |
Path | Type | Description |
---|---|---|
|
|
Only include photos tagged as 'construction' |
|
|
Only include photos that are tagged with tags in this list |
|
|
List of recipient emails to send the report to |
|
|
Start date of the reporting interval |
|
|
End date of the reporting interval |
|
|
Should contain one of the following values NEVER,HOURLY,DAILY,WEEKLY,MONTHLY |
|
|
Should contain one of the following values SINGLE_IMAGE,DUAL_IMAGE |
|
|
Should contain one of the following values HTML,PDF |
|
|
Should contain one of the following values LOW,MEDIUM,HIGH |
|
|
Must include all specified tags |
|
|
Text description for report |
|
|
Should contain one of the following values TAG_NAME_A_Z,TAG_NAME_Z_A,PHOTO_DATE_EARLIEST_FIRST,PHOTO_DATE_LATEST_FIRST |
|
|
Should contain one of the following values NONE,TAGS_FEWEST_FIRST,TAGS_MOST_FIRST,GROUPING_TAG_NAME_A_Z,GROUPING_TAG_NAME_Z_A |
|
|
Should contain one of the following values from 1 to 24 |
|
|
Should contain one of the following values 0, 15, 30, 45 |
|
|
Should contain one of the following values from 1 to 31 |
|
|
Should contain one of the following valuesMONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY |
Get the list of scheduled photo reports for the project
Retrieve the list of scheduled photo reports and their settings for a given project.
GET /api/v1/organization/fee19ff7-5a4b-4716-91ee-b3ec9bfca3d0/project/da278584-0c1c-4fe6-8554-514887db7682/report HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
Internal ID of the project |
Path | Type | Description |
---|---|---|
|
|
|
|
|
Internal ID of the scheduled report instance |
|
|
Only include photos tagged as 'construction' |
|
|
Only include photos that are tagged with tags in this list |
|
|
List of recipient emails to send the report to |
|
|
Start date of the reporting interval |
|
|
End date of the reporting interval |
|
|
Photo report will be generated and emailed with the following periodicity |
|
|
Layout of the photo report |
|
|
Generate HTML or PDF |
|
|
Only consider tags with the following confidence |
HTTP/1.1 200 OK
Content-Type: application/problem+json;charset=UTF-8
Content-Length: 445
{
"photoReports" : [ {
"id" : "2649e3fe-3a8f-4ead-8e1d-d73820e1ee53",
"isConstructionRelatedOnly" : true,
"includedTags" : [ "PPE" ],
"toUserEmails" : [ "admin@smartvid.io" ],
"startDate" : "2022-06-16T00:00:00.000+0000",
"endDate" : "2022-06-16T00:00:00.000+0000",
"reportFixedScheduleInterval" : "DAILY",
"photoReportSubType" : "DUAL_IMAGE",
"recipeType" : "PDF",
"tagConfidenceLevel" : "HIGH"
} ]
}
Remove scheduled photo report
Remove scheduled photo report for the project. This API only removes one scheduled photo report. Other scheduled photo reports are not changed.
DELETE /api/v1/organization/fee19ff7-5a4b-4716-91ee-b3ec9bfca3d0/project/da278584-0c1c-4fe6-8554-514887db7682/report/photo/2649e3fe-3a8f-4ead-8e1d-d73820e1ee53 HTTP/1.1
Host: api-public.smartvid.io
Parameter | Description |
---|---|
|
Internal ID of the organization |
|
Internal ID of the project |
|
Internal ID of the scheduled report instance. Can be obtained by calling /api/v1/organization/{organizationId}/project/{projectId}/report API |
Metrics
The following metrics are currently available:
Metric Name | Description |
---|---|
Activity Metrics |
|
ASSET_UPLOAD_COUNT |
Count of assets uploaded, by type |
ASSET_CREATED_COUNT |
Count of assets created, by type |
AVG_UPLOAD_PER_DAY |
Average number of uploads per day |
TAG_INSTANCE_CREATION_COUNT |
Number of tags created, by type |
UPLOADER_USER_COUNT |
Number of unique users who uploaded assets |
ACTIVE_USER_COUNT |
Number of active users |
INTEGRATION_CREATED_COUNT |
Number of assets created via integration(s), by content source type |
USER_CREATED_COUNT |
Number of assets created via direct uploads from WWW/mobile or public API, by content source type |
INTEGRATION_UPLOADER_EXTERNAL_USER_COUNT |
Count of unique integration system user ids who have uploaded assets through different sources of integrations per integration type |
INTEGRATION_EXTERNAL_USER_ASSET_CREATED_COUNT |
Count of assets created by integration system users |
USER_ASSET_CREATED_COUNT |
Count of assets created by users |
USER_TAG_INSTANCE_CREATION_COUNT |
Number of tags created by user, by type |
USER_COMMENT_COUNT |
Number of comments created by user |
Safety Metrics |
|
CONSTRUCTION_ASSET_COUNT |
Count of assets with tag "Construction" |
CONSTRUCTION_PHOTO_COUNT |
Count of photos with tag "Construction" |
CONSTRUCTION_TO_TOTAL_ASSET_RATIO |
Count of Images with tag "Construction" / Total Assets |
BULLDOZER_COUNT |
Count of equipment type: bulldozer |
PICKUP_TRUCK_COUNT |
Count of equipment type: pickup truck |
BOX_TRUCK_COUNT |
Count of equipment type: box truck |
FRONT_END_LOADER_COUNT |
Count of equipment type: front end loader |
BACKHOE_COUNT |
Count of equipment type: backhoe |
CONCRETE_MIXER_COUNT |
Count of equipment type: concrete mixer |
CONCRETE_PUMP_COUNT |
Count of equipment type: concrete pump |
DRILL_COUNT |
Count of equipment type: drill |
MOBILE_CRANE_COUNT |
Count of equipment type: mobile crane |
EXCAVATOR_COUNT |
Count of equipment type: excavator |
ALL_LADDERS_COUNT |
Count of assets tagged with "Ladder", "Folding Ladder", "Extension Ladder", "Site Ladder", "Platform Ladder", "Access Platform" |
LADDER_COUNT |
Count of assets tagged with "Ladder" |
FOLDING_LADDER_COUNT |
Count of Folding Ladders |
EXTENSION_LADDER_COUNT |
Count of Extension Ladders |
SITE_LADDER_COUNT |
Count of Site Ladders |
PLATFORM_LADDER_COUNT |
Count of Platform Ladders |
ACCESS_PLATFORM_COUNT |
Count of Access Platforms |
ALL_LIFTS_COUNT |
Count of assets tagged with "Boom Lift", "Scissor Lift" |
BOOM_LIFT_COUNT |
Count of Boom lifts |
SCISSOR_LIFT_COUNT |
Count of Scissor lifts |
SCAFFOLDING_COUNT |
Count of Scaffolding |
STAIRWAY_COUNT |
Count of Stairway |
EXPOSED_HOLE_COUNT |
Count of Exposed hole |
SOCIAL_DISTANCE_COMPLIANCE |
Social Distance compliance |
WAH_PER_HUNDRED_CONSTRUCTION |
Count of Work at Height per 100 construction photos |
LADDER_TO_LIFT_RATIO |
Ladder-to-Lift Ratio |
HOUSEKEEPING_AND_STANDING_WATER_PER_HUNDRED_CONSTRUCTION |
Count of Housekeeping & Standing Water per 100 construction photos |
HOUSEKEEPING_PER_HUNDRED_CONSTRUCTION |
Count of Housekeeping per 100 construction photos |
HOUSEKEEPING_COUNT |
Count of assets tagged with “Housekeeping” |
HOUSEKEEPING_AND_STANDING_WATER_COUNT |
Count of assets tagged with “Housekeeping” or “Standing Water” |
STANDING_WATER_PER_HUNDRED_CONSTRUCTION |
Count of Standing Water per 100 construction photos |
STANDING_WATER_COUNT |
Count of assets tagged with “Standing Water” |
PERSONS_PER_HUNDRED_CONSTRUCTION |
Count of Persons per 100 construction photos |
AVERAGE_PPE |
Average PPE Compliance |
PERSON_COUNT |
Count of assets tagged with "Person" |
PPE_INCIDENT_COUNT |
Count of assets tagged with "No Glasses", "No Gloves", "No Hard Hat", "No Hi-Vis", "No Face Mask" |
GLASSES_COMPLIANCE |
Glasses Compliance (values 0-1) |
GLOVE_COMPLIANCE |
Gloves Compliance (values 0-1) |
GLOVES_COMPLIANCE_FOR_PEOPLE_IN_GROUP |
Gloves compliance for People in Group |
HARD_HAT_COMPLIANCE |
Hard Hat Compliance (values 0-1) |
HI_VIS_COMPLIANCE |
Hi-Vis Compliance (values 0-1) |
GLASSES_INCIDENT_COUNT |
Count of assets tagged with "No Glasses" |
GLOVE_INCIDENT_COUNT |
Count of assets tagged with "No Gloves" |
HARD_HAT_INCIDENT_COUNT |
Count of assets tagged with "No Hard Hat" |
HI_VIS_INCIDENT_COUNT |
Count of assets tagged with "No Hi-Vis" |
AVG_CREATED_PER_DAY |
Average number of assets created per day |
AVG_CREATED_BY_DAY_OF_WEEK |
Average number of assets created by day of week |
AVG_DIFFERENCE_CREATED_UPLOADED |
Average lag of uploading |
PERCENT_OF_ASSETS_WITH_NO_CREATED_DATE |
Percentage of photos with no created date |
PERCENT_OF_CONSTRUCTION_ASSETS_WITH_NO_CREATED_DATE |
Percentage of construction photos with no created date |
PERSON_COVERAGE_PERCENT |
Percentage of photos with people |
PERCENT_FIT_OUT |
Percentage of fit-out photos |
PERCENT_FINISH_DETAIL |
Percentage of Finish Detail photos |
CONSTRUCTION_ACTIVITY_COUNT |
Count of photos with Construction Activity tags in them |
PROJECT_SCORE |
Project’s overall weighted safety score as compared to other projects in organization |
PERCENT_OF_PEOPLE_IN_GROUP |
Percentage of assets with "Person in Group" tag |
PEOPLE_IN_GROUP_COUNT |
Count of assets with "Person in Group" tag |
PERSON_AT_HEIGHT_PER_HUNDRED_CONSTRUCTION |
Count of "person at height" tags per 100 construction photos |
FACE_MASK_INCIDENT_COUNT |
Count of instances without face mask |
ASSETS_WITH_PEOPLE_COUNT |
Count of images with people in them |
FACE_MASK_COMPLIANCE |
Face mask Compliance |
FACE_MASK_COMPLIANCE_FOR_PEOPLE_IN_GROUP |
Face mask compliance for People in Group |
ACUTE_IBP_COUNT |
Count of Acute IBP incidents |
CHRONIC_IBP_COUNT |
Count of Chronic IBP incidents |
LADDER_USE_ISSUE_COUNT |
Count of ladder use issues |
SCAFFOLDING_ISSUE_COUNT |
Count of tag "Guardrail Issue" - across all photos (including oxblue/truelook), regardless of confidence or Construction Tag |
FALL_ARREST_COUNT |
Count of tag "Fall Arrest Issue" - across all photos (including oxblue/truelook), regardless of confidence or Construction Tag |
GUARDRAIL_ISSUE_COUNT |
Count of tag "Guardrail Issue" - across all photos (including oxblue/truelook), regardless of confidence or Construction Tag |
LADDER_SETUP_ISSUE_COUNT |
Count of ladder setup issues |
MEPI_ISSUE_COUNT |
Count of MEPI issues |
IMPALEMENT_HAZARD_COUNT |
Count of impalement hazards |
TRENCH_ISSUE_COUNT |
Count of trench issues |
STRUCTURAL_STEEL_COUNT |
Count of assets tagged with “Structural Steel” |
STRUCTURAL_STEEL_PER_HUNDRED_CONSTRUCTION |
Count of “Structural Steel” per 100 construction photos |
PERSON_AT_HEIGHT_COUNT |
Count of assets tagged with “Person at Height” |
UNSECURED_WORKER_AT_HEIGHT_COUNT |
Count of assets tagged with “Unsecured Worker At Height” |
UNSECURED_WORKER_AT_HEIGHT_PER_HUNDRED_CONSTRUCTION |
Count of “Unsecured Worker At Height” per 100 construction photos |
DUMPSTER_FULL_COUNT |
Count of assets tagged with “Dumpster Full” |
TRASH_BIN_FULL_COUNT |
Count of assets tagged with “Trash Bin Full” |
DUMPSTER_COUNT |
Count of assets tagged with “Dumpster” |
TRASH_BIN_COUNT |
Count of assets tagged with “Trash Bin” |
Observation Metrics |
|
OBSERVATION_COUNT_TOTAL |
Count of total observations |
OBSERVATION_COUNT_BY_TYPE |
Count of observations by type (POSITIVE, RISK) |
OBSERVATION_POSITIVE_TO_RISK_RATIO |
Positive-to-Risk Observation Ratio |
OBSERVATION_RISK_COUNT_BY_HAZARD_CATEGORY |
Count of risk observations by Hazard Category |
OBSERVATION_POSITIVE_COUNT_BY_HAZARD_CATEGORY |
Count of positive observations by Hazard Category |
OBSERVATION_RISK_COUNT_BY_IDENTIFICATION_METHOD |
Count of risk observations by Identification Method |
OBSERVATION_POSITIVE_COUNT_BY_IDENTIFICATION_METHOD |
Count of positive observations by Identification Method |
OBSERVATION_RISK_COUNT_BY_RISK_BAND |
Count of risk observations by Risk Band |
OBSERVATION_RISK_COUNT_OPEN_BY_RISK_BAND |
Count of currently open observations of type "Risk", grouped by Risk band (very similar to OBSERVATION_RISK_COUNT_OPEN_BY_STATUS) |
OBSERVATION_RISK_COUNT_CLOSED_BY_RISK_BAND |
Count of currently closed observations of type "Risk", grouped by Risk band (very similar to OBSERVATION_RISK_COUNT_OPEN_BY_RISK_BAND) |
OBSERVATION_RISK_COUNT_BY_RISK_SCORE |
Count of risk observations by Risk Score (1 - 25) |
OBSERVATION_RISK_AVERAGE_RISK_SCORE |
Average Risk Score for risk observations |
OBSERVATION_RISK_MAXIMUM_RISK_SCORE |
Maximum Risk Score for risk observations |
OBSERVATION_GREAT_CATCH_COUNT_TOTAL |
Count of the total number of observations marked as Great Catch |
OBSERVATION_GREAT_CATCH_COUNT_BY_TYPE |
Count of observations by type (POSITIVE, RISK) marked as Great Catch |
OBSERVATION_RISK_GREAT_CATCH_AVERAGE_RISK_SCORE |
Average Risk Score for risk observations marked as Great Catch |
OBSERVATION_COUNT_OPEN_BY_TYPE |
Count of open observations by type (POSITIVE, RISK) |
OBSERVATION_COUNT_CLOSED_BY_TYPE |
Count of closed observations by type (POSITIVE, RISK) |
OBSERVATION_RISK_COUNT_OPEN_BY_STATUS |
Count of risk observations by status |
OBSERVATION_POSITIVE_COUNT_OPEN_BY_STATUS |
Count of positive observations by status |
OBSERVATION_RISK_AVERAGE_DAYS_OPEN |
Number of average days open - for risk observations |
OBSERVATION_RISK_AVERAGE_DAYS_OPEN_BY_RISK_BAND |
Number of average days open by Risk Band - for risk observations |
OBSERVATION_RISK_AVERAGE_DAYS_IT_TOOK_TO_CLOSE |
Number of average days it took to close a risk observation opened in a non-Closed state |
OBSERVATION_RISK_AVERAGE_DAYS_IT_TOOK_TO_CLOSE_BY_RISK_BAND |
Number of average days it took to close a risk observation opened in a non-Closed state grouped by risk band |
OBSERVATION_RISK_COUNT_PAST_DUE |
Count of past due observations - for risk observations |
OBSERVATION_RISK_COUNT_PAST_DUE_BY_RISK_BAND |
Count of past due observations - for risk observations, grouped by risk band |
OBSERVATION_RISK_AVERAGE_DAYS_LATENESS_FOR_PAST_DUE |
Average lateness in days for past due observations - for risk observations |
OBSERVATION_RISK_AVERAGE_DAYS_LATENESS_FOR_PAST_DUE_BY_RISK_BAND |
Average lateness in days for past due observations - for risk observations, grouped by risk band |
OBSERVATION_COUNT_BY_CREATOR |
Count of observations by its creator |
OBSERVATION_COUNT_BY_CREATOR_AND_TYPE |
Count of observations by its creator by observation types (POSITIVE, RISK) |
OBSERVATION_COUNT_OF_UNIQUE_CREATORS |
Count of unique observation creators |
OBSERVATION_COUNT_OF_UNIQUE_ASSIGNEES |
Count of unique observation assignees |
Get Metrics API
Returns a batch of metrics data. The API enables you to get multiple metric types and date ranges in a single request.
POST /api/v1/metrics/batch-get HTTP/1.1
Content-Type: application/json
Host: api-public.smartvid.io
Content-Length: 6186
{
"organizationId" : "c522d92f-597f-4cec-8d9b-89c7616cfbf3",
"metricRequests" : [ {
"objectType" : "ORGANIZATION_METRIC",
"objectIds" : {
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_COUNT_TOTAL",
"timeFrame" : "LAST_1",
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_COUNT_BY_TYPE",
"timeFrame" : "LAST_90",
"details" : {
"observationType" : [ "NEGATIVE" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "ASSET_UPLOAD_COUNT",
"timeFrame" : "LAST_1",
"details" : {
"assetType" : [ "IMAGE" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_GROUP_METRIC",
"objectIds" : {
"projectGroupId" : "4f61cf34-8278-41c8-a639-35c678e24937",
"useExternalProjectId" : false
},
"metricName" : "TAG_INSTANCE_CREATION_COUNT",
"timeFrame" : "LAST_30",
"details" : {
"tagType" : [ "MANUAL" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "ORGANIZATION_METRIC",
"metricName" : "INTEGRATION_CREATED_COUNT",
"timeFrame" : "LAST_7",
"details" : {
"integrationSourceType" : [ "BOX" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_RISK_COUNT_BY_RISK_SCORE",
"timeFrame" : "LAST_1",
"details" : {
"riskScore" : [ "25" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "TRADE_PARTNER_METRIC",
"objectIds" : {
"tradePartnerId" : "219fb6da-e75b-4b41-82ba-5a6e34574119",
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_RISK_COUNT_BY_RISK_BAND",
"timeFrame" : "LAST_1",
"details" : {
"riskBand" : [ "HIGH" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_RISK_COUNT_OPEN_BY_STATUS",
"timeFrame" : "LAST_1",
"details" : {
"observationStatus" : [ "NEW" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_RISK_COUNT_BY_HAZARD_CATEGORY",
"timeFrame" : "LAST_1",
"details" : {
"hazardCategory" : [ "Chemical Safety" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_RISK_COUNT_BY_IDENTIFICATION_METHOD",
"timeFrame" : "LAST_1",
"details" : {
"identificationMethod" : [ "AI Detected" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "TRADE_PARTNER_USER_METRIC",
"objectIds" : {
"userId" : "ebbc67cc-6492-4d49-9c5d-2e7c571595ee",
"tradePartnerId" : "219fb6da-e75b-4b41-82ba-5a6e34574119",
"useExternalProjectId" : false
},
"metricName" : "OBSERVATION_COUNT_BY_CREATOR",
"timeFrame" : "LAST_1",
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "ORGANIZATION_METRIC",
"metricName" : "INTEGRATION_CREATED_COUNT",
"timeFrame" : "LAST_7",
"aggregationType" : "AVG",
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "CONSTRUCTION_ACTIVITY_COUNT",
"timeFrame" : "LAST_1",
"details" : {
"constructionActivity" : [ "CONCRETE_POUR" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "ORGANIZATION_METRIC",
"metricName" : "USER_CREATED_COUNT",
"timeFrame" : "LAST_7",
"details" : {
"userContentSourceType" : [ "WWW" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "INTEGRATION_UPLOADER_EXTERNAL_USER_COUNT",
"timeFrame" : "LAST_7",
"details" : {
"integrationType" : [ "PROCORE" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
}, {
"objectType" : "PROJECT_METRIC",
"objectIds" : {
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"useExternalProjectId" : false
},
"metricName" : "AVG_CREATED_BY_DAY_OF_WEEK",
"timeFrame" : "LAST_1",
"details" : {
"dayOfWeek" : [ "THURSDAY" ]
},
"startDate" : "2020-05-03",
"endDate" : "2020-05-03",
"page" : 0,
"pageSize" : 60
} ]
}
The request body contains data with the following structure:
Path | Type | Description |
---|---|---|
|
|
The internal ID of the organization the projects belong to |
|
|
Metric name. See the list of Supported Metrics above |
|
|
Metric object type. All metrics are grouped by the following object types PROJECT_METRIC, PROJECT_GROUP_METRIC, ORGANIZATION_METRIC, TRADE_PARTNER_METRIC, PROJECT_USER_METRIC, PROJECT_GROUP_USER_METRIC, ORGANIZATION_USER_METRIC, TRADE_PARTNER_USER_METRIC. Find which object types and metrics can be queried together in the Metrics Details table |
|
|
List of identifiers for which the metric was calculated |
|
|
The internal or external project ID. Mandatory for the following object types: PROJECT_METRIC, PROJECT_USER_METRIC |
|
|
The internal project group ID. Mandatory for the following object types: PROJECT_GROUP_METRIC, PROJECT_GROUP_USER_METRIC |
|
|
The internal user ID Mandatory for the following object types: PROJECT_USER_METRIC, PROJECT_GROUP_USER_METRIC, ORGANIZATION_USER_METRIC |
|
|
The internal trade partner ID. Mandatory for the following object types: TRADE_PARTNER_METRIC, TRADE_PARTNER_USER_METRIC |
|
|
Use the projectId field as the project ID in the external system |
|
|
Time frame for rolling window metrics. Can have one of the following values LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
|
The start date for the query in ISO8601 date format YYYY-MM-DD |
|
|
The end date for the query in ISO8601 date format YYYY-MM-DD |
|
|
The page number |
|
|
Number of metrics per page. (default is 60) |
|
|
Optional type of results aggregation. Can have one of the following values AVG, SUM, MAX |
|
|
Possible options for searching the metrics by its details. It’s optional. Find what details and metrics can be queried together in the Metrics Details table |
|
|
Can have one of the following values: POSITIVE, NEGATIVE. Available for the following metrics: OBSERVATION_COUNT_BY_CREATOR_AND_TYPE, OBSERVATION_COUNT_CLOSED_BY_TYPE, OBSERVATION_GREAT_CATCH_COUNT_BY_TYPE, OBSERVATION_COUNT_BY_TYPE, OBSERVATION_COUNT_OPEN_BY_TYPE |
|
|
Can have one of the following values: NEW, IN_PROGRESS, WITH_PARTNER, DELAYED, CLOSED, READY_TO_REVIEW, CLOSED_REVIEWED, OBSERVED, NOT_APPLICABLE. Available for the following metrics: OBSERVATION_RISK_COUNT_OPEN_BY_STATUS, OBSERVATION_POSITIVE_COUNT_OPEN_BY_STATUS |
|
|
The hazard category. Available for the following metrics: OBSERVATION_RISK_COUNT_BY_HAZARD_CATEGORY, OBSERVATION_POSITIVE_COUNT_BY_HAZARD_CATEGORY |
|
|
The method of identification. Available for the following metrics: OBSERVATION_POSITIVE_COUNT_BY_IDENTIFICATION_METHOD, OBSERVATION_RISK_COUNT_BY_IDENTIFICATION_METHOD |
|
|
This is a risk score. Value from 1 to 25. Available for the following metrics: OBSERVATION_RISK_COUNT_BY_RISK_SCORE |
|
|
Can have one of the following values: EXTREME, HIGH, MEDIUM, LOW. Available for the following metrics: OBSERVATION_RISK_COUNT_BY_RISK_BAND, OBSERVATION_RISK_AVERAGE_DAYS_IT_TOOK_TO_CLOSE_BY_RISK_BAND, OBSERVATION_RISK_AVERAGE_DAYS_OPEN_BY_RISK_BAND, OBSERVATION_RISK_COUNT_PAST_DUE_BY_RISK_BAND, OBSERVATION_RISK_COUNT_OPEN_BY_RISK_BAND, OBSERVATION_RISK_COUNT_CLOSED_BY_RISK_BAND, OBSERVATION_RISK_AVERAGE_DAYS_LATENESS_FOR_PAST_DUE_BY_RISK_BAND |
|
|
Can have one of the following values: TOTAL, VIDEO, IMAGE, IMAGE_AUDIO, SPHERICAL_IMAGE, OTHER. Available for the following metrics: USER_ASSET_CREATED_COUNT, ASSET_CREATED_COUNT, ASSET_UPLOAD_COUNT |
|
|
Can have one of the following values: TOTAL, MANUAL, ASR, IMREC, INTEGRATION. Available for the following metrics: USER_TAG_INSTANCE_CREATION_COUNT, TAG_INSTANCE_CREATION_COUNT |
|
|
Can have one of the following values: TOTAL, SHAREPOINT, PROCORE, BIM360_FIELD, EGNYTE, FORGE, FORGE_ISSUE, OXBLUE, BOX, ACONEX. Available for the following metrics: INTEGRATION_CREATED_COUNT |
|
|
Can have one of the following values: TOTAL, PROCORE, BIM360_FIELD, EGNYTE, FORGE, FORGE_ISSUE, FORGE_CHECKLIST_INSTANCE, FORGE_ISSUE_CREATED, OXBLUE, BOX, ACONEX. Available for the following metrics: INTEGRATION_UPLOADER_EXTERNAL_USER_COUNT, INTEGRATION_EXTERNAL_USER_ASSET_CREATED_COUNT |
|
|
Can have one of the following values: TOTAL, UNKNOWN, WWW, ANDROID, IOS, API. Available for the following metrics: USER_CREATED_COUNT |
|
|
Can have one of the following values: CONCRETE_POUR, DEMOLITION, EXCAVATION, FOUNDATION, MEP, TRENCH_WORK. Available for the following metrics: CONSTRUCTION_ACTIVITY_COUNT |
|
|
Can have one of the following values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY. Available for the following metrics: AVG_CREATED_BY_DAY_OF_WEEK |
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1807
{
"metrics" : [ {
"metricName" : "OBSERVATION_COUNT_TOTAL",
"timeFrame" : "LAST_1",
"value" : 10.0,
"metricDate" : "2020-05-03",
"version" : "1.0.0",
"organizationId" : "c522d92f-597f-4cec-8d9b-89c7616cfbf3",
"objectType" : "ORGANIZATION_METRIC"
}, {
"metricName" : "OBSERVATION_COUNT_BY_TYPE",
"timeFrame" : "LAST_90",
"details" : "NEGATIVE",
"value" : 10.0,
"metricDate" : "2020-05-03",
"version" : "1.0.0",
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"objectType" : "PROJECT_METRIC"
}, {
"metricName" : "TAG_INSTANCE_CREATION_COUNT",
"timeFrame" : "LAST_30",
"details" : "MANUAL",
"value" : 10.0,
"metricDate" : "2020-05-03",
"version" : "1.0.1",
"projectGroupId" : "4f61cf34-8278-41c8-a639-35c678e24937",
"objectType" : "PROJECT_GROUP_METRIC"
}, {
"metricName" : "TAG_INSTANCE_CREATION_COUNT",
"timeFrame" : "LAST_30",
"details" : "MANUAL",
"value" : 99.0,
"metricDate" : "2020-05-03",
"version" : "1.0.1",
"aggregationType" : "AVG",
"projectGroupId" : "4f61cf34-8278-41c8-a639-35c678e24937",
"objectType" : "PROJECT_GROUP_METRIC"
}, {
"metricName" : "OBSERVATION_COUNT_BY_CREATOR",
"timeFrame" : "LAST_1",
"value" : 10.0,
"metricDate" : "2020-05-03",
"version" : "1.0.0",
"tradePartnerId" : "219fb6da-e75b-4b41-82ba-5a6e34574119",
"userId" : "ebbc67cc-6492-4d49-9c5d-2e7c571595ee",
"objectType" : "TRADE_PARTNER_USER_METRIC"
}, {
"metricName" : "CONSTRUCTION_ACTIVITY_COUNT",
"timeFrame" : "LAST_1",
"details" : "CONCRETE_POUR",
"value" : 10.0,
"metricDate" : "2020-05-03",
"version" : "1.0.1",
"projectId" : "3ecb4066-1fd4-4c17-a4e8-e9bf2f06256a",
"objectType" : "PROJECT_METRIC"
} ]
}
If successful, the response body contains data with the following structure:
Path | Type | Description |
---|---|---|
|
|
Metric name. See the list of Supported Metrics above |
|
|
Metric object type. Can have one of the following values PROJECT_METRIC, PROJECT_GROUP_METRIC, ORGANIZATION_METRIC, TRADE_PARTNER_METRIC, PROJECT_USER_METRIC, PROJECT_GROUP_USER_METRIC, ORGANIZATION_USER_METRIC, TRADE_PARTNER_USER_METRIC |
|
|
Time frame for rolling window metrics. Can have one of the following values LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
|
Metric value |
|
|
Metric details. See Metrics Details table |
|
|
The date for which the metric was calculated (in ISO8601 format YYYY-MM-DD) |
|
|
Metric version |
|
|
The internal project ID |
|
|
The internal project group ID |
|
|
The internal organization ID |
|
|
The internal trade partner ID |
|
|
Type of results aggregation. Can have one of the following values , [Lio.smartvid.model.metrics.MetricAggregationType;@55e382e6 |
|
|
The internal user ID |
Not all object types and metrics can be requested together. Refer to the following table for object types, details, and time periods corresponding to which metrics.
Metric Name | Object Types | Time Frames | Details |
---|---|---|---|
Activity Metrics |
|||
ASSET_UPLOAD_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, VIDEO, IMAGE IMAGE_AUDIO, SPHERICAL_IMAGE, OTHER |
ASSET_CREATED_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, VIDEO, IMAGE IMAGE_AUDIO, SPHERICAL_IMAGE, OTHER |
AVG_UPLOAD_PER_DAY |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
TAG_INSTANCE_CREATION_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, MANUAL, ASR, IMREC, INTEGRATION |
UPLOADER_USER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
ACTIVE_USER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
INTEGRATION_CREATED_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, UNKNOWN, WWW, ANDROID, IOS, API |
USER_CREATED_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, UNKNOWN, WWW, ANDROID, IOS, API |
INTEGRATION_UPLOADER_EXTERNAL_USER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, PROCORE, BIM360_FIELD, EGNYTE, FORGE, FORGE_ISSUE, FORGE_CHECKLIST_INSTANCE, FORGE_ISSUE_CREATED, OXBLUE, BOX, ACONEX |
INTEGRATION_EXTERNAL_USER_ASSET_CREATED_COUNT |
PROJECT_USER_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, PROCORE, BIM360_FIELD, EGNYTE, FORGE, FORGE_ISSUE, FORGE_CHECKLIST_INSTANCE, FORGE_ISSUE_CREATED, OXBLUE, BOX, ACONEX |
USER_ASSET_CREATED_COUNT |
PROJECT_USER_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, VIDEO, IMAGE IMAGE_AUDIO, SPHERICAL_IMAGE, OTHER |
USER_TAG_INSTANCE_CREATION_COUNT |
PROJECT_USER_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
TOTAL, MANUAL, ASR, IMREC, INTEGRATION |
USER_COMMENT_COUNT |
PROJECT_USER_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
AVG_CREATED_PER_DAY |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
AVG_CREATED_BY_DAY_OF_WEEK |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY |
AVG_DIFFERENCE_CREATED_UPLOADED |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERCENT_OF_ASSETS_WITH_NO_CREATED_DATE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERCENT_OF_CONSTRUCTION_ASSETS_WITH_NO_CREATED_DATE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
Safety Metrics |
|||
CONSTRUCTION_ASSET_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
CONSTRUCTION_PHOTO_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
CONSTRUCTION_TO_TOTAL_ASSET_RATIO |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
BULLDOZER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PICKUP_TRUCK_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
BOX_TRUCK_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
FRONT_END_LOADER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
BACKHOE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
CONCRETE_MIXER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
CONCRETE_PUMP_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
DRILL_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
MOBILE_CRANE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
EXCAVATOR_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
ALL_LADDERS_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
LADDER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
FOLDING_LADDER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
EXTENSION_LADDER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
SITE_LADDER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PLATFORM_LADDER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
ACCESS_PLATFORM_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
ALL_LIFTS_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
BOOM_LIFT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
SCISSOR_LIFT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
SCAFFOLDING_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
STAIRWAY_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
EXPOSED_HOLE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
SOCIAL_DISTANCE_COMPLIANCE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
WAH_PER_HUNDRED_CONSTRUCTION |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
LADDER_TO_LIFT_RATIO |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HOUSEKEEPING_AND_STANDING_WATER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HOUSEKEEPING_AND_STANDING_WATER_PER_HUNDRED_CONSTRUCTION |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HOUSEKEEPING_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HOUSEKEEPING_PER_HUNDRED_CONSTRUCTION |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
STANDING_WATER_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
STANDING_WATER_PER_HUNDRED_CONSTRUCTION |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERSONS_PER_HUNDRED_CONSTRUCTION |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
AVERAGE_PPE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERSON_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PPE_INCIDENT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
GLASSES_COMPLIANCE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
GLOVE_COMPLIANCE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
GLOVES_COMPLIANCE_FOR_PEOPLE_IN_GROUP |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HARD_HAT_COMPLIANCE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HI_VIS_COMPLIANCE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
FACE_MASK_COMPLIANCE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
FACE_MASK_COMPLIANCE_FOR_PEOPLE_IN_GROUP |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
FACE_MASK_INCIDENT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
ASSETS_WITH_PEOPLE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
GLASSES_INCIDENT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
GLOVE_INCIDENT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HARD_HAT_INCIDENT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
HI_VIS_INCIDENT_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERSON_COVERAGE_PERCENT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERCENT_FIT_OUT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERCENT_FINISH_DETAIL |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
CONSTRUCTION_ACTIVITY_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
CONCRETE_POUR, DEMOLITION, EXCAVATION, FOUNDATION, MEP, TRENCH_WORK |
PROJECT_SCORE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERCENT_OF_PEOPLE_IN_GROUP |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PEOPLE_IN_GROUP_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
PERSON_AT_HEIGHT_PER_HUNDRED_CONSTRUCTION |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
ACUTE_IBP_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
CHRONIC_IBP_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
LADDER_USE_ISSUE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
GUARDRAIL_ISSUE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
FALL_ARREST_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
SCAFFOLDING_ISSUE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
LADDER_SETUP_ISSUE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
MEPI_ISSUE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
IMPALEMENT_HAZARD_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
TRENCH_ISSUE_COUNT |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
Observation Metrics |
|||
OBSERVATION_COUNT_TOTAL |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_COUNT_BY_TYPE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, NEGATIVE |
OBSERVATION_POSITIVE_TO_RISK_RATIO |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_COUNT_BY_HAZARD_CATEGORY |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_POSITIVE_COUNT_BY_HAZARD_CATEGORY |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_COUNT_BY_IDENTIFICATION_METHOD |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_POSITIVE_COUNT_BY_IDENTIFICATION_METHOD |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_COUNT_OPEN_BY_RISK_BAND |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, EXTREME, HIGH, MEDIUM, LOW, UNKNOWN, RISK |
OBSERVATION_RISK_COUNT_CLOSED_BY_RISK_BAND |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, EXTREME, HIGH, MEDIUM, LOW, UNKNOWN, RISK |
OBSERVATION_RISK_COUNT_BY_RISK_BAND |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, EXTREME, HIGH, MEDIUM, LOW, UNKNOWN, RISK |
OBSERVATION_RISK_COUNT_BY_RISK_SCORE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_AVERAGE_RISK_SCORE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_MAXIMUM_RISK_SCORE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_GREAT_CATCH_COUNT_TOTAL |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_GREAT_CATCH_COUNT_BY_TYPE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, NEGATIVE |
OBSERVATION_RISK_GREAT_CATCH_AVERAGE_RISK_SCORE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_COUNT_OPEN_BY_TYPE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, NEGATIVE |
OBSERVATION_COUNT_CLOSED_BY_TYPE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, NEGATIVE |
OBSERVATION_RISK_COUNT_OPEN_BY_STATUS |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
NEW, IN_PROGRESS, WITH_PARTNER, DELAYED, CLOSED, READY_TO_REVIEW, CLOSED_REVIEWED, OBSERVED, NOT_APPLICABLE |
OBSERVATION_POSITIVE_COUNT_OPEN_BY_STATUS |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
NEW, IN_PROGRESS, WITH_PARTNER, DELAYED, CLOSED, READY_TO_REVIEW, CLOSED_REVIEWED, OBSERVED, NOT_APPLICABLE |
OBSERVATION_RISK_AVERAGE_DAYS_OPEN |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_AVERAGE_DAYS_OPEN_BY_RISK_BAND |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, EXTREME, HIGH, MEDIUM, LOW, UNKNOWN, RISK |
OBSERVATION_RISK_AVERAGE_DAYS_IT_TOOK_TO_CLOSE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_AVERAGE_DAYS_IT_TOOK_TO_CLOSE_BY_RISK_BAND |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, EXTREME, HIGH, MEDIUM, LOW, UNKNOWN, RISK |
OBSERVATION_RISK_COUNT_PAST_DUE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_COUNT_PAST_DUE_BY_RISK_BAND |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, EXTREME, HIGH, MEDIUM, LOW, UNKNOWN, RISK |
OBSERVATION_RISK_AVERAGE_DAYS_LATENESS_FOR_PAST_DUE |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_RISK_AVERAGE_DAYS_LATENESS_FOR_PAST_DUE_BY_RISK_BAND |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, EXTREME, HIGH, MEDIUM, LOW, UNKNOWN, RISK |
OBSERVATION_COUNT_BY_CREATOR |
PROJECT_USER_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_COUNT_BY_CREATOR_AND_TYPE |
PROJECT_USER_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
POSITIVE, NEGATIVE |
OBSERVATION_COUNT_OF_UNIQUE_CREATORS |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |
|
OBSERVATION_COUNT_OF_UNIQUE_ASSIGNEES |
PROJECT_METRIC, |
LAST_1, LAST_7, LAST_30, LAST_60, LAST_90, WEEK_TO_DATE, MONTH_TO_DATE, CALENDAR_MONTH |