Mobility Work Public API (latest)

Download OpenAPI specification:Download

License: proprietary

Documentation of the API of Mobility Work CMMS (https://www.mobility-work.com/)

General considerations

Usage

The use of the API is subject to the terms of services and fair usage.

Some features are available with a limited usage or only to specific subscription plans. Each endpoint will indicate which subscription plan or which quota is applied to it.

For instance, an endpoint available to all plans:

Starter Premium Ultimate
✔️ ✔️ ✔️

For instance, an endpoint limited to some plans:

Starter Premium Ultimate
✔️ ✔️

For instance, an endpoint with a quota:

Starter Premium Ultimate
✔️ 100 tasks/month ✔️ 500 tasks/month ✔️ 50.000 tasks/month

You can subscribe to an higher plan or increase your API quota:

Requests

All requests day must be sent using JSON format. To make sure server understand it correctly, add a Content-Type header to your request with application/json.

POST /partners/v1/tasks
Content-Type: application/json
{
  "description": "Replace motor part"
}

While not mandatory, it's recommended to provide an User-Agent header which includes your group / network name.

For instance, if your network is named Factory Inc. and you are using cURL to send request, the user could be :

POST /partners/v1/tasks
User-Agent: curl/1.2.3 Factory Inc.
[...]

The expected request is documented on every endpoints and must be followed. All required parameters must be provided. Optional parameters can be omitted. If a request does not follow the expected schema, a 400 response will be returned with every invalid or missing information.

Request can be sent using a minified format or a pretty/beautify format. The API will treat it regardless the format as long as the expected request is respected. However, it is recommended to use the minified format to reduce bandwidth usage.

It means that the following documented request :

{
  "description": "Replace motor part"
}

can also be sent with a minified format :

{"description":"Replace motor part"}

Responses

All responses will be sent using JSON format.

If a request is successful, the following status codes can be returned :

  • 200 or 201 when the request is treated immediately
  • 202 when the request is accepted and will be processed in background

If a request does not follow the expected format or contains invalid data, a 400 response will be returned. The responsive will have information about what is missing or invalid.

{
  "code": 4000001,
  "message": "Invalid input",
  "extended_message": {
    "global_errors": [],
    "property_errors": {
      "description": [
        "The description should be between 3 and 3000 characters"
      ],
      "equipment": [
        "Unknown equipment"
      ],
      "assignees": [
        "There should be at least one assignee"
      ]
    }
  }
}

⚠️ The documentation will always show JSON using a pretty/beautify format for readability. However, the API will always returns using a minified format to reduce the response size.

It means that the following documented response :

{
  "code": 401001,
  "message": "Authentication error"
}

will be sent as :

{"code":401001,"message":"Authentication error"}

Some API tools like Postman or Insomnia can show responses in pretty/beautify format by default.

Errors

If your request is invalid or cannot be processed, an error will be returned. Errors are documented on every endpoints and follow a similar format providing as much useful information as possible.

For instance, the error when authentication fails is :

{
  "code": 401001,
  "message": "Authentication error"
}

Authentication

Every requests must be done with an API Key. Each API Key is associated to a single network providing an access to all features available on the network subscription plan.

For instance :

POST /partners/v1/tasks
Api-Key: 913a8f7cef6ff084f1635511b9c7d07c3bab2816
[...]

To get an API Key, send an email to sales@mobility-work.com or contact your CSM.

The documentation is also available on every endpoints in the security section and the API Key will be prompted when you try the endpoint on this documentation.

⚙️ Assets

Anything related to assets (e.g. equipment, spare parts, stock management, etc.).

Create spare part(s)

Starter Premium Ultimate
✔️ ✔️ ✔️

Creation of spare part(s)

⚠️ The request is processed in background. It can takes up to several minutes to see the change if there is a lot of changes.

Unit price amount must be passed as an integer in the lowest unit of the currency. For example, EUR and USD have a cent unit, 10 EUR = 1000 cents, 10 USD = 1000 pennies.

⚠️ A maximum of 10.000 creations can be processed in a single request. You need to split in several requests if you have more.

SecurityApiKey
Request
Request Body schema: application/json
Array ([ 1 .. 10000 ] items)
externalReference
required
string
name
required
string [ 3 .. 255 ] characters
description
string [ 3 .. 3000 ] characters
required
object
required
object
minimumStock
integer >= 0
maximumStock
integer >= 0
gtin
string^[0-9]{8,18}$
costCenter
string
Responses
202

Request accepted (e.g. all changes will be processed as soon as possible)

400

Request contains invalid data or does not have all required data

401

Missing or invalid Api Key (e.g. revoked or non-existent)

403

Access denied

post/partners/v1/spare-parts
Request samples
application/json

Multi spare part creation, one with the minimum data and another with all available information

[
  • {
    },
  • {
    }
]
Response samples
application/json
null

Update stock of spare parts

Starter Premium Ultimate
✔️ 1000/month ✔️

Update all spare parts stock (e.g. inventory) at once. Stock amount will replaced by the given quantity. If multiple spare parts exists with the same article code, then the stock will be replaced on every spare parts with that article code.

⚠️ The request is processed in background. It can takes up to several minutes to see the change if there is a lot of changes.

The spare part identifier can be provided in two way:

  • as a simple string
  • or a complex typed identifier

For instance, that format:

[
  {
    "id": "MW-417304e0-2ff0-410d-a7cd-de20439140c8"
  }
]

is equivalent to:

[
  {
    "id": {
      "type": "externalReference",
      "value": "MW-417304e0-2ff0-410d-a7cd-de20439140c8"
    }
  }
]

Article code is automatically generated when a spare part is referenced on the CMMS. You can replace it by your own identifier in the UI or by using the API to update spare parts attributes.

⚠️ A maximum of 10.000 stock changes can be processed in a single request. You need to split in several requests if you have more changes.

SecurityApiKey
Request
Request Body schema: application/json
Array ([ 1 .. 10000 ] items)
required
string or object (SparePartIdentifier)
quantity
required
integer >= 0

The new stock value

Responses
202

Request accepted (e.g. all changes will be processed as soon as possible)

400

Request contains invalid data or does not have all required data

401

Missing or invalid Api Key (e.g. revoked or non-existent)

403

Subscription plan does not allow to use that API

put/partners/v1/spare-parts/stock
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
null

Update spare part(s) information

Starter Premium Ultimate
✔️ ✔️ ✔️

Update all spare part(s) by replacing information with the provided information.

⚠️ The request is processed in background. It can takes up to several minutes to see the change if there is a lot of changes.

Omit the property if you do not want to make any changes to the attribute. For instance, the following request will only update the spare part name:

[
  {
    "id": {
      "type": "externalReference",
      "value": "c6d6f829-6c36-30cc-93be-d5202ca28aa4"
    },
    "name": "Rotor"
  }
]

To unset an attribute, set it to null. For instance, the following request will remove the minimum stock:

[
  {
    "id": {
      "type": "externalReference",
      "value": "c6d6f829-6c36-30cc-93be-d5202ca28aa4"
    },
    "minimumStock": null
  }
]

Unit price amount must be passed as an integer in the lowest unit of the currency. For example, EUR and USD have a cent unit, 10 EUR = 1000 cents, 10 USD = 1000 pennies.

For instance, if one spare part has a unit price of €35.00 and another has a unit price of $499.99, the request to update unit price should be:

[
  {
    "id": {
      "type": "externalReference",
      "value": "c6d6f829-6c36-30cc-93be-d5202ca28aa4"
    },
    "unitPrice": {
      "amount": 3500,
      "currency": "EUR"
    }
  },
  {
    "id": {
      "type": "externalReference",
      "value": "d8194f1f-050d-4f74-a592-2d541e6127aa"
    },
    "unitPrice": {
      "amount": 49999,
      "currency": "USD"
    }
  }
]

⚠️ A maximum of 10.000 updates can be processed in a single request. You need to split in several requests if you have more changes.

SecurityApiKey
Request
Request Body schema: application/json
Array ([ 1 .. 10000 ] items)
required
string or object (SparePartIdentifier)
object
name
string [ 3 .. 255 ] characters
description
string [ 3 .. 3000 ] characters
externalReference
string
minimumStock
number >= 0
maximumStock
number >= 0
replenishmentLot
number >= 0

minimum quantity of replenishment

gtin
string^[0-9]{8,18}$
Array of objects
Array of objects

A list of tags changes to apply to the spare part.

costCenter
string
Responses
202

Request accepted (e.g. all changes will be processed as soon as possible)

400

Request contains invalid data or does not have all required data

401

Missing or invalid Api Key (e.g. revoked or non-existent)

403

Access denied

post/partners/v1/spare-parts/attributes
Request samples
application/json

update on several spare parts with different fields updated and different way to specify the identifier

[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]
Response samples
application/json
null

Update equipment(s) information

Starter Premium Ultimate
✔️ ✔️

Update all equipment(s) by replacing information with the provided information.

⚠️ The request is processed in background. It can takes up to several minutes to see the change if there is a lot of changes.

The equipment identifier can be provided in two way:

  • as a simple string
  • or a complex typed identifier

For instance, that format:

[
  {
    "id": 2507
  }
]

is equivalent to:

[
  {
    "id": {
      "type": "native",
      "value": 2507
    }
  }
]

Omit the property if you do not want to make any changes to the attribute. To unset an attribute, set it to null.

⚠️ A maximum of 10.000 updates can be processed in a single request. You need to split in several requests if you have more changes.

SecurityApiKey
Request
Request Body schema: application/json
Array ([ 1 .. 10000 ] items)
required
integer or string or object (equipment_identifier)
name
string [ 3 .. 255 ] characters
description
string [ 3 .. 3000 ] characters
gtin
string^[0-9]{8,18}$
costCenter
string [ 3 .. 255 ] characters
tags
Array of strings

tags codes

Array of objects
Responses
202

Request accepted (e.g. all changes will be processed as soon as possible)

400

Request contains invalid data or does not have all required data

401

Missing or invalid Api Key (e.g. revoked or non-existent)

403

Access denied

post/partners/v1/equipment/attributes
Request samples
application/json

update all info of an equipment and clear custom fields of another equipment

[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]
Response samples
application/json
null

Spare part was out of stockWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a spare part is out of stock after consumption or stock update

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasOutOfStock"
_date
string <date-time>
_metadata
Array of arrays
required
object
required
object
required
object

Information about the stock movement

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "SparePartWasOutOfStock",
  • "_date": "2022-06-02T14:31:06+00:00",
  • "_metadata": null,
  • "stock": {
    },
  • "sparePart": {
    },
  • "movement": {
    }
}

