Endpoints' list

Full list of endpoints available in the API.

All endpoints are described with the EU (Europe) server format. If your application runs on the US server, you will need to use the following format: https://api.{site-id}.customers.us1.deepomatic.com/v0.2/.

Every Deepomatic application is versioned. We recommend to not integrate any logic based on the tasks and task groups ids as those ids changes when a version is upgraded. You can instead use tasks and task groups names that are agnostic to version changes.

Create a new work order

POST https://api.{site-id}.customers.deepomatic.com/v0.2/work-orders/

Headers

NameTypeDescription

Authorization*

string

Deepomatic API Key associated to your account.

Request Body

NameTypeDescription

name*

string

Name of the work order. Any value is accepted for the name. It is however recommended to set a unique name per work order. If your system keeps track of work orders, it is also recommended to use your internal work order id as a name.

metadata

object

Dictionary to set metadata to a work order. Metadata let you store custom data on a per work order basis. Metadata can be used in the visual applications to cross-validate analysis but also to filter the work orders on our monitoring platform.

To retrieve the list of metadata to be provided for your application, please refer to the metadata documentation.

When a metadata is not available, it is not necessary to include the field in the request.

tags

array

List of tags attached to your work order. These tags make it possible to group work orders according to your own logic.

field_engineer_email

string

Email of the field engineer assigned on the work order.

For analytics purposes, it is recommended to assign a specific field engineer to a work order.

Warning: the API will only accept engineers that have a Deepomatic account.

user_group_ids

array

List of user group assigned to the work order. User groups allow you to define the group(s) associated to a specific work order.

To retrieve the list of user_group_ids, please contact your CSM.

work_order_types

array

List of work order types. Work order types allow you to filter the tasks of a work order at the time of its creation to activate only the relevant tasks for the intervention.

Warning: this requires that work order types have been configured beforehand. To retrieve the list of work order types configured, please refer to the tasks documentation.

Response format

progress_score - number (between 0 and 100) : completion state of the work order computed based on the tasks included in the conformity score.

{
    "id": "1eb136be-65d9-4964-8a8d-1a20c1573d7b",
    "name": "work-order",
    "site_id": "39c9d63f-a517-4f9d-ae45-415d80931226",
    "progress_score": 0,
    "review_date": null,
    "create_date": "2023-05-29T12:12:11.584841Z",
    "update_date": "2023-05-29T12:12:12.020635Z",
    "tags": [
        "group-1",
        "group-2"
    ],
    "app_version_id": "c14d3664-b69f-4357-a443-866111a65fb8",
    "parameters": null,
    "metadata": {
        "region": "North",
        "intervention_date": "05-29-2023"
    },
    "types": [
        {
            "id": "47fed03f-0894-4d1a-91ff-d0ab0af641b0",
            "name": "maintenance"
        },
        {
            "id": "4e9acb6f-ee3e-4e90-86fd-8baea0dfd969",
            "name": "one-equipment"
        }
    ],
    "field_engineer_email": "john.doe@deepomatic.com,
    "field_engineer_name": "John Doe",
    "user_group_ids": [],
    "tasks": [
        {
            "id": "db081122-b571-48d9-b19b-6f690be1e94e",
            "name": "equipment_after_intervention",
            "label": "Is it a photo of the equipment after intervention?",
            "type": "Boolean",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": null
        }, 
        {
            "id": "b5293ca9-faa1-4880-8c07-1bb0475da4d6",
            "name": "equipment_after_intervention_degradations",
            "label": "Number of degradations",
            "type": "Number",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": null
        },
    ],
    "task_groups": [
        {
            "id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "name": "equipment-after-intervention",
            "display_name": "Equipment after intervention",
            "order": 0
        }
    ]
}

Update a work order

PATCH https://api.{site-id}.customers.deepomatic.com/v0.2/work-orders/{id}/

Path Parameters

NameTypeDescription

id*

string

Id of the work order to update This id corresponds to the id returned in the create a work order API response.

Headers

NameTypeDescription

Authorization*

string

Deepomatic API Key associated to your account.

Request Body

NameTypeDescription

name

string

Override work order name

metadata

object

Override work order metadata

To retrieve the list of metadata to be provided for your application, please refer to the metadata documentation.

tags

array

Override work order tags

field_engineer_email

string

Add or override a field engineer

Warning: the API will only accept engineers that have a Deepomatic account.

user_group_ids

array

List of user group assigned to the work order. User groups allow you to define the group(s) associated to a specific work order.

To retrieve the list of user_group_ids, please contact your CSM.

work_order_types

array

Override work order types

Response format

progress_score - number (between 0 and 100) : completion state of the work order computed based on the tasks included in the conformity score.

