Scan Reports APIs

This section describes the APIs used by the App flow. These endpoints allow clients to: Check the processing status of one or more scans. Fetch on-demand analytical reports for a given scan.

1. Fetch Scan Statuses

Endpoint

POST /mobilesdkapi/facing/scan-statuses

Description

Returns the current processing status and metadata for one or more scans. This is typically used to show whether a scan is still in progress, completed, or failed, and to expose basic capture metadata.

Authentication

This endpoint requires a valid access token.

Headers:

x-pensa-access-token: <access_token>
X-Cognito-Username: <app_username>

Request

Request body

{
  "scan_ids": [1234, 5678]
}
  • scan_ids (array, required): List of scan IDs whose status you want to query.

Response

Success response (200)

{
  "data": [
    {
      "capture_type": "IMAGE",
      "created": "2025-10-07T09:09:31.650788",
      "fast_status": "IN_PROGRESS",
      "frame_height": 1080,
      "frame_width": 1920,
      "has_out_of_service_segment": false,
      "id": 1234,
      "image_capture_quality": "UNIFORM",
      "publish": true,
      "scan_area_id": 9876,
      "scan_metadata": {
        "application_id": null,
        "device_network_name": null,
        "device_network_type": null,
        "focal_length": null,
        "frame_capture_rate": 1.5,
        "guid": "n8s2-9c0b-4ef8-bb6d-6bb9bd380a22",
        "ignore_late_upload": false,
        "image_height": null,
        "image_width": null,
        "lens_distortion": null,
        "lens_intrinsic_calibration": null,
        "mobile_capture_completed": null,
        "odr_status": null,
        "pause_list": null,
        "pipeline_name": null,
        "sensor_physical_width_height": null,
        "server_upload_started": "2025-10-07T09:09:31.543316"
      },
      "scan_timestamp": "2025-10-04T11:16:36",
      "scanner_id": 3,
      "shelf_scan_period_id": 24380,
      "status": "IN_PROGRESS"
    },
    {
      "capture_type": "IMAGE",
      "created": "2025-10-09T11:20:49.901847",
      "fast_status": "IN_PROGRESS",
      "frame_height": 1080,
      "frame_width": 1920,
      "has_out_of_service_segment": false,
      "id": 5678,
      "image_capture_quality": "UNIFORM",
      "publish": true,
      "scan_area_id": 5432
      "scan_metadata": {
        "application_id": null,
        "device_network_name": null,
        "device_network_type": null,
        "focal_length": null,
        "frame_capture_rate": 1.5,
        "guid": "846ebc9-9c0b-4ef8-bb6d-6bb9bd380a22",
        "ignore_late_upload": false,
        "image_height": null,
        "image_width": null,
        "lens_distortion": null,
        "lens_intrinsic_calibration": null,
        "mobile_capture_completed": null,
        "odr_status": null,
        "pause_list": null,
        "pipeline_name": null,
        "sensor_physical_width_height": null,
        "server_upload_started": "2025-10-09T11:20:49.886430"
      },
      "scan_timestamp": "2025-10-04T11:16:36",
      "scanner_id": 3,
      "shelf_scan_period_id": 25723,
      "status": "IN_PROGRESS"
    }
  ]
}

Field reference

Top-level

  • data (array): List of scan status items.

ScanStatusItem fields

  • id (int): Scan ID.

  • scan_area_id (int): ID of the scan area associated with this scan.

  • status (string): Current status of the scan (for example, IN_PROGRESS, COMPLETE).

  • fast_status (string): Overall processing status of the scan (for example, IN_PROGRESS, COMPLETE) after all pipeline steps are considered.

  • scan_timestamp (string): Timestamp when the scan was captured.

  • created (string): Timestamp when the record was created.

  • capture_type (string): Capture type (for example, IMAGE).

  • frame_height (int): Frame height in pixels.

  • frame_width (int): Frame width in pixels.

  • has_out_of_service_segment (boolean): Indicates if the scan has an out-of-service segment.

  • image_capture_quality (string): Capture quality classification.

  • publish (boolean)

  • scanner_id (int): Identifier of the scanner device.

  • shelf_scan_period_id (int): Identifier of the shelf scan period.

  • scan_metadata (object): Additional capture metadata (see below).

ScanMetadata fields

  • application_id (string)

  • device_network_name (string)

  • device_network_type (string)

  • focal_length (number)

  • frame_capture_rate (number)

  • guid (string)

  • ignore_late_upload (boolean)

  • image_height (int)

  • image_width (int)

  • lens_distortion (array)

  • lens_intrinsic_calibration (array)

  • mobile_capture_completed (string)

  • odr_status (string)

  • pause_list (array)

  • pipeline_name (string)

  • sensor_physical_width_height (array)

  • server_upload_started (string)


2. Fetch On-Demand Reports

Endpoint

POST /mobilesdkapi/facing/reports-on-demand

Description

Returns on-demand analytical reports for a given scan.

Authentication

This endpoint also requires a valid access token.

Headers:

x-pensa-access-token: <access_token>
X-Cognito-Username: <app_username>

Request

Request body

{
  "scan_id": 1234,
  "report_types": ["ITEMS_SEEN", "OOS"]
}
  • scan_id (int, required): ID of the scan you want to fetch reports for.

  • report_types (array, required): List of report types to return.

    • "ITEM_SEEN"

    • "OOS"

Response

Success response (200)

A simplified example response:

{
  "data": {
    "ITEMS_SEEN": {
      "project_report_name": "SF Item seen report",
      "project_report_id": 456,
      "project_name": "Sample Project",
      "project_id": 999,
      "scan_id": 1234,
      "report": {
        "product_list": [
          {
            "brand": "Brand A",
            "brand_id": 10,
            "category": "Beverages",
            "category_id": 20,
            "manufacturer": "Manufacturer X",
            "manufacturer_id": 30,
            "product": "Product A 1L",
            "product_id": 1001,
            "upc": "1234567890123"
          },
          {
            "brand": "Brand B",
            "brand_id": 19,
            "category": "Snacks",
            "category_id": 29,
            "manufacturer": "Manufacturer Y",
            "manufacturer_id": 39,
            "product": "Product B Chips",
            "product_id": 1002,
            "upc": "2345678901234"
          }
        ]
      }
    }
  }
}

Field reference

Top-level

  • data (object): Map of report type

Report wrapper

  • project_report_name (string): Readable report name.

  • project_report_id (int): Internal identifier of the report definition.

  • project_name (string): Name of the project associated with the scan.

  • project_id (int): Project identifier.

  • scan_id (int): Scan identifier the report belongs to.

  • report (object): Report payload.

report.product_list[] items

Each element describes a product observed in the scan.

  • brand (string)

  • brand_id (int)

  • category (string)

  • category_id (int)

  • manufacturer (string)

  • manufacturer_id (int)

  • product (string)

  • product_id (int)

  • upc (string)

Last updated

Was this helpful?