Samsara Camera API

The Camera API from Samsara — 4 operation(s) for camera.

OpenAPI Specification

samsara-camera-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  description: Gain greater visibility by connecting your fleets, equipment, sites, and people.
  title: Samsara Camera API
  version: '2024-11-18'
servers:
- url: https://api.samsara.com/
- url: https://api.eu.samsara.com/
security:
- AccessTokenHeader: []
tags:
- name: Camera
paths:
  /v1/industrial/vision/cameras/{camera_id}/programs:
    get:
      description: "<n class=\"warning\">\n<nh>\n<i class=\"fa fa-exclamation-circle\"></i>\nThis endpoint is still on our legacy API.\n</nh>\n</n>\n\nFetch configured programs on the camera. \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team.\n\nTo use this endpoint, select **Read Industrial** under the Industrial category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>"
      operationId: V1getVisionProgramsByCamera
      parameters:
      - description: The camera_id should be valid for the given accessToken.
        in: path
        name: camera_id
        required: true
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ProgramsForTheCameraResponse'
          description: Returns programs configured on the camera.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: Fetch Industrial Camera Programs
      tags:
      - Camera
  /v1/industrial/vision/run/camera/{camera_id}:
    get:
      description: "Fetch the latest run for a camera or program by default. If startedAtMs is supplied, fetch the specific run that corresponds to that start time. \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team.\n\nTo use this endpoint, select **Read Industrial** under the Industrial category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>"
      operationId: V1getVisionLatestRunCamera
      parameters:
      - description: The camera_id should be valid for the given accessToken.
        in: path
        name: camera_id
        required: true
        schema:
          format: int64
          type: integer
      - description: The configured program's ID on the camera.
        in: query
        name: program_id
        schema:
          format: int64
          type: integer
      - description: EndMs is an optional param. It will default to the current time.
        in: query
        name: startedAtMs
        schema:
          format: int64
          type: integer
      - description: Include is a filter parameter. Accepts 'pass', 'reject' or 'no_read'.
        in: query
        name: include
        schema:
          type: string
      - description: Limit is an integer value from 1 to 1,000.
        in: query
        name: limit
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1VisionRunByCameraResponse'
          description: Returns the details for this run.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: Fetch the Latest Run for a Camera or Program
      tags:
      - Camera
  /v1/industrial/vision/runs/{camera_id}:
    get:
      description: "<n class=\"warning\">\n<nh>\n<i class=\"fa fa-exclamation-circle\"></i>\nThis endpoint is still on our legacy API.\n</nh>\n</n>\n\nFetch runs by camera. \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team.\n\nTo use this endpoint, select **Read Industrial** under the Industrial category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>"
      operationId: getVisionRunsByCamera
      parameters:
      - description: The camera_id should be valid for the given accessToken.
        in: path
        name: camera_id
        required: true
        schema:
          format: int64
          type: integer
      - description: DurationMs is a required param. This works with the EndMs parameter. Indicates the duration in which the visionRuns will be fetched
        in: query
        name: durationMs
        required: true
        schema:
          format: int64
          type: integer
      - description: EndMs is an optional param. It will default to the current time.
        in: query
        name: endMs
        schema:
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1VisionRunsByCameraResponse'
          description: Return runs by cameraId.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: Fetch Runs by Camera
      tags:
      - Camera
  /v1/industrial/vision/runs/{camera_id}/{program_id}/{started_at_ms}:
    get:
      description: "<n class=\"warning\">\n<nh>\n<i class=\"fa fa-exclamation-circle\"></i>\nThis endpoint is still on our legacy API.\n</nh>\n</n>\n\nFetch runs by camera and program. \n\n **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href=\"https://forms.gle/zkD4NCH7HjKb7mm69\" target=\"_blank\">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href=\"https://www.samsara.com/help\" target=\"_blank\">submit a case</a> to our support team.\n\nTo use this endpoint, select **Read Industrial** under the Industrial category when creating or editing an API token. <a href=\"https://developers.samsara.com/docs/authentication#scopes-for-api-tokens\" target=\"_blank\">Learn More.</a>"
      operationId: V1getVisionRunsByCameraAndProgram
      parameters:
      - description: The camera_id should be valid for the given accessToken.
        in: path
        name: camera_id
        required: true
        schema:
          format: int64
          type: integer
      - description: The configured program's ID on the camera.
        in: path
        name: program_id
        required: true
        schema:
          format: int64
          type: integer
      - description: Started_at_ms is a required param. Indicates the start time of the run to be fetched.
        in: path
        name: started_at_ms
        required: true
        schema:
          format: int64
          type: integer
      - description: Include is a filter parameter. Accepts 'pass', 'reject' or 'no_read'.
        in: query
        name: include
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1VisionRunsByCameraAndProgramResponse'
          description: Return runs by camera ID and program ID.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1ErrorResponse'
          description: Unexpected error.
      summary: Fetch Runs by Camera and Program
      tags:
      - Camera