{
    "id": "1eb136be-65d9-4964-8a8d-1a20c1573d7b",
    "name": "work-order",
    "site_id": "39c9d63f-a517-4f9d-ae45-415d80931226",
    "progress_score": 0,
    "review_date": null,
    "create_date": "2023-05-29T12:12:11.584841Z",
    "update_date": "2023-05-29T12:15:12.020635Z",
    "tags": [
        "group-1",
        "group-2"
    ],
    "app_version_id": "c14d3664-b69f-4357-a443-866111a65fb8",
    "parameters": null,
    "metadata": {
        "region": "North",
        "intervention_date": "05-29-2023"
    },
    "types": [
        {
            "id": "47fed03f-0894-4d1a-91ff-d0ab0af641b0",
            "name": "maintenance"
        },
        {
            "id": "4e9acb6f-ee3e-4e90-86fd-8baea0dfd969",
            "name": "one-equipment"
        }
    ],
    "field_engineer_email": "richard.roe@deepomatic.com,
    "field_engineer_name": "Richard Roe",
    "user_group_ids": [],
    "tasks": [
        {
            "id": "db081122-b571-48d9-b19b-6f690be1e94e",
            "name": "equipment_after_intervention",
            "label": "Is it a photo of the equipment after intervention?",
            "type": "Boolean",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": null
        }, 
        {
            "id": "b5293ca9-faa1-4880-8c07-1bb0475da4d6",
            "name": "equipment_after_intervention_degradations",
            "label": "Number of degradations",
            "type": "Number",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": null
        },
    ],
    "task_groups": [
        {
            "id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "name": "equipment-after-intervention",
            "display_name": "Equipment after intervention",
            "order": 0
        }
    ]
}

Delete a work order

DELETE https://api.{site-id}.customers.deepomatic.com/v0.2/work-orders/{id}/

Path Parameters

NameTypeDescription

id*

string

Id of the work order to delete This id corresponds to the id returned in the create a work order API response.

Headers

NameTypeDescription

Authorization*

string

Deepomatic API Key associated to your account.

1

Retrieve a task group

GET https://api.{site-id}.customers.deepomatic.com/v0.2/task-groups/{name}

Path Parameters

NameTypeDescription

name*

string

Slug identifier of the task group to retrieve

Headers

NameTypeDescription

Authorization*

string

Deepomatic API Key associated to your account.

Response format

input_examples - array : array containing URL links leading to the input examples (photo) set for a specific task group.

only_for_dashboard - boolean : whether or not a task should be pushed to field workers. If false, the task should be pushed.

conformity_status - boolean : whether or not a task is included in the conformity score which allows to compute the completion state of a work order.

outcome_type - string : type of value returned after the analysis (Number, Boolean...).

outcome_validation - array : array containing the information (color, message, validation status) of how the task should behave depending on different analysis results. The different analysis results scenario are defined in the schema.

In the example below, if the value detected is superior to 1, then the color "#e4264e " and the sentence (message) "At least one issue has been detected" should be displayed to the field workers. is_conformity_validated returns the validation status of the task, in that case the task is not validated.

To retrieve how those different information are configured in our platform, refer to the tasks documentation and task groups documentation.