Spare part was under minimum stock thresholdWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when the stock amount of a spare part has gone bellow the minimum stock threshold

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartStockWasUnderMinThresholdPayload"
_date
string <date-time>
_metadata
Array of arrays
required
object
required
object
required
object

Information about the stock movement

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "SparePartStockWasUnderMinThreshold",
  • "_date": "2022-06-02T14:31:06+00:00",
  • "_metadata": null,
  • "stock": {
    },
  • "sparePart": {
    },
  • "movement": {
    }
}

Spare part stock was recountedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when the stock of a spare part was manually modified

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasManuallyRecounted"
_type
any
Value: "SparePartWasManuallyRecountedWebhook"
_sentAt
string <date-time>
emittedAt
string <date-time>
_metadata
Array of arrays
required
object
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_type": "SparePartWasManuallyRecountedWebhook",
  • "_event": "SparePartWasManuallyRecounted",
  • "_sentAt": "2022-06-02T14:31:06+00:00",
  • "emittedAt": "2023-02-08T23:00:00+00:00",
  • "_metadata": "",
  • "sparePart": {
    },
  • "location": {
    },
  • "initiator": {
    },
  • "recounted": {
    }
}

Spare part has been replenishedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a spare part has been replenished

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasRestocked"
_type
any
Value: "SparePartWasRestockedWebhook"
_sentAt
string <date-time>
emittedAt
string <date-time>
_metadata
Array of arrays
object
required
object
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_type": "SparePartWasRestockedWebhook",
  • "_event": "SparePartWasRestocked",
  • "_sentAt": "2022-06-02T14:31:06+00:00",
  • "emittedAt": "2023-02-08T23:00:00+00:00",
  • "_metadata": "",
  • "task": null,
  • "sparePart": {
    },
  • "location": {
    },
  • "initiator": {
    },
  • "restocked": {
    }
}

