openapi: 3.0.3 info: description: Provides a set of endpoints to manage Devices, Things, Properties and Timeseries title: Arduino IoT Cloud binaries_v2 triggers_v1 API version: '2.0' tags: - description: Provides a set of endpoints to manage the triggers of a user name: triggers_v1 paths: /iot/v1/actions: get: description: Returns the list of actions operationId: actions_v1#list parameters: - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.action+json; type=collection: schema: $ref: '#/components/schemas/ArduinoActionCollection' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoActionCollection' description: OK '401': content: application/vnd.arduino.action+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.action+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.action+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: list actions_v1 tags: - triggers_v1 post: description: Creates a new action operationId: actions_v1#create parameters: - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/create-action' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/create-action' required: true x-originalParamName: payload responses: '201': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/ArduinoAction' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoAction' description: Created '400': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': description: Not Found '412': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Precondition Failed '500': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: create actions_v1 tags: - triggers_v1 /iot/v1/actions/{id}: delete: description: Removes an action operationId: actions_v1#delete parameters: - description: The id of the action in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string responses: '200': description: OK '401': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': description: Not Found '500': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: delete actions_v1 tags: - triggers_v1 get: description: Returns an action operationId: actions_v1#show parameters: - description: The id of the action in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/ArduinoAction' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoAction' description: OK '401': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: show actions_v1 tags: - triggers_v1 put: description: Updates an action operationId: actions_v1#update parameters: - description: The id of the action in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/update-action' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/update-action' required: true x-originalParamName: payload responses: '200': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/ArduinoAction' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoAction' description: OK '400': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: update actions_v1 tags: - triggers_v1 /iot/v1/actions/{id}/unsubscribe: put: description: Remove selected recipients from the action operationId: actions_v1#Unsubscribe parameters: - description: The id of the action in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/recipients_list' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/recipients_list' required: true x-originalParamName: payload responses: '200': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/ArduinoAction' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoAction' description: OK '400': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.action+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: Unsubscribe actions_v1 tags: - triggers_v1 /iot/v1/triggers: get: description: Returns the list of triggers operationId: triggers_v1#list parameters: - description: The id of the device associated with the triggers (mutually exclusive with 'property_id') in: query name: device_id schema: type: string - description: The id of the property associated with the triggers (mutually exclusive with 'device_id') in: query name: property_id schema: type: string - description: If true, shows the soft deleted triggers in: query name: show_deleted schema: default: false type: boolean - description: The source type of the trigger, could be PROPERTY, DEVICE_INCLUDE or DEVICE_EXCLUDE in: query name: source_type schema: enum: - PROPERTY - DEVICE_INCLUDE - DEVICE_EXCLUDE type: string - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.trigger+json; type=collection: schema: $ref: '#/components/schemas/ArduinoTriggerCollection' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoTriggerCollection' description: OK '400': content: application/vnd.arduino.trigger+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.trigger+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.trigger+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.trigger+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: list triggers_v1 tags: - triggers_v1 put: description: Creates a new trigger operationId: triggers_v1#create parameters: - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/trigger' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/trigger' required: true x-originalParamName: payload responses: '201': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/ArduinoTrigger' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoTrigger' description: Created '400': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': description: Not Found '412': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Precondition Failed '500': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: create triggers_v1 tags: - triggers_v1 /iot/v1/triggers/{id}: delete: description: Removes a trigger operationId: triggers_v1#delete parameters: - description: If true, hard delete the trigger in: query name: force schema: default: false type: boolean - description: The id of the trigger in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string responses: '200': description: OK '401': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': description: Not Found '500': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: delete triggers_v1 tags: - triggers_v1 get: description: Returns a trigger operationId: triggers_v1#show parameters: - description: The id of the trigger in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.trigger_with_linked_entities+json: schema: $ref: '#/components/schemas/ArduinoTrigger_with_linked_entities' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoTrigger_with_linked_entities' description: OK '401': content: application/vnd.arduino.trigger_with_linked_entities+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.trigger_with_linked_entities+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.trigger_with_linked_entities+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: show triggers_v1 tags: - triggers_v1 patch: description: Patch a trigger operationId: triggers_v1#patch parameters: - description: The id of the trigger in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/trigger' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/trigger' required: true x-originalParamName: payload responses: '200': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/ArduinoTrigger' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoTrigger' description: OK '400': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: patch triggers_v1 tags: - triggers_v1 post: description: Updates a trigger operationId: triggers_v1#update parameters: - description: The id of the trigger in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/trigger' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/trigger' required: true x-originalParamName: payload responses: '200': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/ArduinoTrigger' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoTrigger' description: OK '400': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.trigger+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: update triggers_v1 tags: - triggers_v1 /iot/v1/triggers/{id}/template: get: description: Extract template from the given trigger operationId: triggers_v1#template parameters: - description: The id of the trigger in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.trigger_template+json: schema: $ref: '#/components/schemas/ArduinoTrigger_template' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoTrigger_template' description: OK '400': content: application/vnd.arduino.trigger_template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.trigger_template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.arduino.trigger_template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.arduino.trigger_template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: template triggers_v1 tags: - triggers_v1 /iot/v1/triggers/{id}/unsubscribe: post: description: Unsubscribe the list of users from all the actions of the trigger operationId: triggers_v1#unsubscribe parameters: - description: The id of the trigger in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/recipients_list' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/recipients_list' required: true x-originalParamName: payload responses: '200': description: OK '400': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Unauthorized '404': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Not Found '500': content: application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' text/plain: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: unsubscribe triggers_v1 tags: - triggers_v1 components: schemas: recipients_list: properties: recipients: description: List of recipients to be removed items: format: uuid type: string type: array required: - recipients title: recipients_list type: object ArduinoTrigger_with_linked_entities: description: ArduinoTrigger_with_linked_entities media type (default view) properties: actions: description: A list of actions associated with the trigger items: $ref: '#/components/schemas/ArduinoAction' type: array active: description: Is true if the trigger is enabled type: boolean created_by: description: Id of the user who last updated the trigger format: uuid type: string description: description: The description of the trigger type: string device_status_source: $ref: '#/components/schemas/Device_status_source_with_linked_devices' id: description: The id of the trigger format: uuid type: string linked_property: $ref: '#/components/schemas/ArduinoLinked_property' name: description: The name of the trigger type: string organization_id: description: Id of the organization the trigger belongs to format: uuid type: string required: - id - name title: 'Mediatype identifier: application/vnd.arduino.trigger_with_linked_entities+json; view=default' type: object ArduinoDevicev2WebhookCollection: description: ArduinoDevicev2WebhookCollection is the media type for an array of ArduinoDevicev2Webhook (default view) items: $ref: '#/components/schemas/ArduinoDevicev2Webhook' title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; type=collection; view=default' type: array ArduinoLinked_property_template: description: ArduinoLinked_property_template media type (default view) properties: property_id: description: The property the trigger is associated to type: string thing_id: description: The thing the trigger is associated to type: string required: - thing_id - property_id title: 'Mediatype identifier: application/vnd.arduino.linked_property_template+json; view=default' type: object trigger: properties: actions: description: A list of actions to be associated with the trigger items: $ref: '#/components/schemas/create-action' type: array active: description: Is true if the trigger is enabled type: boolean description: description: The description of the trigger type: string device_status_source: $ref: '#/components/schemas/device_status_source' id: description: The id of the trigger format: uuid type: string name: description: The name of the trigger maxLength: 256 minLength: 1 type: string property_id: description: Id of the property the trigger is associated to (mutually exclusive with 'device_status_source') format: uuid type: string soft_deleted: default: false description: If false, restore the thing from the soft deletion type: boolean title: trigger type: object user_recipient: properties: email: description: The email address of the user type: string id: description: The id of the user format: uuid type: string username: description: The username of the user type: string required: - id title: user_recipient type: object ArduinoTriggerCollection: description: ArduinoTriggerCollection is the media type for an array of ArduinoTrigger (default view) items: $ref: '#/components/schemas/ArduinoTrigger' title: 'Mediatype identifier: application/vnd.arduino.trigger+json; type=collection; view=default' type: array title_expression: properties: expression: description: Content of the title (or subject) of a message, variables are allowed maxLength: 100 type: string variables: description: Variables used by the expression items: $ref: '#/components/schemas/variable' type: array required: - expression title: title_expression type: object variable: properties: attribute: description: The template expression that extracts the value from the respective entity enum: - ID - NAME - VALUE - TIMESTAMP - USERNAME - EMAIL - STATUS example: PROPERTY type: string entity: description: Type of the entity being referenced enum: - RECIPIENT - USER - DEVICE - THING - PROPERTY - TRIGGERING_DEVICE example: PROPERTY type: string id: description: The ID of the referenced entity format: uuid type: string placeholder: description: Name of the variable as referenced by the expression type: string property_id: description: The ID of the property referenced entity type: string thing_id: description: The ID of the thing referenced entity type: string required: - placeholder - entity - attribute title: variable type: object ArduinoTrigger_template: description: ArduinoTrigger_template media type (default view) properties: actions: description: A list of actions associated with the trigger items: $ref: '#/components/schemas/ArduinoAction_template' type: array active: description: Is true if the trigger is enabled type: boolean criteria: description: The criteria of the trigger, could be INCLUDE or EXCLUDE type: string description: description: The description of the trigger type: string grace_period_offline: description: The amount of seconds the trigger will wait before considering a matching device as offline format: int64 type: integer grace_period_online: description: The amount of seconds the trigger will wait before considering a matching device as online format: int64 type: integer id: description: The id of the trigger type: string linked_devices: description: A list of devices the trigger is associated to items: $ref: '#/components/schemas/ArduinoLinked_device_template' type: array linked_property: $ref: '#/components/schemas/ArduinoLinked_property_template' name: description: The name of the trigger type: string organization_id: description: Id of the organization the trigger belongs to format: uuid type: string required: - id - name title: 'Mediatype identifier: application/vnd.arduino.trigger_template+json; view=default' type: object ArduinoAction: description: ArduinoAction media type (default view) properties: created_by: description: Id of the user who created the action format: uuid type: string description: description: The description of the action type: string email: $ref: '#/components/schemas/email_action' id: description: The id of the action format: uuid type: string kind: description: The kind of the action enum: - NOTIFY-EMAIL - NOTIFY-PUSH example: NOTIFY-EMAIL type: string name: description: The name of the action type: string organization_id: description: Id of the organization the trigger belongs to format: uuid type: string push_notification: $ref: '#/components/schemas/push_action' trigger_id: description: Id of the trigger the action is associated to format: uuid type: string title: 'Mediatype identifier: application/vnd.arduino.action+json; view=default' type: object ArduinoThing: description: ArduinoThing media type (default view) properties: assistant: description: The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE enum: - ALEXA - GOOGLE - NONE type: string created_at: description: Creation date of the thing format: date-time type: string deleted_at: description: Delete date of the thing format: date-time type: string device_fqbn: description: The fqbn of the attached device, if any type: string device_id: description: The id of the device format: uuid type: string device_name: description: The name of the attached device, if any type: string device_type: description: The type of the attached device, if any type: string href: description: The api reference of this thing type: string id: description: The id of the thing format: uuid type: string name: description: The friendly name of the thing type: string organization_id: description: Id of the organization the thing belongs to format: uuid type: string properties: $ref: '#/components/schemas/ArduinoPropertyCollection' properties_count: description: The number of properties of the thing format: int64 type: integer sketch_id: description: The id of the attached sketch format: uuid type: string source_template: description: The id of the template used to create the thing format: uuid type: string tags: additionalProperties: true description: Tags of the thing type: object timezone: description: Time zone of the thing type: string updated_at: description: Update date of the thing format: date-time type: string user_id: description: The user id of the owner format: uuid type: string webhook_active: description: Webhook uri type: boolean webhook_uri: description: Webhook uri type: string required: - id - user_id - name - href - timezone title: 'Mediatype identifier: application/vnd.arduino.thing+json; view=default' type: object ArduinoPropertyCollection: description: ArduinoPropertyCollection is the media type for an array of ArduinoProperty (default view) items: $ref: '#/components/schemas/ArduinoProperty' title: 'Mediatype identifier: application/vnd.arduino.property+json; type=collection; view=default' type: array push_action: properties: body: $ref: '#/components/schemas/body_expression' delivery: $ref: '#/components/schemas/push_delivery_opts' title: $ref: '#/components/schemas/title_expression' required: - delivery - title - body title: push_action type: object ArduinoLinked_device: description: ArduinoLinked_device media type (default view) properties: device: $ref: '#/components/schemas/ArduinoDevicev2' status: description: The status of the linked device enum: - OK - DELETED example: OK type: string required: - status - device title: 'Mediatype identifier: application/vnd.arduino.linked_device+json; view=default' type: object push_delivery_opts: properties: to: description: The recipient of a push notification items: $ref: '#/components/schemas/user_recipient' minItems: 1 type: array required: - to title: push_delivery_opts type: object ArduinoDevicev2SimpleProperties: description: ArduinoDevicev2SimpleProperties media type (default view) properties: name: description: The name of the property type: string updated_at: description: Update date of the property format: date-time type: string value: description: Value of the property required: - name - value - updated_at title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; view=default' type: object ArduinoDevicev2: description: ArduinoDevicev2 media type (default view) properties: ble_mac: maxLength: 17 minLength: 17 pattern: ^(?:[0-9A-Fa-f]{2}[:]){5}(?:[0-9A-Fa-f]{2}) type: string connection_type: description: The type of the connections selected by the user when multiple connections are available enum: - wifi - eth - wifiandsecret - gsm - nb - lora - catm1 - cellular type: string created_at: description: Creation date of the device format: date-time type: string deleted_at: description: Deletion date of the trigger format: date-time type: string device_status: description: The connection status of the device enum: - ONLINE - OFFLINE - UNKNOWN type: string events: $ref: '#/components/schemas/ArduinoDevicev2SimplePropertiesCollection' fqbn: description: The fully qualified board name type: string href: description: The api reference of this device type: string id: description: The arn of the device format: uuid type: string issuer_ca: type: string label: description: The label of the device type: string last_activity_at: description: Last activity date format: date-time type: string latest_wifi_fw_version: description: The latest version of the NINA/WIFI101 firmware available for this device type: string lib_version: type: string locked: description: True if the device is locked and can't be claimed by another user type: boolean metadata: additionalProperties: true description: The metadata of the device type: object name: description: The friendly name of the device type: string no_sketch: description: True if the device type can not have an associated sketch type: boolean organization_id: description: Id of the organization the device belongs to format: uuid type: string ota_available: description: True if the device type is ready to receive OTA updated type: boolean ota_compatible: description: True if the device type is OTA compatible type: boolean required_wifi_fw_version: description: The required version of the NINA/WIFI101 firmware needed by IoT Cloud type: string serial: description: The serial uuid of the device type: string tags: additionalProperties: true description: Tags belonging to the device type: object thing: $ref: '#/components/schemas/ArduinoThing' type: description: The type of the device type: string unique_hardware_id: description: The unique hardware id of the device maxLength: 64 minLength: 64 type: string updated_at: description: Update date of the trigger format: date-time type: string user_id: description: The id of the user format: uuid type: string webhooks: $ref: '#/components/schemas/ArduinoDevicev2WebhookCollection' wifi_fw_version: description: The version of the NINA/WIFI101 firmware running on the device type: string required: - id - name - type - label - user_id - href - serial title: 'Mediatype identifier: application/vnd.arduino.devicev2+json; view=default' type: object email_delivery_opts: properties: bcc: description: The "bcc:" field of an e-mail items: $ref: '#/components/schemas/user_recipient' type: array cc: description: The "cc:" field of an e-mail items: $ref: '#/components/schemas/user_recipient' type: array to: description: The "to:" field of an e-mail items: $ref: '#/components/schemas/user_recipient' minItems: 1 type: array required: - to title: email_delivery_opts type: object ArduinoTrigger: description: ArduinoTrigger media type (default view) properties: actions: description: A list of actions associated with the trigger items: $ref: '#/components/schemas/ArduinoAction' type: array active: description: Is true if the trigger is enabled type: boolean created_at: description: Creation date of the trigger format: date-time type: string created_by: description: Id of the user who last updated the trigger format: uuid type: string deleted_at: description: Deletion date of the trigger format: date-time type: string description: description: The description of the trigger type: string device_status_source: $ref: '#/components/schemas/device_status_source' id: description: The id of the trigger format: uuid type: string name: description: The name of the trigger type: string organization_id: description: Id of the organization the trigger belongs to format: uuid type: string property_id: description: Id of the property the trigger is associated to (mutually exclusive with 'device_status_source') format: uuid type: string updated_at: description: Update date of the trigger format: date-time type: string required: - name title: 'Mediatype identifier: application/vnd.arduino.trigger+json; view=default' type: object ArduinoDevicev2SimplePropertiesCollection: description: ArduinoDevicev2SimplePropertiesCollection is the media type for an array of ArduinoDevicev2SimpleProperties (default view) items: $ref: '#/components/schemas/ArduinoDevicev2SimpleProperties' title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; type=collection; view=default' type: array ArduinoLinked_property: description: ArduinoLinked_property media type (default view) properties: property: $ref: '#/components/schemas/ArduinoProperty' status: description: The status of the linked property enum: - OK - WRONG_TYPE - DELETED example: OK type: string required: - status - property title: 'Mediatype identifier: application/vnd.arduino.linked_property+json; view=default' type: object ArduinoProperty: description: ArduinoProperty media type (default view) properties: created_at: description: Creation date of the property format: date-time type: string deleted_at: description: Delete date of the property format: date-time type: string href: description: The api reference of this property type: string id: description: The id of the property format: uuid type: string last_value: description: Last value of this property linked_to_trigger: description: Indicates if the property is involved in the activation of at least a trigger type: boolean max_value: description: Maximum value of this property format: double type: number min_value: description: Minimum value of this property format: double type: number name: description: The friendly name of the property type: string permission: description: The permission of the property type: string persist: description: If true, data will persist into a timeseries database type: boolean sync_id: description: The id of the sync pool format: uuid type: string tag: description: The integer id of the property format: int64 type: integer thing_id: description: The id of the thing format: uuid type: string thing_name: description: The name of the associated thing type: string type: description: The type of the property type: string update_parameter: description: The update frequency in seconds, or the amount of the property has to change in order to trigger an update format: double type: number update_strategy: description: The update strategy for the property value type: string updated_at: description: Update date of the property format: date-time type: string value_updated_at: description: Last update timestamp of this property format: date-time type: string variable_name: description: The sketch variable name of the property type: string required: - id - thing_id - name - type - permission - update_strategy - href title: 'Mediatype identifier: application/vnd.arduino.property+json; view=default' type: object email_action: properties: body: $ref: '#/components/schemas/body_expression' delivery: $ref: '#/components/schemas/email_delivery_opts' subject: $ref: '#/components/schemas/title_expression' required: - delivery - subject - body title: email_action type: object error: description: Error response media type (default view) properties: code: description: an application-specific error code, expressed as a string value. example: invalid_value type: string detail: description: a human-readable explanation specific to this occurrence of the problem. example: Value of ID must be an integer type: string id: description: a unique identifier for this particular occurrence of the problem. example: 3F1FKVRR type: string meta: additionalProperties: true description: a meta object containing non-standard meta-information about the error. example: timestamp: 1458609066 type: object status: description: the HTTP status code applicable to this problem, expressed as a string value. example: '400' type: string title: 'Mediatype identifier: application/vnd.goa.error+json; view=default' type: object update-action: properties: description: description: The description of the trigger type: string email: $ref: '#/components/schemas/email_action' name: description: The name of the action type: string push_notification: $ref: '#/components/schemas/push_action' trigger_id: description: Id of the trigger the action is associated to format: uuid type: string title: update-action type: object body_expression: properties: expression: description: Content of the body of a message, variables are allowed maxLength: 1000 type: string variables: description: Variables used by the expression items: $ref: '#/components/schemas/variable' type: array required: - expression title: body_expression type: object Device_status_source_with_linked_devices: description: Device_status_source_with_linked_devices media type (default view) properties: criteria: description: The criteria of the trigger, could be INCLUDE or EXCLUDE type: string grace_period_offline: description: The amount of seconds the trigger will wait before considering a matching device as offline maximum: 1209600 minimum: 0 type: integer grace_period_online: description: The amount of seconds the trigger will wait before considering a matching device as online maximum: 1209600 minimum: 0 type: integer linked_devices: description: A list of devices the trigger is associated to items: $ref: '#/components/schemas/ArduinoLinked_device' type: array required: - criteria title: 'Mediatype identifier: application/vnd.device_status_source_with_linked_devices+json; view=default' type: object device_status_source: properties: criteria: description: The matching criteria of the trigger, this allows to interpret device_ids as an inclusion or exclusion list enum: - INCLUDE - EXCLUDE type: string device_ids: description: A list of device IDs to be included in or excluded from the trigger (see criteria). Mutually exclusive with property_id. items: format: uuid type: string type: array grace_period_offline: description: Amount of seconds the trigger will wait before the device will be considered disconnected (requires 'device_id') maximum: 1209600 minimum: 0 type: integer grace_period_online: description: Amount of seconds the trigger will wait before the device will be considered connected (requires 'device_id') maximum: 1209600 minimum: 0 type: integer required: - criteria title: device_status_source type: object ArduinoDevicev2Webhook: description: DeviceWebhookV2 describes a webhook associated to the device (default view) properties: active: default: true description: Whether the webhook is active type: boolean id: description: The uuid of the webhook format: uuid type: string uri: description: The uri of the webhook format: uri type: string required: - id - uri title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; view=default' type: object ArduinoAction_template: description: ArduinoAction_template media type (default view) properties: description: description: The description of the action type: string email: $ref: '#/components/schemas/email_action' kind: description: The kind of the action enum: - NOTIFY-EMAIL - NOTIFY-PUSH example: NOTIFY-EMAIL type: string name: description: The name of the action type: string organization_id: description: Id of the organization the trigger belongs to format: uuid type: string push_notification: $ref: '#/components/schemas/push_action' title: 'Mediatype identifier: application/vnd.arduino.action_template+json; view=default' type: object ArduinoLinked_device_template: description: ArduinoLinked_device_template media type (default view) properties: thing_id: description: The thing the device is associated to type: string required: - thing_id title: 'Mediatype identifier: application/vnd.arduino.linked_device_template+json; view=default' type: object ArduinoActionCollection: description: ArduinoActionCollection is the media type for an array of ArduinoAction (default view) items: $ref: '#/components/schemas/ArduinoAction' title: 'Mediatype identifier: application/vnd.arduino.action+json; type=collection; view=default' type: array create-action: properties: description: description: The description of the trigger type: string email: $ref: '#/components/schemas/email_action' kind: description: The kind of the action enum: - NOTIFY-EMAIL - NOTIFY-PUSH example: NOTIFY-EMAIL type: string name: description: The name of the action type: string organization_id: description: Id of the organization the trigger belongs to format: uuid type: string push_notification: $ref: '#/components/schemas/push_action' trigger_id: description: Id of the trigger the action is associated to format: uuid type: string required: - kind - name title: create-action type: object externalDocs: description: See docs on Confluence url: https://arduino.atlassian.net/wiki/spaces/FTWEB/pages/91160610/Arduino+IoT+Cloud