{
    "id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
    "name": "equipment-after-intervention",
    "display_name": "Equipment after intervention",
    "description": "Take a photo in landscape format of the equipment after your intervention",
    "order": 0,
    "input_examples": [
        "https://storage.googleapis.com/dp-resources-prod/questionnaires_images/4ba2632d-d30d-4c2e-97b0-6008780f7b06.jpeg?Expires=1680179687&GoogleAccessId=vesta-pre-prod%40deepomatic-160015.iam.gserviceaccount.com&Signature=Cm2%2BOQ87VwBGqD%2B%2FM%2B6hzYMUh%2FMD0ARuUdeWxO2Kowk%2F02EnEMElrDD4H27DHLwTtJXnikviXwMfDkvBSgMOtzTzHJzeo35%2BurORgucSmSAmPKHcFVh0M7uiQNwSAL78q%2Fd6DiPgGoQvtuMmD0RR6Vrk1OmW5klJlYHQsZbes9aa2FmskC578KU9NNGjRJpdP7D%2B5dcUmaehEKcA6WGUjcaj0fqafIcTNJevq6pwDHU%2B1QdJUlSJrLhfk5j3t3PcJOqZMm36EHHGfYYkdx9Qqmbe4f91%2F9gNXccbXOmjNv6awmCmleUn0B9jszQ8d3QjcwsHfsCF22gMytiFPe66sg%3D%3D",
        "https://storage.googleapis.com/dp-resources-prod/questionnaires_images/cee7f7b2-9589-4d48-b969-60a17744f4f6.jpeg?Expires=1680179687&GoogleAccessId=vesta-pre-prod%40deepomatic-160015.iam.gserviceaccount.com&Signature=Z4l2lfwBVdeAg7uIR3Ywhg5bfdlm92nvGLTLYUUc5B1oN2b4ARvM%2FR3ZeXeJq%2F6tnQ2qQRYa%2Bae829NpMpDuqMT%2Bx1Axqyai%2FKb8T0U%2B1F9DKfPvJ7doVdtlTJXcjOxaLweB5WrK0MQDN4n77Oqa%2B53XhyFFl2xzWgzxkQlFryU2lyoD1rdMfj9hqcly0CACdKjvPD34SmacDiLsWcO9uUMMC8tChijUDil1sq5FF0CSm3lc4OdvqKcEc6ntnCgcAa%2BBANMt13M0k0v6ZEDyiSMYMWtoM2QmftFt4zvAJl%2BtEUJ1OMV9KjjviyA7QWMoRsdvZAhQLOABP%2Fwj31mjwQ%3D%3D"
    ],
    "engage_app_version_id": "fb5516ed-355e-4b2c-9d11-6c39b660045f",
    "tasks": [
       {
            "id": "db081122-b571-48d9-b19b-6f690be1e94e",
            "name": "equipment_after_intervention",
            "sentence": "Is it a photo of the equipment after intervention?",
            "conformity_status": false,
            "outcome_type": "Boolean",
            "outcome_validation": [
                {
                    "color": "#26e4bc",
                    "schema": {
                        "type": "boolean",
                        "const": true
                    },
                    "sentence": "Valid photo",
                    "not_analyzed": false,
                    "is_conformity_validated": true
                },
                {
                    "color": "#e45d26",
                    "schema": {
                        "type": "boolean",
                        "const": false
                    },
                    "sentence": "Invalid photo",
                    "not_analyzed": false,
                    "is_conformity_validated": false
                }
            ],
            "description": "",
            "questionnaire_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "questionnaire_name": "equipment-after-intervention"
        },
        {
            "id": "b5293ca9-faa1-4880-8c07-1bb0475da4d6",
            "name": "equipment_after_intervention_degradations",
            "sentence": "Number of degradations",
            "conformity_status": true,
            "outcome_type": "Number",
            "outcome_validation": [
                {
                    "color": "#26e4bc",
                    "schema": {
                        "type": "number",
                        "maximum": 0
                    },
                    "sentence": "No issue detected",
                    "not_analyzed": false,
                    "is_conformity_validated": true
                },
                {
                    "color": "#e4264e",
                    "schema": {
                        "type": "number",
                        "minimum": 1
                    },
                    "sentence": "Degradations have been spotted on the equipment",
                    "not_analyzed": false,
                    "is_conformity_validated": false
                }
            ],
            "description": "",
            "questionnaire_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "questionnaire_name": "equipment-after-intervention"
        }
    ]
}

Retrieve all task groups in a visual application

GET https://api.{site-id}.customers.deepomatic.com/v0.2/task-groups/

Headers

NameTypeDescription

Authorization*

String

Deepomatic API Key associated to your account.

Response format

input_examples - array : array containing URL links leading to the input examples (photo) set for a specific task group.

only_for_dashboard - boolean : whether or not a task should be pushed to field workers. If false, the task should be pushed.

conformity_status - boolean : whether or not a task is included in the conformity score which allows to compute the completion state of a work order.

outcome_type - string : type of value returned after the analysis (Number, Boolean...).

outcome_validation - array : array containing the information (color, message, validation status) of how the task should behave depending on different analysis results. The different analysis results scenario are defined in the schema.

In the example below, if the value detected is superior to 1, then the color "#e4264e " and the sentence (message) "At least one issue has been detected" should be displayed to the field workers. is_conformity_validated returns the validation status of the task, in that case the task is not validated.

To retrieve how those different information are configured in our platform, refer to the tasks and task groups documentation.