Spare part was consumedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a spare part is consumed

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasConsumed"
_type
any
Value: "SparePartWasConsumedWebhook"
_sentAt
string <date-time>
emittedAt
string <date-time>
_metadata
Array of arrays
object
required
object
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_type": "SparePartWasConsumedWebhook",
  • "_event": "SparePartWasConsumed",
  • "_sentAt": "2022-06-02T14:31:06+00:00",
  • "emittedAt": "2023-02-08T23:00:00+00:00",
  • "_metadata": "",
  • "task": {
    },
  • "sparePart": {
    },
  • "location": {
    },
  • "initiator": {
    },
  • "consumed": {
    }
}

🛠️ Maintenance

Anything related to maintenance operations (e.g. task, activities, maintenance plans, etc.).

Schedule a new task

Starter Premium Ultimate
✔️ 100 tasks/month ✔️ 500 tasks/month ✔️ 50.000 tasks/month

Pragmatically schedule a new task to be executed by the given assignees.

For some properties, we support providing several kind of identifiers.

  • native are type auto-generated by Mobility Work
  • external are type that you provide from an import or manually through the Web interface
  • email are e-mails that are associated with your user account
  • code are type auto-generated by Mobility Work or manually through the Web interface

For each type, we support type inference, it means that we automatically detect the type from the value.

  • For assignees you can mix both native and email identifiers.
  • For tags you can mix both native and code identifiers.
  • For equipment you can mix both native and external identifiers.

