openapi: 3.0.3 info: description: Provides a set of endpoints to manage Devices, Things, Properties and Timeseries title: Arduino IoT Cloud binaries_v2 dashboards_v3 API version: '2.0' tags: - name: dashboards_v3 paths: /iot/v3/dashboards: get: description: Returns the list of dashboards operationId: dashboards_v3#list parameters: - description: The name of the dashboard in: query name: name schema: maxLength: 64 pattern: '[a-zA-Z0-9_.@-]+' type: string - description: The thing_id of the dashboard's properties in: query name: thing_id schema: type: string - description: The user_id of the dashboard's owner in: query name: user_id schema: type: string - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.dashboardv3+json; type=collection: schema: $ref: '#/components/schemas/ArduinoDashboardv3Collection' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3Collection' description: OK '400': content: application/vnd.arduino.dashboardv3+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.dashboardv3+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '403': content: application/vnd.arduino.dashboardv3+json; type=collection: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Forbidden '500': content: application/vnd.arduino.dashboardv3+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 dashboards_v3 tags: - dashboards_v3 post: description: Create a new dashboard operationId: dashboards_v3#create parameters: - in: header name: X-Organization schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/dashboardv3' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/dashboardv3' description: DashboardV3Payload describes a dashboard required: true x-originalParamName: payload responses: '201': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' description: Created '400': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '403': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Forbidden '500': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: create dashboards_v3 tags: - dashboards_v3 /iot/v3/dashboards/{id}: get: description: Show a dashboard operationId: dashboards_v3#show parameters: - description: The id of the dashboard in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' description: OK '401': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '403': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Forbidden '404': description: Not Found '500': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: show dashboards_v3 tags: - dashboards_v3 patch: description: Updates an existing dashboard field without overwriting the existing data operationId: dashboards_v3#patch parameters: - description: The id of the dashboard 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/dashboardv3' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/dashboardv3' description: DashboardV3Payload describes a dashboard required: true x-originalParamName: payload responses: '200': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' description: OK '400': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '403': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Forbidden '404': description: Not Found '500': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: patch dashboards_v3 tags: - dashboards_v3 put: description: Updates an existing dashboard operationId: dashboards_v3#update parameters: - description: The id of the dashboard 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/dashboardv3' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/dashboardv3' description: DashboardV3Payload describes a dashboard required: true x-originalParamName: payload responses: '200': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' description: OK '400': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '403': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Forbidden '404': description: Not Found '500': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: update dashboards_v3 tags: - dashboards_v3 /iot/v3/dashboards/{id}/clone: put: description: Clone an existing dashboard operationId: dashboards_v3#clone parameters: - description: The id of the dashboard 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/clone' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/clone' required: true x-originalParamName: payload responses: '201': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3' description: Created '400': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '403': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Forbidden '404': description: Not Found '500': content: application/vnd.arduino.dashboardv3+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: clone dashboards_v3 tags: - dashboards_v3 /iot/v3/dashboards/{id}/template: get: description: Get a template of the dashboard operationId: dashboards_v3#template parameters: - description: The id of the dashboard in: path name: id required: true schema: type: string - in: header name: X-Organization schema: type: string responses: '200': content: application/vnd.arduino.dashboardv3template+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3template' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/ArduinoDashboardv3template' description: OK '400': content: application/vnd.arduino.dashboardv3template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Bad Request '401': content: application/vnd.arduino.dashboardv3template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Unauthorized '403': content: application/vnd.arduino.dashboardv3template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Forbidden '404': description: Not Found '500': content: application/vnd.arduino.dashboardv3template+json: schema: $ref: '#/components/schemas/error' application/vnd.goa.error+json: schema: $ref: '#/components/schemas/error' description: Internal Server Error security: - oauth2: [] summary: template dashboards_v3 tags: - dashboards_v3 components: schemas: ArduinoDashboardv3template: description: ArduinoDashboardv3template media type (default view) properties: cover_image: description: The cover image of the dashboard type: string id: description: The friendly ID of the dashboard type: string name: description: The friendly name of the dashboard type: string pages: $ref: '#/components/schemas/ArduinoPagevariableCollection' widgets: $ref: '#/components/schemas/ArduinoWidgetv3templateCollection' required: - name title: 'Mediatype identifier: application/vnd.arduino.dashboardv3template+json; view=default' type: object ArduinoWidgetv3Collection: description: ArduinoWidgetv3Collection is the media type for an array of ArduinoWidgetv3 (default view) items: $ref: '#/components/schemas/ArduinoWidgetv3' title: 'Mediatype identifier: application/vnd.arduino.widgetv3+json; type=collection; view=default' type: array ArduinoTimezone: description: ArduinoTimezone media type (default view) properties: name: description: Name of the time zone. type: string offset: description: Current UTC DST offset in seconds. format: int64 type: integer until: description: Date until the offset is valid. format: date-time type: string required: - name - offset - until title: 'Mediatype identifier: application/vnd.arduino.timezone+json; view=default' type: object ArduinoDashboardshareCollection: description: ArduinoDashboardshareCollection is the media type for an array of ArduinoDashboardshare (default view) items: $ref: '#/components/schemas/ArduinoDashboardshare' title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; type=collection; view=default' type: array ArduinoTemplatevariableCollection: description: ArduinoTemplatevariableCollection is the media type for an array of ArduinoTemplatevariable (default view) items: $ref: '#/components/schemas/ArduinoTemplatevariable' title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; type=collection; view=default' type: array ArduinoLinkedvariableCollection: description: ArduinoLinkedvariableCollection is the media type for an array of ArduinoLinkedvariable (default view) items: $ref: '#/components/schemas/ArduinoLinkedvariable' title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; type=collection; view=default' type: array ArduinoWidgetv3template: description: ArduinoWidgetv3template media type (default view) properties: height: description: Widget current height for desktop format: int64 type: integer height_mobile: description: Widget current height for mobile format: int64 type: integer name: description: The name of the widget type: string options: additionalProperties: true description: Widget options type: object page_id: description: The ID of the page the widget belongs to, "0" if it's in the main page type: string type: description: The type of the widget type: string variables: $ref: '#/components/schemas/ArduinoTemplatevariableCollection' width: description: Widget current width for desktop format: int64 type: integer width_mobile: description: Widget current width for mobile format: int64 type: integer x: description: Widget x position for desktop format: int64 type: integer x_mobile: description: Widget x position for mobile format: int64 type: integer y: description: Widget y position for desktop format: int64 type: integer y_mobile: description: Widget y position for mobile format: int64 type: integer required: - type - width - height - x - y - options - page_id title: 'Mediatype identifier: application/vnd.arduino.widgetv3template+json; view=default' type: object ArduinoWidgetv3: description: ArduinoWidgetv3 media type (default view) properties: has_permission_incompatibility: description: True if the linked variables permissions are incompatible with the widget type: boolean has_type_incompatibility: description: True if the linked variables types are incompatible with the widget type: boolean has_unlinked_variable: description: If it's true the widget is linked to a soft-deleted variable type: boolean height: description: Widget current height for desktop format: int64 type: integer height_mobile: description: Widget current height for mobile format: int64 type: integer id: description: The UUID of the widget, set by client format: uuid type: string name: description: The name of the widget type: string options: additionalProperties: true description: Widget options type: object page_id: description: The ID of the page the widget belongs to, "0" if it's in the main page type: string type: description: The type of the widget type: string variables: $ref: '#/components/schemas/ArduinoLinkedvariableCollection' width: description: Widget current width for desktop format: int64 type: integer width_mobile: description: Widget current width for mobile format: int64 type: integer x: description: Widget x position for desktop format: int64 type: integer x_mobile: description: Widget x position for mobile format: int64 type: integer y: description: Widget y position for desktop format: int64 type: integer y_mobile: description: Widget y position for mobile format: int64 type: integer required: - id - type - width - height - x - y - options - page_id title: 'Mediatype identifier: application/vnd.arduino.widgetv3+json; view=default' type: object ArduinoWidgetv3templateCollection: description: ArduinoWidgetv3templateCollection is the media type for an array of ArduinoWidgetv3template (default view) items: $ref: '#/components/schemas/ArduinoWidgetv3template' title: 'Mediatype identifier: application/vnd.arduino.widgetv3template+json; type=collection; view=default' type: array pagepayload: description: Page describes a dashboard page properties: icon: description: The icon of the Page maxLength: 1024 type: string id: description: The id of the Page example: 1d4decea-63eb-4ecd-b5fb-bb21f120d3d9 format: uuid type: string name: description: The name of the Page maxLength: 64 pattern: '[a-zA-Z0-9_.@-]+' type: string position: description: The position of the Page format: int64 type: integer required: - id - name - position title: pagepayload type: object ArduinoDashboardv3: description: Dashboard is a collection of widgets (default view) properties: cover_image: description: The cover image of the dashboard maxLength: 1024 type: string created_by: $ref: '#/components/schemas/ArduinoDashboardowner' id: description: The friendly name of the dashboard format: uuid type: string name: description: The friendly name of the dashboard type: string organization_id: description: Id of the organization the dashboard belongs to format: uuid type: string pages: $ref: '#/components/schemas/ArduinoPagevariableCollection' shared_by: $ref: '#/components/schemas/ArduinoDashboardshare' shared_with: $ref: '#/components/schemas/ArduinoDashboardshareCollection' updated_at: description: Last update date format: date-time type: string widgets: $ref: '#/components/schemas/ArduinoWidgetv3Collection' required: - id - name - updated_at title: 'Mediatype identifier: application/vnd.arduino.dashboardv3+json; view=default' type: object ArduinoDashboardv3Collection: description: ArduinoDashboardv3Collection is the media type for an array of ArduinoDashboardv3 (default view) items: $ref: '#/components/schemas/ArduinoDashboardv3' title: 'Mediatype identifier: application/vnd.arduino.dashboardv3+json; type=collection; view=default' type: array override: properties: new_thing_id: description: The id of the new thing to link format: uuid type: string old_thing_id: description: The id of the thing to override format: uuid type: string required: - old_thing_id - new_thing_id title: override type: object ArduinoTemplatevariable: description: ArduinoTemplatevariable media type (default view) properties: name: description: The name of the variable type: string permission: description: The permission of the linked variable type: string thing_id: description: The name of the related thing type: string thing_timezone: $ref: '#/components/schemas/ArduinoTimezone' type: description: The type of the variable type: string variable_id: description: The name of the variable in the code type: string required: - name - variable_id - thing_id - type - permission title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; view=default' type: object widgetv3: description: Widget describes a dashboard widget properties: height: description: Widget current height for desktop format: int64 type: integer height_mobile: description: Widget current height for mobile format: int64 type: integer id: description: The UUID of the widget, set by client format: uuid type: string name: description: The name of the widget type: string options: additionalProperties: true description: Widget options type: object page_id: description: The ID of the page the widget belongs to, "0" if it's in the main page pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$|^0$ type: string type: description: The type of the widget type: string variables: items: format: uuid type: string type: array width: description: Widget current width for desktop format: int64 type: integer width_mobile: description: Widget current width for mobile format: int64 type: integer x: description: Widget x position for desktop format: int64 type: integer x_mobile: description: Widget x position for mobile format: int64 type: integer y: description: Widget y position for desktop format: int64 type: integer y_mobile: description: Widget y position for mobile format: int64 type: integer required: - id - type - width - height - x - y - options title: widgetv3 type: object ArduinoPagevariableCollection: description: ArduinoPagevariableCollection is the media type for an array of ArduinoPagevariable (default view) items: $ref: '#/components/schemas/ArduinoPagevariable' title: 'Mediatype identifier: application/vnd.arduino.pagevariable+json; type=collection; view=default' type: array 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 ArduinoLinkedvariable: description: ArduinoLinkedvariable media type (default view) properties: id: description: The id of the linked variable format: uuid type: string last_value: description: Last value of the linked property last_value_updated_at: description: Update date of the last value format: date-time type: string name: description: The name of the variable type: string permission: description: The permission of the linked variable type: string thing_id: description: The id of the related thing format: uuid type: string thing_name: description: The name of the related thing type: string thing_timezone: $ref: '#/components/schemas/ArduinoTimezone' type: description: The type of the variable type: string variable_name: description: The name of the variable in the code type: string required: - id - name - variable_name - thing_id - thing_name - type - permission title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; view=default' type: object dashboardv3: description: DashboardV3Payload describes a dashboard properties: cover_image: description: The cover image of the dashboard maxLength: 1024 type: string name: description: The friendly name of the dashboard maxLength: 64 pattern: '[a-zA-Z0-9_.@-]+' type: string pages: description: List of sub-pages items: $ref: '#/components/schemas/pagepayload' maxItems: 30 type: array soft_deleted: default: false description: If false, restore the thing from the soft deletion type: boolean widgets: description: Widgets attached to this dashboard items: $ref: '#/components/schemas/widgetv3' type: array title: dashboardv3 type: object ArduinoDashboardowner: description: ArduinoDashboardowner media type (default view) properties: user_id: description: The userID of the user who created the dashboard format: uuid type: string username: description: The username of the user who created the dashboard type: string required: - user_id title: 'Mediatype identifier: application/vnd.arduino.dashboardowner+json; view=default' type: object ArduinoDashboardshare: description: ArduinoDashboardshare media type (default view) properties: user_id: description: The userID of the user you want to share the dashboard with format: uuid type: string username: description: The username of the user you want to share the dashboard with type: string required: - user_id title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; view=default' type: object ArduinoPagevariable: description: ArduinoPagevariable media type (default view) properties: icon: description: The icon of the Page type: string id: description: The id of the Page type: string name: description: The name of the Page type: string position: description: The position of the Page format: int64 type: integer required: - id - name - position title: 'Mediatype identifier: application/vnd.arduino.pagevariable+json; view=default' type: object clone: properties: overrides: description: 'The overrides to apply to the cloned dashboard. An override is a tuple of ids: the id of the thing to override and the id of the new thing to link' items: $ref: '#/components/schemas/override' type: array title: clone type: object externalDocs: description: See docs on Confluence url: https://arduino.atlassian.net/wiki/spaces/FTWEB/pages/91160610/Arduino+IoT+Cloud