[
    {
        "id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
        "name": "equipment-after-intervention",
        "display_name": "Equipment after intervention",
        "description": "Take a photo in landscape format of the equipment after your intervention",
        "order": 0,
        "input_examples": [
           "https://storage.googleapis.com/dp-resources-prod/questionnaires_images/4ba2632d-d30d-4c2e-97b0-6008780f7b06.jpeg?Expires=1680179687&GoogleAccessId=vesta-pre-prod%40deepomatic-160015.iam.gserviceaccount.com&Signature=Cm2%2BOQ87VwBGqD%2B%2FM%2B6hzYMUh%2FMD0ARuUdeWxO2Kowk%2F02EnEMElrDD4H27DHLwTtJXnikviXwMfDkvBSgMOtzTzHJzeo35%2BurORgucSmSAmPKHcFVh0M7uiQNwSAL78q%2Fd6DiPgGoQvtuMmD0RR6Vrk1OmW5klJlYHQsZbes9aa2FmskC578KU9NNGjRJpdP7D%2B5dcUmaehEKcA6WGUjcaj0fqafIcTNJevq6pwDHU%2B1QdJUlSJrLhfk5j3t3PcJOqZMm36EHHGfYYkdx9Qqmbe4f91%2F9gNXccbXOmjNv6awmCmleUn0B9jszQ8d3QjcwsHfsCF22gMytiFPe66sg%3D%3D",
           "https://storage.googleapis.com/dp-resources-prod/questionnaires_images/cee7f7b2-9589-4d48-b969-60a17744f4f6.jpeg?Expires=1680179687&GoogleAccessId=vesta-pre-prod%40deepomatic-160015.iam.gserviceaccount.com&Signature=Z4l2lfwBVdeAg7uIR3Ywhg5bfdlm92nvGLTLYUUc5B1oN2b4ARvM%2FR3ZeXeJq%2F6tnQ2qQRYa%2Bae829NpMpDuqMT%2Bx1Axqyai%2FKb8T0U%2B1F9DKfPvJ7doVdtlTJXcjOxaLweB5WrK0MQDN4n77Oqa%2B53XhyFFl2xzWgzxkQlFryU2lyoD1rdMfj9hqcly0CACdKjvPD34SmacDiLsWcO9uUMMC8tChijUDil1sq5FF0CSm3lc4OdvqKcEc6ntnCgcAa%2BBANMt13M0k0v6ZEDyiSMYMWtoM2QmftFt4zvAJl%2BtEUJ1OMV9KjjviyA7QWMoRsdvZAhQLOABP%2Fwj31mjwQ%3D%3D"
        ],
        "engage_app_version_id": "fb5516ed-355e-4b2c-9d11-6c39b660045f",
        "tasks": [
           {
                "id": "db081122-b571-48d9-b19b-6f690be1e94e",
                "name": "equipment_after_intervention",
                "sentence": "Is it a photo of the equipment after intervention?",
                "conformity_status": false,
                "outcome_type": "Boolean",
                "outcome_validation": [
                    {
                        "color": "#26e4bc",
                        "schema": {
                            "type": "boolean",
                            "const": true
                        },
                        "sentence": "Valid photo.",
                        "not_analyzed": false,
                        "is_conformity_validated": true
                    },
                    {
                        "color": "#e45d26",
                        "schema": {
                            "type": "boolean",
                            "const": false
                        },
                        "sentence": "Photo incorrecte.",
                        "not_analyzed": false,
                        "is_conformity_validated": false
                    }
                ],
                "description": "",
                "questionnaire_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca", 
                "questionnaire_name": "equipment-after-intervention"
            },
            {
                "id": "b5293ca9-faa1-4880-8c07-1bb0475da4d6",
                "name": "equipment_after_intervention_degradations",
                "sentence": "Number of degradations",
                "conformity_status": true,
                "outcome_type": "Number",
                "outcome_validation": [
                    {
                        "color": "#26e4bc",
                        "schema": {
                            "type": "number",
                            "maximum": 0
                        },
                        "sentence": "No issue detected",
                        "not_analyzed": false,
                        "is_conformity_validated": true
                    },
                    {
                        "color": "#e4264e",
                        "schema": {
                            "type": "number",
                            "minimum": 1
                        },
                        "sentence": "Degradations have been spotted on the equipment",
                        "not_analyzed": false,
                        "is_conformity_validated": false
                    }
                ],
                "description": "", 
                "questionnaire_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca", 
                "questionnaire_name": "equipment-after-intervention"
            }
        ]
    },
    {
        "id": "b184fbda-c6f1-45d6-aba6-bac0745cb987",
        "name": "other-equipment",
        "display_name": "Other equipment",
        "description": "In case of additional equipment, take a photo",
        "order": 1,
        "input_examples": [
           "https://storage.googleapis.com/dp-resources-prod/questionnaires_images/4ba2632d-d30d-4c2e-97b0-6008780f7b06.jpeg?Expires=1680179687&GoogleAccessId=vesta-pre-prod%40deepomatic-160015.iam.gserviceaccount.com&Signature=Cm2%2BOQ87VwBGqD%2B%2FM%2B6hzYMUh%2FMD0ARuUdeWxO2Kowk%2F02EnEMElrDD4H27DHLwTtJXnikviXwMfDkvBSgMOtzTzHJzeo35%2BurORgucSmSAmPKHcFVh0M7uiQNwSAL78q%2Fd6DiPgGoQvtuMmD0RR6Vrk1OmW5klJlYHQsZbes9aa2FmskC578KU9NNGjRJpdP7D%2B5dcUmaehEKcA6WGUjcaj0fqafIcTNJevq6pwDHU%2B1QdJUlSJrLhfk5j3t3PcJOqZMm36EHHGfYYkdx9Qqmbe4f91%2F9gNXccbXOmjNv6awmCmleUn0B9jszQ8d3QjcwsHfsCF22gMytiFPe66sg%3D%3D",
           "https://storage.googleapis.com/dp-resources-prod/questionnaires_images/cee7f7b2-9589-4d48-b969-60a17744f4f6.jpeg?Expires=1680179687&GoogleAccessId=vesta-pre-prod%40deepomatic-160015.iam.gserviceaccount.com&Signature=Z4l2lfwBVdeAg7uIR3Ywhg5bfdlm92nvGLTLYUUc5B1oN2b4ARvM%2FR3ZeXeJq%2F6tnQ2qQRYa%2Bae829NpMpDuqMT%2Bx1Axqyai%2FKb8T0U%2B1F9DKfPvJ7doVdtlTJXcjOxaLweB5WrK0MQDN4n77Oqa%2B53XhyFFl2xzWgzxkQlFryU2lyoD1rdMfj9hqcly0CACdKjvPD34SmacDiLsWcO9uUMMC8tChijUDil1sq5FF0CSm3lc4OdvqKcEc6ntnCgcAa%2BBANMt13M0k0v6ZEDyiSMYMWtoM2QmftFt4zvAJl%2BtEUJ1OMV9KjjviyA7QWMoRsdvZAhQLOABP%2Fwj31mjwQ%3D%3D"
        ],
        "engage_app_version_id": "fb5516ed-355e-4b2c-9d11-6c39b660045f",
        "tasks": [
            {
                "id": "eba62d14-cf5f-44fc-a317-8c87636c9fbf",
                "name": "other-task",
                "sentence": "Other task",
                "conformity_status": true,
                "outcome_type": "Boolean",
                "outcome_validation": [
                    {
                        "color": "#26e4bc",
                        "schema": {
                            "type": "boolean",
                            "const": true
                        },
                        "sentence": "Valid photo",
                        "not_analyzed": false,
                        "is_conformity_validated": true
                    },
                    {
                        "color": "#e4264e",
                        "schema": {
                            "type": "boolean",
                            "const": false
                        },
                        "sentence": "Invalid photo",
                        "not_analyzed": false,
                        "is_conformity_validated": false
                    }
                ],
                "description": "", 
                "questionnaire_id": "b184fbda-c6f1-45d6-aba6-bac0745cb987", 
                "questionnaire_name": "other-equipment"
            }
        ]
    }
]

