PlanRadar Site View API

Manage site view runs, points, and attachments

Operations 17

GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/runs Retrieve all runs
POST /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/runs Create Run
GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/runs/{id} Retrieve run
DELETE /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/runs/{id} Deletes specific run
PUT /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/runs/{id} Updates specific run
GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/points Retrieve all points
GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/points/{id} Retrieve one point
GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/points/{point_id}/point_history Retrieve point history
GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments Retrieve all runs attachments
POST /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments Create Run attachments
GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments/{id} Retrieve Runs Attachments
PUT /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments/{id} Updates specific run attachment
DELETE /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments/{id} Deletes specific run attachment
GET /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments/highlight_points Retrieve all point ids that have attachments
GET /api/v2/{customer_id}/site_view_licenses_info Retrieve Site View licenses info
POST /api/v2/{customer_id}/site_view_access_request request site view access
GET /api/v2/{customer_id}/get_site_view_access_status Retrieve Site View Access Status

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/planradar-site-view-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

planradar-site-view-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PlanRadar's API Documentation Approval Requests V2 Site View API
  version: '2.0'
  description: "Welcome to PlanRadar's API documentation, here you can find all the details about our APIs as well as test them online.<br />\n        <h5>Rate Limits</h5>30 requests per minute per account, aggregated across all tokens.<br />\n        If the threshold is exceeded, a 5-minute cooldown is applied to the account, aggregated across all tokens.<br />\n        During the cooldown period, further requests may be rejected until the cooldown ends.<br />\n        In rare cases, an endpoint may have a different rate limit than the default. When that happens, the differing limit will be explicitly stated in the API documentation for that endpoint.<br />\n        <h5>Access Key</h5>In order to be able to access any API you have to create an access token.Therefore you have to follow these steps:-\n        <ul>\n          <li>Go to your profile page and click on Personal Access Tokens on the left side bar</li><li>Click on the 'Create Access Token' top right button in order to create a new access token.</li><li>Copy the created token and paste it into the field that pops up when you click on the 'Authorize' button </li><li>Note: you can copy the token only once.</li><li>Now you can easily access any API</li>\n        </ul>\n        <h5>V2 APIs</h5>We are currently working on upgrading all our APIs to v2, and we recommend that you use v2 APIs if it is available.\n        <p>V2 APIs are faster, robust and more flexible than v1 APIs</p>"
servers:
- url: /
tags:
- name: Site View
  description: Manage site view runs, points, and attachments
