Teledyne FLIR Camera REST API

Teledyne FLIR provides REST API access for automation cameras (A50/A70, A400/A500/A700, Ax8 series). The API enables retrieval of thermal images, region of interest (ROI) data, alarm data, and camera configuration. Endpoints return radiometric JPEG images and JSON data for temperature measurements across spots, boxes, lines, polylines, and delta measurements. Used for industrial process monitoring, building inspection, and predictive maintenance applications. A Swagger/OpenAPI JSON specification is available from the camera's local web server.

OpenAPI Specification

teledyne-flir-camera-rest-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Teledyne FLIR Camera REST API
  description: >-
    The Teledyne FLIR Camera REST API provides programmatic access to FLIR
    automation cameras (A50/A70, A400/A500/A700, Ax8 series) for retrieving
    thermal images, temperature measurements, region of interest (ROI) data,
    alarm states, and camera configuration. The API is accessed directly on
    the camera's local IP address. Supports industrial process monitoring,
    predictive maintenance, building inspection, and automated quality control.
  version: 1.0.0
  contact:
    url: https://www.flir.com/support-center/Instruments/restful-api-exercise/
  license:
    name: Proprietary
    url: https://www.flir.com/
servers:
  - url: http://{cameraIp}/api
    description: FLIR Camera REST API (local network access)
    variables:
      cameraIp:
        default: 192.168.0.100
        description: IP address of the FLIR automation camera on the local network.
paths:
  /image/current:
    get:
      operationId: getCurrentImage
      summary: Get Current Image
      description: Retrieve the current thermal image from the camera in the specified format.
      tags:
        - Images
      parameters:
        - name: imgformat
          in: query
          description: Image format to return.
          required: false
          schema:
            type: string
            enum:
              - JPEG
              - RJPEG
              - FLAME
              - VISIBLE
              - FUSION
            default: JPEG
        - name: width
          in: query
          description: Output image width in pixels.
          required: false
          schema:
            type: integer
        - name: height
          in: query
          description: Output image height in pixels.
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Current camera image.
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
        '404':
          description: Camera not accessible.
  /spot/{instance}.json:
    get:
      operationId: getSpotMeasurement
      summary: Get Spot Measurement
      description: Retrieve temperature measurement data for a specific spot ROI instance.
      tags:
        - Measurements
      parameters:
        - name: instance
          in: path
          description: Spot ROI instance number (1-indexed).
          required: true
          schema:
            type: integer
            minimum: 1
        - name: pretty
          in: query
          description: Format JSON response with indentation.
          required: false
          schema:
            type: boolean
        - name: tempUnit
          in: query
          description: Temperature unit for readings.
          required: false
          schema:
            type: string
            enum:
              - C
              - F
              - K
            default: C
      responses:
        '200':
          description: Spot temperature measurement data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpotMeasurement'
  /box/{instance}.json:
    get:
      operationId: getBoxMeasurement
      summary: Get Box Measurement
      description: Retrieve temperature statistics for a rectangular region of interest.
      tags:
        - Measurements
      parameters:
        - name: instance
          in: path
          description: Box ROI instance number.
          required: true
          schema:
            type: integer
            minimum: 1
        - name: tempUnit
          in: query
          description: Temperature unit.
          required: false
          schema:
            type: string
            enum:
              - C
              - F
              - K
            default: C
      responses:
        '200':
          description: Box region of interest temperature statistics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxMeasurement'
  /line/{instance}.json:
    get:
      operationId: getLineMeasurement
      summary: Get Line Measurement
      description: Retrieve temperature measurements along a line ROI.
      tags:
        - Measurements
      parameters:
        - name: instance
          in: path
          description: Line ROI instance number.
          required: true
          schema:
            type: integer
            minimum: 1
        - name: tempUnit
          in: query
          required: false
          schema:
            type: string
            enum:
              - C
              - F
              - K
            default: C
      responses:
        '200':
          description: Line region of interest temperature profile.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineMeasurement'
  /alarms:
    get:
      operationId: getAllAlarms
      summary: Get All Alarms
      description: Retrieve the current state of all configured alarm conditions on the camera.
      tags:
        - Alarms
      parameters:
        - name: pretty
          in: query
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: All camera alarm states.
          content:
            application/json:
              schema:
                type: object
                properties:
                  alarms:
                    type: array
                    items:
                      $ref: '#/components/schemas/Alarm'
  /alarm/{instance}.json:
    get:
      operationId: getAlarm
      summary: Get Alarm
      description: Retrieve the state of a specific alarm instance.
      tags:
        - Alarms
      parameters:
        - name: instance
          in: path
          description: Alarm instance number.
          required: true
          schema:
            type: integer
            minimum: 1
      responses:
        '200':
          description: Alarm state data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alarm'
  /tempsensor/{instance}.json:
    get:
      operationId: getTemperatureSensor
      summary: Get Temperature Sensor
      description: Retrieve data from an internal temperature sensor instance.
      tags:
        - Measurements
      parameters:
        - name: instance
          in: path
          description: Temperature sensor instance number.
          required: true
          schema:
            type: integer
            minimum: 1
        - name: tempUnit
          in: query
          required: false
          schema:
            type: string
            enum:
              - C
              - F
              - K
            default: C
      responses:
        '200':
          description: Temperature sensor data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemperatureSensor'