Analyze inputs

POST https://api.{site-id}.customers.deepomatic.com/v0.2/work-orders/{id}/analyze/

Path Parameters

NameTypeDescription

id*

string

Id of the work order to send the inputs to. This id corresponds to the id returned in the create a work order API response.

Headers

NameTypeDescription

Authorization*

string

Deepomatic API Key associated to your account.

Accept-Language

string

Language of the data conformity error message.

Language supported include English ("en"), French ("fr"), German ("de") and Spanish ("es").

Request Body

NameTypeDescription

inputs*

array

List of inputs The inputs depend on the logic of the Deepomatic application.

Contact our team for more information on the inputs needed for your specific application.

See below for more information on the format of the inputs to be transmitted.

Response format

inputs - array : array containing the different inputs sent to perform the analysis including the conformity_messages associated in case a data conformity check is not passed.

conformity_messages - array : array returned when a data conformity check is not passed. It contains information such as the code , the name and the message associated to the check. The check level is also provided and two values can be returned: "warning" and "error". Depending on the level set in our platform, different responses will be returned (for more details on the responses' format, see below).

state - object : object containing in particular the task analyzed_value which is dependent on the task type (eg. if the type is "Boolean", then the value returned will be either True or False), the message associated to the analysis and the analyzed_inputs array that allows you to retrieve the bounding boxes detected.

It is recommended to display those 3 different informations (analyzed_value, message, and analyzed_inputs) to the field workers to help them better understand AI results.

Only tasks impacted by the analysis are returned in the responses.

Below an example of response when no data conformity warning or error has been raised:

{
    "id": "5f3a41ed-1add-48c7-b89a-7346c99a0b56",
    "analysis_date": "2023-05-29T17:43:12.260474Z",
    "inputs": [
        {
            "id": "dd38664f-8d48-4fcb-bf52-3e940b55b0d3",
            "name": "context",
            "metadata": {}
        },
        {
            "id": "f5c76f7d-79ad-424f-bca6-5117c48efd9b",
            "name": "image_input",
            "conformity_messages": []
        }
    ],
    "tasks": [
        {
            "id": "db081122-b571-48d9-b19b-6f690be1e94e",
            "name": "equipment_after_intervention",
            "label": "Is it a photo of the equipment after intervention?",
            "type": "Boolean",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": {
                "id": "2052385d-ac0c-4080-b8e9-fa4814b5b407",
                "analyzed_value": true,
                "analyzed_date": "2023-05-29T17:43:12.260474Z",
                "corrected_value": null,
                "corrected_date": null,
                "message": "Valid photo",
                "is_conformity_validated": true,
                "analyzed_inputs": [
                    {
                        "input_id": "f5c76f7d-79ad-424f-bca6-5117c48efd9b",
                        "regions": []
                    }
                ]
            }
        },
        {
            "id": "b5293ca9-faa1-4880-8c07-1bb0475da4d6",
            "name": "equipment_after_intervention_degradations",
            "label": "Number of degradations",
            "type": "Number",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": {
                "id": "54ef3d77-026c-4a5b-9eee-971ceb00b942",
                "analyzed_value": 2.0,
                "analyzed_date": "2023-05-29T17:43:12.260474Z",
                "corrected_value": null,
                "corrected_date": null,
                "message": "Degradations have been spotted on the equipment",
                "is_conformity_validated": false,
                "analyzed_inputs": [
                    {
                        "input_id": "f5c76f7d-79ad-424f-bca6-5117c48efd9b",
                        "regions": [
                            {
                                "bbox": {
                                    "xmax": 0.23577146,
                                    "xmin": 0.21882737,
                                    "ymax": 0.6945216,
                                    "ymin": 0.6803977
                                },
                                "score": 0.9281037449836731,
                                "concept": "degradations"
                            },
                            {
                                "bbox": {
                                    "xmax": 0.2890531,
                                    "xmin": 0.27096856,
                                    "ymax": 0.68964636,
                                    "ymin": 0.67994857
                                },
                                "score": 0.9210498332977295,
                                "concept": "degradations"
                            }
                        ]
                    }
                ]
            }
        }
    ],
    "task_groups": [
        {
            "id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "name": "equipment-after-intervention",
            "display_name": "Equipment after intervention",
            "order": 0, 
            "engage_app_version_id": "fb5516ed-355e-4b2c-9d11-6c39b660045f"
        }
    ]
}

