Arduino usage_v1 API

The usage_v1 API from Arduino — 4 operation(s) for usage_v1.

OpenAPI Specification

arduino-usage-v1-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: Provides a set of endpoints to manage Devices, Things, Properties and Timeseries
  title: Arduino IoT Cloud binaries_v2 usage_v1 API
  version: '2.0'
tags:
- name: usage_v1
paths:
  /iot/v1/usage/daily:
    get:
      description: Returns the daily message-consumption series for the authenticated user or the organization (when X-Organization is set). One data point per day.
      operationId: usage_v1#daily
      parameters:
      - description: 'Optional: restrict results to this device'
        in: query
        name: device_id
        schema:
          type: string
      - description: Start of the range, inclusive (UTC)
        in: query
        name: from
        required: true
        schema:
          type: string
      - description: 'Optional: restrict results to this thing'
        in: query
        name: thing_id
        schema:
          type: string
      - description: 'End of the range, inclusive (UTC). Must be >= from. Max range: 400 days.'
        in: query
        name: to
        required: true
        schema:
          type: string
      - in: header
        name: X-Organization
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.arduino.usage.daily+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageDaily'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageDaily'
          description: OK
        '400':
          content:
            application/vnd.arduino.usage.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/vnd.arduino.usage.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/vnd.arduino.usage.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '500':
          content:
            application/vnd.arduino.usage.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
      security:
      - oauth2: []
      summary: daily usage_v1
      tags:
      - usage_v1
  /iot/v1/usage/monthly:
    get:
      description: Returns the monthly message-consumption series for the authenticated user or the organization (when X-Organization is set). One data point per calendar month (UTC).
      operationId: usage_v1#monthly
      parameters:
      - description: 'Optional: restrict results to this device'
        in: query
        name: device_id
        schema:
          type: string
      - description: Start of the range, inclusive. Truncated to the beginning of the month (UTC).
        in: query
        name: from
        required: true
        schema:
          type: string
      - description: 'Optional: restrict results to this thing'
        in: query
        name: thing_id
        schema:
          type: string
      - description: 'End of the range, inclusive. Truncated to the end of the month (UTC). Max range: 5 years.'
        in: query
        name: to
        required: true
        schema:
          type: string
      - in: header
        name: X-Organization
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.arduino.usage.monthly+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageMonthly'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageMonthly'
          description: OK
        '400':
          content:
            application/vnd.arduino.usage.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/vnd.arduino.usage.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/vnd.arduino.usage.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '500':
          content:
            application/vnd.arduino.usage.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
      security:
      - oauth2: []
      summary: monthly usage_v1
      tags:
      - usage_v1
  /iot/v1/usage/things/daily:
    get:
      description: Returns the daily message-consumption series broken down per thing for the authenticated user or the organization (when X-Organization is set). When thing_id is set the response contains a single thing entry. Devices belonging to the same thing are summed together.
      operationId: usage_v1#things_daily
      parameters:
      - description: Start of the range, inclusive (UTC)
        in: query
        name: from
        required: true
        schema:
          type: string
      - description: 'Optional: restrict results to this thing'
        in: query
        name: thing_id
        schema:
          type: string
      - description: 'End of the range, inclusive (UTC). Must be >= from. Max range: 400 days.'
        in: query
        name: to
        required: true
        schema:
          type: string
      - in: header
        name: X-Organization
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.arduino.usage.things.daily+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageThingsDaily'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageThingsDaily'
          description: OK
        '400':
          content:
            application/vnd.arduino.usage.things.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/vnd.arduino.usage.things.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/vnd.arduino.usage.things.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '500':
          content:
            application/vnd.arduino.usage.things.daily+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
      security:
      - oauth2: []
      summary: things_daily usage_v1
      tags:
      - usage_v1
  /iot/v1/usage/things/monthly:
    get:
      description: Returns the monthly message-consumption series broken down per thing for the authenticated user or the organization (when X-Organization is set). When thing_id is set the response contains a single thing entry. Devices belonging to the same thing are summed together.
      operationId: usage_v1#things_monthly
      parameters:
      - description: Start of the range, inclusive. Truncated to the beginning of the month (UTC).
        in: query
        name: from
        required: true
        schema:
          type: string
      - description: 'Optional: restrict results to this thing'
        in: query
        name: thing_id
        schema:
          type: string
      - description: 'End of the range, inclusive. Truncated to the end of the month (UTC). Max range: 5 years.'
        in: query
        name: to
        required: true
        schema:
          type: string
      - in: header
        name: X-Organization
        schema:
          type: string
      responses:
        '200':
          content:
            application/vnd.arduino.usage.things.monthly+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageThingsMonthly'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/ArduinoUsageThingsMonthly'
          description: OK
        '400':
          content:
            application/vnd.arduino.usage.things.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/vnd.arduino.usage.things.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/vnd.arduino.usage.things.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '500':
          content:
            application/vnd.arduino.usage.things.monthly+json:
              schema:
                $ref: '#/components/schemas/error'
            application/vnd.goa.error+json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
      security:
      - oauth2: []
      summary: things_monthly usage_v1
      tags:
      - usage_v1