components:
  schemas:
    V1VisionStepResults:
      items:
        properties:
          angleCheck:
            properties:
              angleConfigured:
                description: The configured angle allowance range (in degrees)
                properties:
                  high:
                    example: 150
                    format: int64
                    type: integer
                  low:
                    example: 90
                    format: int64
                    type: integer
                type: object
              angleFound:
                description: The counter-clockwise angle detected from the first edge to the second edge
                example: 60
                format: int64
                type: integer
              endStepName:
                description: The name of the second reference step used to check the angle
                example: Edge 2
                type: string
              startStepName:
                description: The name of the first reference step used to check the angle
                example: Edge 1
                type: string
            type: object
          barcode:
            items:
              properties:
                contents:
                  example: '10855639004823'
                  type: string
                matchString:
                  example: '10855639004823'
                  type: string
                type:
                  example: EAN8
                  type: string
              type: object
            type: array
          booleanLogic:
            properties:
              operator:
                example: AND
                type: string
              steps:
                items:
                  properties:
                    name:
                      example: Expiration Date
                      type: string
                    result:
                      example: PASS
                      type: string
                  type: object
                type: array
            type: object
          caliper:
            properties:
              angleRange:
                description: The configured angle allowance range
                properties:
                  high:
                    example: 360
                    format: int32
                    type: integer
                  low:
                    example: 0
                    format: int32
                    type: integer
                type: object
              contrastRange:
                description: The configured contrast allowance range
                properties:
                  high:
                    example: 100
                    format: int64
                    type: integer
                  low:
                    example: 50
                    format: int64
                    type: integer
                type: object
              distanceFound:
                description: The distance found between the found edges
                example: 555.55
                format: float
                type: number
              filterPolarity:
                default: LIGHT TO DARK
                description: 'The configured polarity for finding edges. Valid values: `LIGHT TO DARK`, `DARK TO LIGHT`.'
                enum:
                - LIGHT TO DARK
                - DARK TO LIGHT
                example: LIGHT TO DARK
                type: string
              maxDistance:
                description: The maximum allowed distance threshold
                example: 1000
                format: float
                type: number
              minDistance:
                description: The minumum allowed distance threshold
                example: 500
                format: float
                type: number
              sharpnessRange:
                description: The configured sharpness allowance range
                properties:
                  high:
                    example: 100
                    format: int64
                    type: integer
                  low:
                    example: 80
                    format: int64
                    type: integer
                type: object
              straightnessRange:
                description: The configured straightness allowance range
                properties:
                  high:
                    example: 100
                    format: int32
                    type: integer
                  low:
                    example: 80
                    format: int32
                    type: integer
                type: object
              unit:
                description: The measurement unit of the distance found and the min and max distance threshold
                example: Millimeters
                type: string
            type: object
          contour:
            properties:
              angleDegrees:
                description: The rotation angle found
                example: 0
                format: int64
                type: integer
              angleTolerance:
                description: The rotation angle allowance
                example: 50
                format: int64
                type: integer
              matchPercentage:
                description: The contour match percentage with the configured contour
                example: 46
                format: int64
                type: integer
              matchThreshold:
                description: The configured match threshold for contours
                example: 18
                format: int64
                type: integer
            type: object
          distance:
            properties:
              distanceFound:
                description: The distance found between the start and end references
                format: float64
                type: integer
              endStepName:
                description: The name of the second reference step that we're checking the distances between
                example: Bottom Right Square
                type: string
              enforceOffsetAngleRange:
                description: Whether an offset angle range is enforced
                example: true
                type: boolean
              maxDistance:
                description: The maximum allowed distance threshold
                example: 900
                format: float64
                type: integer
              maxOffsetAngle:
                description: The maximum angle allowance (in degrees) if enforceOffsetAngleRange is true
                example: 90
                format: int64
                type: integer
              minDistance:
                description: The minumum allowed distance threshold
                example: 1500
                format: float64
                type: integer
              minOffsetAngle:
                description: The minimum angle allowance (in degrees) if enforceOffsetAngleRange is true
                example: 45
                format: int64
                type: integer
              offsetAngleFound:
                description: The counter-clockwise angle (in degrees) found between the horizontal axis of the start reference step and the last
                example: 50
                format: int64
                type: integer
              startStepName:
                description: The name of the first reference step that we're checking the distances between
                example: Top Left Square
                type: string
              unit:
                description: The measurement unit of the distance found and the min and max distance threshold
                example: Millimeters
                type: string
            type: object
          expirationDate:
            properties:
              dateOffset:
                example: 1
                format: int64
                type: integer
              foundDate:
                example: 06/13/2019
                type: string
              matchDate:
                example: 06/13/2019
                type: string
            type: object
          findCopies:
            properties:
              angleTolerance:
                description: The orientation angle tolerance (+/- �)
                example: 10
                format: int64
                type: integer
              foundCount:
                description: The number of copies found
                example: 1
                format: int64
                type: integer
              maxCount:
                description: The maximum number of copies allowed
                example: 5
                format: int64
                type: integer
              minCount:
                description: The minimum number of copies allowed
                example: 1
                format: int64
                type: integer
              threshold:
                description: The minimum required similarity (in %) of a found copy compared to the configured match region
                example: 70
                format: int64
                type: integer
            type: object
          findEdge:
            properties:
              angleFound:
                description: The detected angle in degrees
                example: 90
                format: float64
                type: integer
              angleRange:
                description: The configured angle allowance range
                properties:
                  high:
                    example: 360
                    format: int32
                    type: integer
                  low:
                    example: 0
                    format: int32
                    type: integer
                type: object
              contrastPercent:
                description: The detected contrast percentage
                format: float64
                type: integer
              contrastRange:
                description: The configured contrast allowance range
                properties:
                  high:
                    example: 100
                    format: int64
                    type: integer
                  low:
                    example: 50
                    format: int64
                    type: integer
                type: object
              filterPolarity:
                description: 'The configured polarity for finding edges. Valid values: `LIGHT TO DARK`, `DARK TO LIGHT`.'
                example: ANY
                type: string
              sharpnessPercent:
                description: The detected sharpness percentage
                example: 95
                format: float64
                type: integer
              sharpnessRange:
                description: The configured sharpness allowance range
                properties:
                  high:
                    example: 100
                    format: int64
                    type: integer
                  low:
                    example: 80
                    format: int64
                    type: integer
                type: object
              straightnessFound:
                description: The detected straightness percentage
                example: 95
                format: float64
                type: integer
              straightnessRange:
                description: The configured straightness allowance range
                properties:
                  high:
                    example: 100
                    format: int32
                    type: integer
                  low:
                    example: 80
                    format: int32
                    type: integer
                type: object
            type: object
          findShapes:
            properties:
              foundCount:
                example: 1
                format: int32
                type: integer
              maxCount:
                example: 5
                format: int32
                type: integer
              minCount:
                example: 1
                format: int32
                type: integer
            type: object
          fixture:
            properties:
              coordinates:
                properties:
                  x:
                    example: 10
                    format: int32
                    type: integer
                  y:
                    example: 10
                    format: int32
                    type: integer
                type: object
              found:
                example: true
                type: boolean
              rotationDegrees:
                example: 90
                format: int64
                type: integer
            type: object
          labelMatch:
            properties:
              score:
                example: 10
                format: int64
                type: integer
              threshold:
                example: 10
                format: int64
                type: integer
            type: object
          name:
            example: Chicken Caesar Label
            type: string
          presenceAbsence:
            properties:
              blueRange:
                properties:
                  high:
                    example: 150
                    format: int64
                    type: integer
                  low:
                    example: 90
                    format: int64
                    type: integer
                type: object
              checkForAbsence:
                example: true
                type: boolean
              grayscaleRange:
                properties:
                  high:
                    example: 100
                    format: int64
                    type: integer
                  low:
                    example: 20
                    format: int64
                    type: integer
                type: object
              greenRange:
                properties:
                  high:
                    example: 150
                    format: int64
                    type: integer
                  low:
                    example: 90
                    format: int64
                    type: integer
                type: object
              hueRange:
                properties:
                  high:
                    example: 100
                    format: int64
                    type: integer
                  low:
                    example: 20
                    format: int64
                    type: integer
                type: object
              redRange:
                properties:
                  high:
                    example: 150
                    format: int64
                    type: integer
                  low:
                    example: 90
                    format: int64
                    type: integer
                type: object
              saturationRange:
                properties:
                  high:
                    example: 50
                    format: int64
                    type: integer
                  low:
                    example: 10
                    format: int64
                    type: integer
                type: object
              score:
                example: 50
                format: int64
                type: integer
              threshold:
                example: 50
                format: int64
                type: integer
              valueRange:
                properties:
                  high:
                    example: 50
                    format: int64
                    type: integer
                  low:
                    example: 10
                    format: int64
                    type: integer
                type: object
            type: object
          result:
            example: PASS
            type: string
          textMatch:
            properties:
              foundText:
                example: ABCD
                type: string
              matchString:
                example: ABCD
                type: string
            type: object
        type: object
      type: array
    V1ErrorResponse:
      description: Error message describing why the request failed.
      type: string
    V1VisionRunsByCameraResponse:
      items:
        properties:
          deviceId:
            example: 1234512345123
            format: int64
            type: integer
          endedAtMs:
            example: 0
            format: int64
            type: integer
          program:
            properties:
              id:
                example: 1
                format: int64
                type: integer
              name:
                example: Barcode verification program
                type: string
            type: object
          reportMetadata:
            properties:
              itemsPerMinute:
                example: 0.1
                format: float64
                type: number
              noReadCount:
                example: 0
                format: int64
                type: integer
              rejectCount:
                example: 0
                format: int64
                type: integer
              successCount:
                example: 181
                format: int64
                type: integer
            type: object
          startedAtMs:
            example: 1553808606097
            format: int64
            type: integer
        type: object
      type: array
    V1ProgramsForTheCameraResponse:
      description: Contains the list of Programs configured on the given Camera.
      items:
        properties:
          programId:
            example: 1
            format: int64
            type: integer
          programName:
            example: Barcode verification program
            type: string
        type: object
      type: array
    V1VisionRunByCameraResponse_program:
      properties:
        id:
          example: 1
          format: int64
          type: integer
        name:
          example: Barcode verification program
          type: string
      type: object
    V1VisionRunByCameraResponse_runSummary:
      properties:
        itemsPerMinute:
          example: 0.1
          format: float64
          type: number
        noReadCount:
          example: 0
          format: int64
          type: integer
        rejectCount:
          example: 0
          format: int64
          type: integer
        successCount:
          example: 181
          format: int64
          type: integer
      type: object
    V1VisionRunByCameraResponse:
      properties:
        cameraId:
          example: 1234512345123
          format: int64
          type: integer
        endedAtMs:
          example: 0
          format: int64
          type: integer
        inspectionResults:
          items:
            $ref: '#/components/schemas/V1VisionRunByCameraResponse_inspectionResults'
          type: array
        isOngoing:
          example: true
          type: boolean
        program:
          $ref: '#/components/schemas/V1VisionRunByCameraResponse_program'
        runSummary:
          $ref: '#/components/schemas/V1VisionRunByCameraResponse_runSummary'
        startedAtMs:
          example: 1553808606097
          format: int64
          type: integer
      type: object
    V1VisionRunsByCameraAndProgramResponse:
      properties:
        deviceId:
          example: 1234512345123
          format: int64
          type: integer
        endedAtMs:
          example: 0
          format: int64
          type: integer
        programId:
          example: 1
          format: int64
          type: integer
        reportMetadata:
          $ref: '#/components/schemas/V1VisionRunByCameraResponse_runSummary'
        results:
          items:
            $ref: '#/components/schemas/V1VisionRunByCameraResponse_inspectionResults'
          type: array
        startedAtMs:
          example: 1553808606097
          format: int64
          type: integer
      type: object
    V1VisionRunByCameraResponse_inspectionResults:
      properties:
        captureAtMs:
          example: 1553811994730
          format: float64
          type: number
        result:
          example: PASS
          type: string
        stepResults:
          $ref: '#/components/schemas/V1VisionStepResults'
      type: object
  securitySchemes:
    AccessTokenHeader:
      type: http
      scheme: bearer
x-original-swagger-version: '2.0'
x-readme:
  explorer-enabled: true
  proxy-enabled: true