If only a warning or several warnings are triggered, the response will contain the conformity messages and the analysis on the tasks and task groups. Below an example of response with a Duplicate warning triggered:

{
    "id": "4ffd02df-c4a5-4db8-9c2b-aca742c8283b",
    "analysis_date": "2023-05-29T17:44:51.260474Z",
    "inputs": [
        {
            "id": "f8a904cd-90b1-4fe7-aeff-8d0b6c92d564",
            "name": "context",
            "metadata": {}
        },
        {
            "name": "image_input",
            "id": "965a5f54-7ace-4e8e-af5b-74f816d3df5f",
            "conformity_messages": [
             {
                "code": 1,
                "name": "Duplicate",
                "level": "warning",
                "source": "DataConformity",
                "message": "This photo has already been integrated. Please take a new photo."
             }
        }
    ],
    "tasks": [
        {
            "id": "db081122-b571-48d9-b19b-6f690be1e94e",
            "name": "equipment_after_intervention",
            "label": "Is it a photo of the equipment after intervention?",
            "type": "Boolean",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": {
                "id": "2052385d-ac0c-4080-b8e9-fa4814b5b407",
                "analyzed_value": true,
                "analyzed_date": "2023-05-29T17:44:51.260474Z",
                "corrected_value": null,
                "corrected_date": null,
                "message": "Valid photo",
                "is_conformity_validated": true,
                "analyzed_inputs": [
                    {
                        "input_id": "965a5f54-7ace-4e8e-af5b-74f816d3df5f",
                        "regions": []
                    }
                ]
            }
        },
        {
            "id": "b5293ca9-faa1-4880-8c07-1bb0475da4d6",
            "name": "equipment_after_intervention_degradations",
            "label": "Number of degradations",
            "type": "Number",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "group_name": "equipment-after-intervention",
            "state": {
                "id": "5658cfc5-1d02-478a-a041-f43eac25b26d",
                "analyzed_value": 2.0,
                "analyzed_date": "2023-05-29T17:44:51.260474Z",
                "corrected_value": null,
                "corrected_date": null,
                "message": "Degradations have been spotted on the equipment",
                "is_conformity_validated": false,
                "analyzed_inputs": [
                    {
                        "input_id": "965a5f54-7ace-4e8e-af5b-74f816d3df5f",
                        "regions": [
                            {
                                "bbox": {
                                    "xmax": 0.23577146,
                                    "xmin": 0.21882737,
                                    "ymax": 0.6945216,
                                    "ymin": 0.6803977
                                },
                                "score": 0.9281037449836731,
                                "concept": "degradations"
                            },
                            {
                                "bbox": {
                                    "xmax": 0.2890531,
                                    "xmin": 0.27096856,
                                    "ymax": 0.68964636,
                                    "ymin": 0.67994857
                                },
                                "score": 0.9210498332977295,
                                "concept": "degradations"
                            }
                        ]
                    }
                ]
            }
        }
    ],
    "task_groups": [
        {
            "id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "name": "equipment-after-intervention",
            "display_name": "Equipment after intervention",
            "order": 0, 
            "engage_app_version_id": "fb5516ed-355e-4b2c-9d11-6c39b660045f"
        }
    ]
}