components:
  schemas:
    SpotMeasurement:
      type: object
      description: Temperature measurement data for a spot ROI.
      properties:
        name:
          type: string
          description: Spot ROI name.
        temperature:
          type: number
          format: double
          description: Temperature at the spot location.
        unit:
          type: string
          description: Temperature unit (C, F, or K).
        x:
          type: integer
          description: X coordinate of the spot in the image.
        y:
          type: integer
          description: Y coordinate of the spot in the image.
        timestamp:
          type: string
          format: date-time
          description: Measurement timestamp.
    BoxMeasurement:
      type: object
      description: Temperature statistics for a rectangular region of interest.
      properties:
        name:
          type: string
          description: Box ROI name.
        max:
          type: number
          format: double
          description: Maximum temperature in the box region.
        min:
          type: number
          format: double
          description: Minimum temperature in the box region.
        avg:
          type: number
          format: double
          description: Average temperature in the box region.
        unit:
          type: string
          description: Temperature unit (C, F, or K).
        area:
          type: object
          description: Box coordinates in the image.
          properties:
            x:
              type: integer
            y:
              type: integer
            width:
              type: integer
            height:
              type: integer
        timestamp:
          type: string
          format: date-time
    LineMeasurement:
      type: object
      description: Temperature profile along a line ROI.
      properties:
        name:
          type: string
          description: Line ROI name.
        max:
          type: number
          format: double
          description: Maximum temperature along the line.
        min:
          type: number
          format: double
          description: Minimum temperature along the line.
        avg:
          type: number
          format: double
          description: Average temperature along the line.
        unit:
          type: string
        points:
          type: array
          description: Temperature values at each point along the line.
          items:
            type: number
            format: double
        timestamp:
          type: string
          format: date-time
    Alarm:
      type: object
      description: A configured alarm condition on the FLIR camera.
      properties:
        instance:
          type: integer
          description: Alarm instance number.
        name:
          type: string
          description: Alarm name.
        state:
          type: string
          description: Current alarm state.
          enum:
            - active
            - inactive
            - acknowledged
        triggered:
          type: boolean
          description: Whether the alarm condition is currently triggered.
        threshold:
          type: number
          format: double
          description: Temperature threshold that triggers the alarm.
        unit:
          type: string
          description: Temperature unit.
        associatedROI:
          type: string
          description: The ROI associated with this alarm.
    TemperatureSensor:
      type: object
      description: Internal temperature sensor data.
      properties:
        instance:
          type: integer
        name:
          type: string
        temperature:
          type: number
          format: double
        unit:
          type: string
        timestamp:
          type: string
          format: date-time