> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.rhombus.community/llms.txt
> Use this file to discover all available pages before exploring further.

# Get exact frame URI

> Generate URL to get an exact frame with optional crop from a camera. The URL is served by the media relay the camera is connected to right now, so use it promptly. The response always has HTTP status 200; check the status field, and only treat the frame as retrievable when it is AVAILABLE.



## OpenAPI

````yaml https://api2.rhombussystems.com/api/openapi/public.json post /api/video/getExactFrameUri
openapi: 3.0.1
info:
  contact:
    email: developer@rhombussystems.com
  description: >-
    This API is for use by Rhombus customers and partners.


    ## Authentication


    All requests require two headers:

    - `x-auth-scheme` — The authentication scheme identifier. Use `api-token`
    for standard API key auth, or `partner-api-token` for partner API auth.

    - `x-auth-apikey` — Your Rhombus API key.


    Example:

    ```

    POST /api/camera/getMinimalCameraStateList

    x-auth-scheme: api-token

    x-auth-apikey: YOUR_API_KEY

    Content-Type: application/json

    ```
  title: Rhombus API
  version: '1.0'
servers:
  - description: Production Server
    url: https://api2.rhombussystems.com
security:
  - ApiKeyAuth: []
paths:
  /api/video/getExactFrameUri:
    post:
      tags:
        - Video Webservice
      summary: Get exact frame URI
      description: >-
        Generate URL to get an exact frame with optional crop from a camera. The
        URL is served by the media relay the camera is connected to right now,
        so use it promptly. The response always has HTTP status 200; check the
        status field, and only treat the frame as retrievable when it is
        AVAILABLE.
      operationId: getExactFrameUri
      parameters:
        - description: >-
            Authentication scheme identifier. Use `api-token` for standard API
            key authentication, `partner-api-token` for partner API key
            authentication. Must be paired with the `x-auth-apikey` header
            containing your API key.
          example: api-token
          in: header
          name: x-auth-scheme
          required: true
          schema:
            type: string
            default: api-token
            enum:
              - api-token
              - api
              - partner-api-token
              - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Video_GetExactFrameUriWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Video_GetExactFrameUriWSResponse'
          description: OK
components:
  schemas:
    Video_GetExactFrameUriWSRequest:
      type: object
      description: >-
        Request object for generating URL to get an exact frame with optional
        crop from a camera.
      properties:
        cameraUuid:
          type: string
          format: DeviceFacetUuid
          description: RUUID with optional appended facet information
          example: AAAAAAAAAAAAAAAAAAAAAA.v0
          nullable: true
        downscaleFactor:
          type: integer
          format: int32
          description: Ratio to shrink the image pixels by
          minimum: 1
          nullable: true
        jpgQuality:
          type: integer
          format: int32
          description: Adjust quality of image compression
          maximum: 100
          minimum: 0
          nullable: true
        permyriadCropHeight:
          type: integer
          format: int32
          description: >-
            Precise ratio to crop the height by. Capped at 10000, which is
            100.00% of the image
          maximum: 10000
          minimum: 0
          nullable: true
        permyriadCropWidth:
          type: integer
          format: int32
          description: >-
            Precise ratio to crop the width by. Capped at 10000, which is
            100.00% of the image
          maximum: 10000
          minimum: 0
          nullable: true
        permyriadCropX:
          type: integer
          format: int32
          description: >-
            Proportional location to start horizontal crop at. Where 10000 is
            100.00% of, or the end of the image
          maximum: 10000
          minimum: 0
          nullable: true
        permyriadCropY:
          type: integer
          format: int32
          description: >-
            Proportional location to start vertical crop at. Where 10000 is
            100.00% of, or the end of the image
          maximum: 10000
          minimum: 0
          nullable: true
        timestampMs:
          type: integer
          format: int64
          description: Timestamp in epoch milliseconds
          nullable: true
      required:
        - cameraUuid
        - timestampMs
    Video_GetExactFrameUriWSResponse:
      type: object
      description: Response object containing the exact frame URI.
      properties:
        error:
          type: boolean
          nullable: true
        errorMsg:
          type: string
          nullable: true
        frameUri:
          type: string
          description: URI to access the exact frame
          example: https://example.com/frame/12345.jpg
          nullable: true
        responseMessage:
          type: string
          description: Response message from the frame generation
          example: Frame generated successfully
          nullable: true
        status:
          $ref: '#/components/schemas/Video_ExactFrameAvailabilityWSStatus'
        warningMsg:
          type: string
          nullable: true
    Video_ExactFrameAvailabilityWSStatus:
      type: string
      description: >-
        Outcome of an exact frame request. AVAILABLE is the only value under
        which a frame URI or frame data is returned; every other value explains
        why the frame cannot be served.
      enum:
        - AVAILABLE
        - FUTURE_TIMESTAMP
        - CAMERA_DELETED
        - CAMERA_STATE_UNAVAILABLE
        - CAMERA_NOT_CONNECTED
        - MEDIA_STORAGE_DEVICE_NOT_CONNECTED
        - NOT_RECORDING_AT_TIMESTAMP
        - NO_FOOTAGE_AT_TIMESTAMP
        - MEDIA_ADDRESS_UNAVAILABLE
        - FRAME_RETRIEVAL_FAILED
  securitySchemes:
    ApiKeyAuth:
      description: >-
        Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header
        set to `api-token` (or `partner-api-token` for partner endpoints).
      in: header
      name: x-auth-apikey
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.