paths:
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/runs:
    get:
      summary: Retrieve all runs
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: filter[name]
        in: query
        schema:
          type: string
      - name: filter[path]
        in: query
        schema:
          type: string
      - name: filter[resolution]
        in: query
        schema:
          type: string
      - name: filter[fps]
        in: query
        schema:
          type: string
      - name: filter[state]
        in: query
        description: 'Available values : queued, running, success, failed, bad'
        schema:
          type: string
      - name: filter[stage]
        in: query
        schema:
          type: string
      - name: filter[meta]
        in: query
        schema:
          type: string
      - name: filter[start_point]
        in: query
        schema:
          type: string
      - name: filter[start_ts]
        in: query
        schema:
          type: string
      - name: filter[start_angle_rad]
        in: query
        schema:
          type: string
      - name: filter[id]
        in: query
        schema:
          type: string
      - name: filter[is_valid]
        in: query
        schema:
          type: boolean
      - name: filter[is_outdoor]
        in: query
        schema:
          type: boolean
      - name: last_sync_date
        in: query
        schema:
          type: string
      - name: include
        in: query
        example: layer,trajectories
        description: "\n      Available includes:\n      * layer\n      * trajectories"
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: pagesize
        in: query
        description: Maximum is 500, default is 100
        schema:
          type: integer
      - name: sort
        in: query
        description: 'Example: `name` is name ascending `-name` is name decending'
        schema:
          type: string
      responses:
        '404':
          description: Runs Not Found
    post:
      summary: 'Create Run '
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Component Not found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data[attributes][name]:
                  type: string
                  description: is required
                data[attributes][path]:
                  type: string
                data[attributes][resolution]:
                  type: array
                  items:
                    type: number
                data[attributes][start_point]:
                  type: array
                  items:
                    type: number
                  description: is required
                data[attributes][fps]:
                  type: number
                data[attributes][is_outdoor]:
                  type: boolean
                data[attributes][is_single_frame]:
                  type: boolean
                data[attributes][video_duration]:
                  type: number
                data[attributes][telemetry_file]:
                  type: string
                  format: binary
                data[attributes][site_view_image]:
                  type: string
                  format: binary
                data[attributes][mobile_meta_info]:
                  type: string
                  description: is not required
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/runs/{id}:
    get:
      summary: Retrieve run
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: include
        in: query
        example: layer,trajectories
        description: "\n      Available includes:\n        layer\n        trajectories"
        schema:
          type: string
      responses:
        '404':
          description: Run Not Found
    delete:
      summary: Deletes specific run
      tags:
      - Site View
      description: This API is used for deleting a specific run based on its uuid.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Run Not Found
    put:
      summary: Updates specific run
      tags:
      - Site View
      description: This API is used for updating a specific run based on its uuid.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Run Not Found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        name:
                          type: string
                        start_point:
                          type: array
                          items:
                            type: number
                          default:
                          - 0.1
                          - 0.2
                        is_valid:
                          type: boolean
                        is_outdoor:
                          type: boolean
                        is_single_frame:
                          type: boolean
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/points:
    get:
      summary: Retrieve all points
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: filter[trajectory_id]
        in: query
        schema:
          type: string
      - name: filter[traj_type]
        in: query
        schema:
          type: string
      - name: filter[x]
        in: query
        schema:
          type: string
      - name: filter[y]
        in: query
        schema:
          type: string
      - name: filter[angle_rad]
        in: query
        schema:
          type: string
      - name: filter[idx]
        in: query
        schema:
          type: string
      - name: filter[id]
        in: query
        schema:
          type: string
      - name: filter[capture_id]
        in: query
        schema:
          type: string
      - name: filter[single_frame_date_group]
        in: query
        schema:
          type: string
      - name: filter[capture_name]
        in: query
        schema:
          type: string
      - name: filter[created_at]
        in: query
        schema:
          type: string
      - name: filter[updated_at]
        in: query
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: pagesize
        in: query
        description: Maximum is 500, default is 100
        schema:
          type: integer
      - name: sort
        in: query
        description: 'Example: `name` is name ascending `-name` is name decending'
        schema:
          type: string
      responses:
        '404':
          description: Points Not Found
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/points/{id}:
    get:
      summary: Retrieve one point
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: include
        in: query
        example: timecell,trajectory
        description: "\n      Available includes:\n        timecell\n        trajectory"
        schema:
          type: string
      responses:
        '404':
          description: Point Not Found
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/points/{point_id}/point_history:
    get:
      summary: Retrieve point history
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: point_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Points Not Found
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments:
    get:
      summary: Retrieve all runs attachments
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: run_id
        in: query
        schema:
          type: string
      - name: trajectory_id
        in: query
        schema:
          type: string
      - name: point_id
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: pagesize
        in: query
        description: Maximum is 500, default is 100
        schema:
          type: integer
      - name: sort
        in: query
        description: 'Example: `name` is name ascending `-name` is name decending'
        schema:
          type: string
      responses:
        '404':
          description: Runs Not Found
    post:
      summary: Create Run attachments
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      x-websocket-response:
        description: Broadcast when attachable_type is Ticket. Sends the generated 360° thumbnail image URL.
        channel: customer_{customerId}
        message_type: ticket_360_thumbnail
        payload:
          type: object
          properties:
            ticket_image_360:
              type: string
              description: Presigned URL of the generated 360° thumbnail (small size)
            ticket_uuid:
              type: string
              description: UUID of the ticket associated with the attachment
          example:
            ticket_image_360: https://s3.eu-central-1.amazonaws.com/bucket/ticket_360_thumb.jpg?X-Amz-Signature=...
            ticket_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '404':
          description: Component Not found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        run_id:
                          type: string
                        trajectory_id:
                          type: string
                        point_id:
                          type: string
                        attachable_type:
                          type: string
                        attachable_id:
                          type: string
                        position_2d:
                          type: object
                          example:
                            plan_x: 0.1
                            plan_y: 0.2
                        position_3d:
                          type: object
                          example:
                            yaw: 0.1
                            pitch: 0.2
                        angle_2d:
                          type: number
                        metadata:
                          type: object
                      required:
                      - run_id
                      - trajectory_id
                      - point_id
                      - attachable_type
                      - attachable_id
                      - position_3d
                      - angle_2d
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments/{id}:
    get:
      summary: Retrieve Runs Attachments
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Run Not Found
    put:
      summary: Updates specific run attachment
      tags:
      - Site View
      description: This API is used for updating a specific run attachment based on its id.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      x-websocket-response:
        description: Broadcast when attachable_type is Ticket and position_3d is updated. Sends the regenerated 360° thumbnail image URL.
        channel: customer_{customerId}
        message_type: ticket_360_thumbnail
        payload:
          type: object
          properties:
            ticket_image_360:
              type: string
              description: Presigned URL of the regenerated 360° thumbnail (small size)
            ticket_uuid:
              type: string
              description: UUID of the ticket associated with the attachment
          example:
            ticket_image_360: https://s3.eu-central-1.amazonaws.com/bucket/ticket_360_thumb.jpg?X-Amz-Signature=...
            ticket_uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '404':
          description: Run attachment Not Found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        position_3d:
                          type: object
                        angle_2d:
                          type: number
    delete:
      summary: Deletes specific run attachment
      tags:
      - Site View
      description: This API is used for deleting a specific run attachments based on its id.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Run Attachments Not Found
  /api/v2/{customer_id}/projects/{project_id}/components/{component_id}/site_view/attachments/highlight_points:
    get:
      summary: Retrieve all point ids that have attachments
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: run_id
        in: query
        schema:
          type: string
      responses:
        '404':
          description: Point IDs Not Found
  /api/v2/{customer_id}/site_view_licenses_info:
    get:
      summary: Retrieve Site View licenses info
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Licenses info Not Found
  /api/v2/{customer_id}/site_view_access_request:
    post:
      summary: request site view access
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: site view access request Not found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        status:
                          type: integer
  /api/v2/{customer_id}/get_site_view_access_status:
    get:
      summary: Retrieve Site View Access Status
      tags:
      - Site View
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Access Status Not Found
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: X-PlanRadar-API-Key
      in: header
externalDocs:
  description: Find out more about our development portal
  url: https://www.planradar.com/knowledge-base-overview/