If an error, several errors or both errors and warnings are triggered, then the response will contain the conformity messages and empty fields for tasks and task groups. In these cases the second-level analysis is therefore not provided.

Below an example of response with a Duplicate error triggered:

{
    "id": "fdebc265-23b8-4172-a19a-0994b8b8cf7b",
    "analysis_date": "2023-05-29T17:45:43.260474Z",
    "inputs": [
        {
            "id": "a6d87e3b-8b22-4c9f-bfd3-61c94c7a1f7d",
            "name": "context",
            "metadata": {}
        },
        {
            "name": "image_input",
            "id": "c8dedc58-3862-44c7-a1c0-45f9be430421",
            "conformity_messages": [
             {
                "code": 1,
                "name": "Duplicate",
                "level": "error",
                "source": "DataConformity",
                "message": "This photo has already been integrated. Please take a new photo."
             }
        }
    ],
    "tasks": [],
    "task_groups": []
}

Correct the value of a specific task

PATCH https://api.{site-id}.customers.deepomatic.com/v0.2/work-orders/{id}/tasks/{task_id}/correction/

Path Parameters

NameTypeDescription

id*

string

Id of the work order owning the task to correct This id corresponds to the id returned in the create a work order API response.

task_id*

string

Task_id to correct

Headers

NameTypeDescription

Authorization*

string

Deepomatic API Key associated to your account.

Request Body

NameTypeDescription

corrected_value*

string

Corrected value

Warning: it must be compatible with the task type (Boolean, Text, Number).

Response format

id - string : id of the task being corrected.

state - object : object containing in particular the task analyzed_value which is dependent on the task type (eg. if the type is "Boolean", then the value returned will be either True or False) and the corrected_value. The message displayed is linked to the corrected_value.

{
    "id": "db081122-b571-48d9-b19b-6f690be1e94e",
    "name": "equipment_after_intervention",
    "label": "Is it a photo of the equipment after intervention?",
    "type": "Boolean",
    "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
    "group_name": "equipment-after-intervention"
    "state": {
        "id": "2052385d-ac0c-4080-b8e9-fa4814b5b407",
        "analyzed_value": true,
        "analyzed_date": "2023-05-29T17:43:12.260474Z",
        "corrected_value": false,
        "corrected_date": "2023-05-29T17:44:25.567482Z",
        "message": "Invalid photo",
        "color": "#e45d26",
        "is_conformity_validated": false
    }
}

Retrieve a work order

GET https://api.{site-id}.customers.deepomatic.com/v0.2/work-orders/{id}/

Path Parameters

NameTypeDescription

id*

string

Id of the work order to retrieve This id corresponds to the id returned in the create a work order API response.

Query Parameters

NameTypeDescription

include_inputs

boolean

Include analyzed inputs in the response Default to true. Setting this parameter to false will give you a less verbose output. If it fits your needs you should pass false as it will be faster.

Headers

NameTypeDescription

Authorization*

string

Deepomatic API Key associated to your account.

Response format

progress_score - number (between 0 and 100) : completion state of the work order computed based on the tasks included in the conformity score.

review_date - date : date of the review performed by back office teams in our platform. For more details regarding work order review, please refer to the reviewing documentation.

inputs - array : array containing the different inputs sent to perform the analysis including the conformity_messages associated in case a data conformity check is not passed.

conformity_messages - array : array returned when a data conformity check is not passed. It contains information such as the code , the name and the message associated to the check. The check level is also provided and two values can be returned: "warning" and "error". Depending on the level set in our platform, different responses will be returned (for more details on the responses' format, see below).

state - object : object containing in particular the task analyzed_value which is dependent on the task type (eg. if the type is "Boolean", then the value returned will be either True or False), the message associated to the analysis and the analyzed_inputs array that allows you to retrieve the bounding boxes detected.

In the include_inputs = false option, both the inputs array and the analyzed_inputs field are not returned. The response time is therefore reduced.

{
    "id": "1eb136be-65d9-4964-8a8d-1a20c1573d7b",
    "name": "work-order",
    "site_id": "39c9d63f-a517-4f9d-ae45-415d80931226",
    "progress_score": 50,
    "review_date": null,
    "create_date": "2023-05-29T12:12:11.584841Z",
    "update_date": "2023-05-29T12:12:12.020635Z",
    "tags": [
        "group-1",
        "group-2"
    ],
    "app_version_id": "c14d3664-b69f-4357-a443-866111a65fb8",
    "parameters": null,
    "metadata": {
        "region": "North",
        "intervention_date": "05-29-2023"
    },
    "types": [
        {
            "id": "47fed03f-0894-4d1a-91ff-d0ab0af641b0",
            "name": "maintenance"
        },
        {
            "id": "4e9acb6f-ee3e-4e90-86fd-8baea0dfd969",
            "name": "one-equipment"
        }
    ],
    "inputs": [
        {
            "id": "dd38664f-8d48-4fcb-bf52-3e940b55b0d3",
            "name": "context",
            "data": {
                "type": "text",
                "value": "equipment-after-intervention"
            },
            "metadata": {},
            "conformity_messages": []
        },
        {
            "id": "f5c76f7d-79ad-424f-bca6-5117c48efd9b",
            "name": "image_input",
            "data": {
                "type": "image",
                "value": "https://storage.googleapis.com/dp-resources-prod/inputs/f5c76f7d-79ad-424f-bca6-5117c48efd9b.jpeg?Expires=1685778294&GoogleAccessId=vesta-prod%40deepomatic-160015.iam.gserviceaccount.com&Signature=rUeXgdfDOiWYISoK7M48HnvO6HwDpaGXlIL6ZCLBEA9kUKon%2ByHU5JyWu8pF%2BtKeDjxzja3Q%2BCYrgjZquSg96SnZh83tnefLaHpS3o0%2FMfBN7ogKM8CzkbNdt%2BDPwO1syYCpcdxHBfkUlwl7W90HlI%2BOkM%2FHb8NN%2BSLC5hcbvLEgeWJUEjwPoHSMh%2FRmm36m3NFFi%2F7dbOhaddstjKgH8KvhP%2B7thjhT7OiIVEdt9roHs5HTSD0RmCKyodytY5XUlRiLMPPwS3EsHnNLJmaZBbMzqBW5z%2FsZI3OSX3pJJmWuJ0%2B2pGsmzvHx%2FORzQmnsr5nuJ%2BQghSvJT22QhmYsmQ%3D%3D"
            },
            "metadata": {},
            "conformity_messages": []
        },
    "field_engineer_email": "richard.roe@deepomatic.com,
    "field_engineer_name": "Richard Roe",
    "user_group_ids": [],
    "tasks": [
        {
            "id": "db081122-b571-48d9-b19b-6f690be1e94e",
            "name": "equipment_after_intervention",
            "label": "Is it a photo of the equipment after intervention?",
            "type": "Boolean",
            "group_name": "equipment-after-intervention",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "state": {        
                "id": "2052385d-ac0c-4080-b8e9-fa4814b5b407",
                "analyzed_value": true,
                "analyzed_date": "2023-05-29T17:43:12.260474Z",
                "corrected_value": false,
                "corrected_date": "2023-05-29T17:44:25.567482Z",
                "message": "Invalid photo",
                "color": "#e45d26",
                "is_conformity_validated": false
                "analyzed_inputs": [
                    {
                        "input_id": "f5c76f7d-79ad-424f-bca6-5117c48efd9b",
                        "regions": []
                    }
                ]
            }
        }, 
        {
            "id": "b5293ca9-faa1-4880-8c07-1bb0475da4d6",
            "name": "equipment_after_intervention_degradations",
            "label": "Number of degradations",
            "type": "Number",
            "group_name": "equipment-after-intervention",
            "group_id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "state": {
                "id": "54ef3d77-026c-4a5b-9eee-971ceb00b942",
                "analyzed_value": 2.0,
                "analyzed_date": "2023-05-29T17:43:12.260474Z",
                "corrected_value": null,
                "corrected_date": null,
                "message": "Degradations have been spotted on the equipment",
                "color": "#e4264e",
                "is_conformity_validated": false,
                "analyzed_inputs": [
                    {
                        "input_id": "f5c76f7d-79ad-424f-bca6-5117c48efd9b",
                        "regions": [
                            {
                                "bbox": {
                                    "xmax": 0.23577146,
                                    "xmin": 0.21882737,
                                    "ymax": 0.6945216,
                                    "ymin": 0.6803977
                                },
                                "score": 0.9281037449836731,
                                "concept": "degradations"
                            },
                            {
                                "bbox": {
                                    "xmax": 0.2890531,
                                    "xmin": 0.27096856,
                                    "ymax": 0.68964636,
                                    "ymin": 0.67994857
                                },
                                "score": 0.9210498332977295,
                                "concept": "degradations"
                            }
                        ]
                    }
                ]
            }
        }
    ],
    "task_groups": [
        {
            "id": "6f15b52e-4717-4ec5-a8b2-bd58e7eec5ca",
            "name": "equipment-after-intervention",
            "display_name": "Equipment after intervention",
            "order": 0
        }
    ]
}

Last updated