components:
  schemas:
    UsageThingMonthlySeries:
      description: Monthly series of one thing
      properties:
        series:
          description: One entry per calendar month with a non-zero count (UTC, ascending)
          items:
            $ref: '#/components/schemas/UsageMonthlyPoint'
          type: array
        thing_id:
          description: Thing ID
          format: uuid
          type: string
      required:
      - thing_id
      - series
      title: UsageThingMonthlySeries
      type: object
    UsageThingDailySeries:
      description: Daily series of one thing
      properties:
        series:
          description: One entry per calendar day with a non-zero count (UTC, ascending)
          items:
            $ref: '#/components/schemas/UsageDailyPoint'
          type: array
        thing_id:
          description: Thing ID
          format: uuid
          type: string
      required:
      - thing_id
      - series
      title: UsageThingDailySeries
      type: object
    UsageDailyPoint:
      properties:
        count:
          description: Number of messages sent on that day
          format: int64
          type: integer
        date:
          description: Calendar day in ISO-8601 (YYYY-MM-DD, UTC)
          example: '2026-04-24'
          pattern: ^\d{4}-\d{2}-\d{2}$
          type: string
      required:
      - date
      - count
      title: UsageDailyPoint
      type: object
    ArduinoUsageThingsMonthly:
      description: Per-thing monthly message-consumption series (default view)
      properties:
        from:
          description: Start of the returned range (inclusive, UTC, truncated to month start)
          format: date-time
          type: string
        owner_id:
          description: 'ID of the owner: user_id for scope=user, org_id for scope=org'
          format: uuid
          type: string
        scope:
          description: 'Scope of the series: `user` or `org`'
          enum:
          - user
          - org
          type: string
        things:
          description: One entry per thing with at least one message in the range
          items:
            $ref: '#/components/schemas/UsageThingMonthlySeries'
          type: array
        to:
          description: End of the returned range (inclusive, UTC, month end)
          format: date-time
          type: string
      required:
      - scope
      - owner_id
      - from
      - to
      - things
      title: 'Mediatype identifier: application/vnd.arduino.usage.things.monthly+json; view=default'
      type: object
    ArduinoUsageDaily:
      description: Daily message-consumption series (default view)
      properties:
        from:
          description: Start of the returned range (inclusive, UTC)
          format: date-time
          type: string
        owner_id:
          description: 'ID of the owner: user_id for scope=user, org_id for scope=org'
          format: uuid
          type: string
        scope:
          description: 'Scope of the series: `user` or `org`'
          enum:
          - user
          - org
          type: string
        series:
          description: One entry per calendar day in the requested range (days with zero messages are omitted)
          items:
            $ref: '#/components/schemas/UsageDailyPoint'
          type: array
        to:
          description: End of the returned range (inclusive, UTC)
          format: date-time
          type: string
        total:
          description: Sum of `count` over the full returned range
          format: int64
          type: integer
      required:
      - scope
      - owner_id
      - from
      - to
      - total
      - series
      title: 'Mediatype identifier: application/vnd.arduino.usage.daily+json; view=default'
      type: object
    ArduinoUsageMonthly:
      description: Monthly message-consumption series (default view)
      properties:
        from:
          description: Start of the returned range (inclusive, UTC, truncated to month start)
          format: date-time
          type: string
        owner_id:
          description: 'ID of the owner: user_id for scope=user, org_id for scope=org'
          format: uuid
          type: string
        scope:
          description: 'Scope of the series: `user` or `org`'
          enum:
          - user
          - org
          type: string
        series:
          description: One entry per calendar month in the requested range (months with zero messages are omitted)
          items:
            $ref: '#/components/schemas/UsageMonthlyPoint'
          type: array
        to:
          description: End of the returned range (inclusive, UTC, month end)
          format: date-time
          type: string
        total:
          description: Sum of `count` over the full returned range
          format: int64
          type: integer
      required:
      - scope
      - owner_id
      - from
      - to
      - total
      - series
      title: 'Mediatype identifier: application/vnd.arduino.usage.monthly+json; view=default'
      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
    UsageMonthlyPoint:
      properties:
        count:
          description: Number of messages sent during that month
          format: int64
          type: integer
        month:
          description: Calendar month in ISO-8601 (YYYY-MM, UTC)
          example: 2026-04
          pattern: ^\d{4}-\d{2}$
          type: string
      required:
      - month
      - count
      title: UsageMonthlyPoint
      type: object
    ArduinoUsageThingsDaily:
      description: Per-thing daily message-consumption series (default view)
      properties:
        from:
          description: Start of the returned range (inclusive, UTC)
          format: date-time
          type: string
        owner_id:
          description: 'ID of the owner: user_id for scope=user, org_id for scope=org'
          format: uuid
          type: string
        scope:
          description: 'Scope of the series: `user` or `org`'
          enum:
          - user
          - org
          type: string
        things:
          description: One entry per thing with at least one message in the range
          items:
            $ref: '#/components/schemas/UsageThingDailySeries'
          type: array
        to:
          description: End of the returned range (inclusive, UTC)
          format: date-time
          type: string
      required:
      - scope
      - owner_id
      - from
      - to
      - things
      title: 'Mediatype identifier: application/vnd.arduino.usage.things.daily+json; view=default'
      type: object
externalDocs:
  description: See docs on Confluence
  url: https://arduino.atlassian.net/wiki/spaces/FTWEB/pages/91160610/Arduino+IoT+Cloud