If type cannot be inferred, an error will be generated. You can still force the type by providing a more typed property:

{
  "assignees": [
    3,
    "john.doe@example.com"
  ]
}

is equivalent to:

{
  "assignees": [
    {
      "type": "native",
      "value": 3
    },
    {
      "type": "email",
      "value": "john.doe@example.com"
    }
  ]
}

The property metadata can be used to send any arbitrary data to associate with the task you create. For example, on task creation, you can define the following metadata:

{
  "metadata": {
    "internalIdentifier": 1234
  }
}

It will be sent back through webhooks. You can set it to set a custom identifier to further correlate a task with any internal value.

SecurityApiKey
Request
Request Body schema: application/json
required
integer or string or object (equipment_identifier)
description
required
string [ 3 .. 3000 ] characters

Description of the task

startDateTime
required
string <date-time>

Date when the task should start

endDateTime
required
string <date-time>

Date when the task should end

allDay
required
boolean
Default: true

Define if the task is scheduled on a specific time or all day

required
Array of strings or NativeIntegerIdentifier (integer) or objects or objects

List of users which will be assigned to the task

Array of strings or NativeIntegerIdentifier (integer) or objects
Default: []

List of tags to attach to the task

checklist
null or string <uuid>
Default: null

Identifier of the checklist to associate with the task

emailToCreator
boolean
Deprecated
Default: false

Send an email to the creator when the task is completed

That option will be removed in a near future.

sendEmailToAssignees
boolean
Default: false

Send an email to every assignees to notify them they are assigned to that task.

inheritEquipmentTags
boolean
Default: false

Add tags linked to the equipment on that task

object
Default: {}

Arbitrary data to associate to the task. It can be sent back through a webhook when the task is marked as done

Responses
201

Task successfully scheduled

400

Request contains invalid data or does not have all required data

401

Missing or invalid Api Key (e.g. revoked or non-existent)

post/partners/v1/tasks
Request samples
application/json
{
  • "equipment": 9,
  • "description": "API Task creation",
  • "startDateTime": "2022-01-11T09:00:00+00:00",
  • "endDateTime": "2022-01-11T10:00:00+00:00",
  • "allDay": false,
  • "assignees": [
    ]
}
Response samples
application/json
null

Task was completedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was marked as completed by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasCompleted"
legacyId
required
string
Deprecated

The legacy task identifier. Integrations should now use the parameter id.

id
required
string

The task identifier

doneAt
required
string <date-time>

The date when the task was marked as completed

required
object

The user which marked the task as completed

required
object

Equipment or spare part associated to the task

required
object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasCompleted",
  • "legacyId": "32828f62",
  • "id": "32828f62",
  • "doneAt": "2021-11-02T16:32:38+00:00",
  • "initiator": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Task was scheduledWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was scheduled by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasScheduled"
taskId
required
string

The task identifier

required
object
required
object

Equipment or spare part associated to the task

object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasScheduled",
  • "taskId": "32828f62",
  • "scheduled": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Task was canceledWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was canceled by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasCanceled"
taskId
required
string

The task identifier

required
object
required
object

Equipment or spare part associated to the task

object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasCanceled",
  • "taskId": "32828f62",
  • "canceled": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Task was startedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was started by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasStarted"
taskId
required
string

The task identifier

required
object
required
object

Equipment or spare part associated to the task

object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasStarted",
  • "taskId": "32828f62",
  • "started": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Activity was added on taskWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when an activity was reported on a task by an user

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "ActivityWasAddedOnTask"
_type
required
any
Value: "ActivityWasAddedOnTaskWebhook"
_sentAt
required
string <date-time>
emittedAt
required
string <date-time>
_metadata
required
Array of arrays
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "ActivityWasAddedOnTask",
  • "_type": "ActivityWasAddedOnTaskWebhook",
  • "_sentAt": "2023-06-13T15:23:48+00:00",
  • "_metadata": [ ],
  • "emittedAt": "2023-06-13T15:23:43+00:00",
  • "task": {
    },
  • "equipment": {
    },
  • "activity": {
    }
}

🏭 Networks

Anything related to network management.

Retrieve network settings

Starter Premium Ultimate
✔️ ✔️ ✔️

Get information about the network associated to the API Key.

SecurityApiKey
Responses
200

Network settings

401

Missing or invalid Api Key (e.g. revoked or non-existent)

403

Access denied

get/partners/v1/network/settings
Response samples
application/json
{
  • "networkId": "4d4b9269-db6b-4b8f-8577-d01ef451d291",
  • "legacyNetworkId": 686,
  • "name": "Mobility Work",
  • "timezone": "Europe/Paris",
  • "currency": "EUR"
}

📡 Webhooks

Webhooks allow you to be notified in real-time of any events occurring in the application.

A webhook must have been configured with that event to receive it. Administrators can configure webhooks here. If you want to test webhooks, you can use a service like RequestBin.com to receive webhooks and inspect it.

If the webhook fails (http code bigger than 399), the call to the webhook is retried twice. If the call is still in error, a email is sent.

Task was completedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was marked as completed by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasCompleted"
legacyId
required
string
Deprecated

The legacy task identifier. Integrations should now use the parameter id.

id
required
string

The task identifier

doneAt
required
string <date-time>

The date when the task was marked as completed

required
object

The user which marked the task as completed

required
object

Equipment or spare part associated to the task

required
object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasCompleted",
  • "legacyId": "32828f62",
  • "id": "32828f62",
  • "doneAt": "2021-11-02T16:32:38+00:00",
  • "initiator": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Task was scheduledWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was scheduled by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasScheduled"
taskId
required
string

The task identifier

required
object
required
object

Equipment or spare part associated to the task

object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasScheduled",
  • "taskId": "32828f62",
  • "scheduled": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Task was canceledWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was canceled by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasCanceled"
taskId
required
string

The task identifier

required
object
required
object

Equipment or spare part associated to the task

object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasCanceled",
  • "taskId": "32828f62",
  • "canceled": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Task was startedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a task was started by an user.

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "TaskWasStarted"
taskId
required
string

The task identifier

required
object
required
object

Equipment or spare part associated to the task

object

A dictionary of metadata defined when the task was created.

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "TaskWasStarted",
  • "taskId": "32828f62",
  • "started": {
    },
  • "associatedTo": {
    },
  • "metadata": {
    }
}

Activity was added on taskWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when an activity was reported on a task by an user

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "ActivityWasAddedOnTask"
_type
required
any
Value: "ActivityWasAddedOnTaskWebhook"
_sentAt
required
string <date-time>
emittedAt
required
string <date-time>
_metadata
required
Array of arrays
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "ActivityWasAddedOnTask",
  • "_type": "ActivityWasAddedOnTaskWebhook",
  • "_sentAt": "2023-06-13T15:23:48+00:00",
  • "_metadata": [ ],
  • "emittedAt": "2023-06-13T15:23:43+00:00",
  • "task": {
    },
  • "equipment": {
    },
  • "activity": {
    }
}

Spare part was out of stockWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a spare part is out of stock after consumption or stock update

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasOutOfStock"
_date
string <date-time>
_metadata
Array of arrays
required
object
required
object
required
object

Information about the stock movement

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "SparePartWasOutOfStock",
  • "_date": "2022-06-02T14:31:06+00:00",
  • "_metadata": null,
  • "stock": {
    },
  • "sparePart": {
    },
  • "movement": {
    }
}

Spare part was under minimum stock thresholdWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when the stock amount of a spare part has gone bellow the minimum stock threshold

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartStockWasUnderMinThresholdPayload"
_date
string <date-time>
_metadata
Array of arrays
required
object
required
object
required
object

Information about the stock movement

Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_event": "SparePartStockWasUnderMinThreshold",
  • "_date": "2022-06-02T14:31:06+00:00",
  • "_metadata": null,
  • "stock": {
    },
  • "sparePart": {
    },
  • "movement": {
    }
}

Spare part stock was recountedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when the stock of a spare part was manually modified

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasManuallyRecounted"
_type
any
Value: "SparePartWasManuallyRecountedWebhook"
_sentAt
string <date-time>
emittedAt
string <date-time>
_metadata
Array of arrays
required
object
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_type": "SparePartWasManuallyRecountedWebhook",
  • "_event": "SparePartWasManuallyRecounted",
  • "_sentAt": "2022-06-02T14:31:06+00:00",
  • "emittedAt": "2023-02-08T23:00:00+00:00",
  • "_metadata": "",
  • "sparePart": {
    },
  • "location": {
    },
  • "initiator": {
    },
  • "recounted": {
    }
}

Spare part has been replenishedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a spare part has been replenished

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasRestocked"
_type
any
Value: "SparePartWasRestockedWebhook"
_sentAt
string <date-time>
emittedAt
string <date-time>
_metadata
Array of arrays
object
required
object
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_type": "SparePartWasRestockedWebhook",
  • "_event": "SparePartWasRestocked",
  • "_sentAt": "2022-06-02T14:31:06+00:00",
  • "emittedAt": "2023-02-08T23:00:00+00:00",
  • "_metadata": "",
  • "task": null,
  • "sparePart": {
    },
  • "location": {
    },
  • "initiator": {
    },
  • "restocked": {
    }
}

Spare part was consumedWebhook

Starter Premium Ultimate
✔️ ✔️

Triggered when a spare part is consumed

SecurityWebhookSigningKey
Request
header Parameters
User-Agent
required
string

User agent of the webhook service

Value: "Mobility Work - Webhook Service v1"
Request Body schema: application/json
_event
required
string
Value: "SparePartWasConsumed"
_type
any
Value: "SparePartWasConsumedWebhook"
_sentAt
string <date-time>
emittedAt
string <date-time>
_metadata
Array of arrays
object
required
object
required
object
required
object
required
object
Responses
200

The endpoint should return 200 status to indicate that the data was received successfully.

Request samples
application/json
{
  • "_type": "SparePartWasConsumedWebhook",
  • "_event": "SparePartWasConsumed",
  • "_sentAt": "2022-06-02T14:31:06+00:00",
  • "emittedAt": "2023-02-08T23:00:00+00:00",
  • "_metadata": "",
  • "task": {
    },
  • "sparePart": {
    },
  • "location": {
    },
  • "initiator": {
    },
  • "consumed": {
    }
}