Reonic Photogrammetry API

3D reconstruction jobs built from uploaded site imagery. > [!warning] > **Beta:** These endpoints are in beta and may change as the service evolves. Please report issues or unexpected behavior to our team.

Operations 6

GET /photogrammetry/jobs List photogrammetry jobs #
GET /photogrammetry/jobs/{jobId} Get photogrammetry job #
POST /photogrammetry/jobs/create Create photogrammetry job #
POST /photogrammetry/jobs/{jobId}/update Update photogrammetry job #
POST /photogrammetry/jobs/{jobId}/assets/add Add assets to photogrammetry job #
POST /photogrammetry/jobs/{jobId}/assets/delete Delete assets from photogrammetry job #

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/reonic-photogrammetry-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

reonic-photogrammetry-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reonic REST Api v3 Photogrammetry API
  description: The Reonic REST API v3 provides programmatic access to create and manage resources.
  version: 3.2.0
  contact:
    email: kontakt@reonic.de
    url: https://reonic.com
    name: Reonic GmbH
servers:
- url: '{apiBaseUrl}/rest/v3/'
security:
- X-Authorization: []
tags:
- name: Photogrammetry
  description: '3D reconstruction jobs built from uploaded site imagery.


    > [!warning]

    > **Beta:** These endpoints are in beta and may change as the service evolves. Please report issues or unexpected behavior to our team.'
  x-displayName: Photogrammetry (BETA)
paths:
  /photogrammetry/jobs:
    get:
      summary: List photogrammetry jobs
      description: 'List photogrammetry jobs visible to the caller, with optional filters. Page size is fixed at 20.


        **Allowed API keys:** Read-only, Read and Write'
      tags:
      - Photogrammetry
      x-badges:
      - name: BETA
        position: before
        color: '#ea580c'
      parameters:
      - schema:
          type: integer
          minimum: 1
          default: 1
          description: 'Page number, starting from 1. Default: 1.'
        required: false
        description: 'Page number, starting from 1. Default: 1.'
        name: page
        in: query
      - schema:
          type: string
          maxLength: 200
        required: false
        name: search
        in: query
      - schema:
          type:
          - boolean
          - 'null'
        required: false
        name: archived
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - notStarted
            - running
            - preRenderCompleted
            - completed
            - failed
          description: 'Comma-separated list or repeated query param. Allowed values: notStarted, running, preRenderCompleted, completed, failed.'
        required: false
        description: 'Comma-separated list or repeated query param. Allowed values: notStarted, running, preRenderCompleted, completed, failed.'
        style: form
        explode: false
        name: status
        in: query
      - schema:
          type: string
          example: no-cache
        required: false
        name: Reonic-Cache-Control
        in: header
        description: Set to 'no-cache' to bypass the 1-hour response cache and force a fresh read. The fresh response is then written back to the cache for subsequent callers. Forced refreshes count against the uncached rate-limit bucket (30/min); only cache hits count against the cached bucket (500/min).
      responses:
        '200':
          description: Paginated list of photogrammetry jobs
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        name:
                          type:
                          - string
                          - 'null'
                        status:
                          type: string
                          enum:
                          - notStarted
                          - running
                          - preRenderCompleted
                          - completed
                          - failed
                        gltfFileUrl:
                          type:
                          - string
                          - 'null'
                        orthophotoFileUrl:
                          type:
                          - string
                          - 'null'
                        coordinateFileUrl:
                          type:
                          - string
                          - 'null'
                        createdAt:
                          type: string
                        createdById:
                          type:
                          - string
                          - 'null'
                          format: uuid
                        updatedAt:
                          type: string
                        updatedById:
                          type:
                          - string
                          - 'null'
                          format: uuid
                        startedAt:
                          type:
                          - string
                          - 'null'
                        startedById:
                          type:
                          - string
                          - 'null'
                          format: uuid
                        stoppedAt:
                          type:
                          - string
                          - 'null'
                        preRenderCompletedAt:
                          type:
                          - string
                          - 'null'
                        archivedAt:
                          type:
                          - string
                          - 'null'
                      required:
                      - id
                      - name
                      - status
                      - gltfFileUrl
                      - orthophotoFileUrl
                      - coordinateFileUrl
                      - createdAt
                      - createdById
                      - updatedAt
                      - updatedById
                      - startedAt
                      - startedById
                      - stoppedAt
                      - preRenderCompletedAt
                      - archivedAt
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        minimum: 1
                        description: Current page number
                      perPage:
                        type: integer
                        minimum: 1
                        description: Number of items per page
                      total:
                        type: integer
                        minimum: 0
                        description: Total number of items across all pages
                      totalPages:
                        type: integer
                        minimum: 1
                      next:
                        type:
                        - string
                        - 'null'
                        description: Path to the next page, or null if there is no next page
                      prev:
                        type:
                        - string
                        - 'null'
                        description: Path to the previous page, or null if there is no previous page
                    required:
                    - page
                    - perPage
                    - total
                    - totalPages
                    - next
                    - prev
                required:
                - data
                - pagination
      operationId: getPhotogrammetryJobs
      x-operation-id-source: derived
  /photogrammetry/jobs/{jobId}:
    get:
      summary: Get photogrammetry job
      description: 'Get a single photogrammetry job by id.


        **Allowed API keys:** Read-only, Read and Write'
      tags:
      - Photogrammetry
      x-badges:
      - name: BETA
        position: before
        color: '#ea580c'
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: jobId
        in: path
      - schema:
          type: string
          example: no-cache
        required: false
        name: Reonic-Cache-Control
        in: header
        description: Set to 'no-cache' to bypass the 1-hour response cache and force a fresh read. The fresh response is then written back to the cache for subsequent callers. Forced refreshes count against the uncached rate-limit bucket (30/min); only cache hits count against the cached bucket (500/min).
      responses:
        '200':
          description: The photogrammetry job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhotogrammetryJob'
      operationId: getPhotogrammetryJobsByJobId
      x-operation-id-source: derived
  /photogrammetry/jobs/create:
    post:
      summary: Create photogrammetry job
      description: 'Create a new photogrammetry job. The job is returned in `notStarted` state with no assets. Use `POST /photogrammetry/jobs/{jobId}/assets/add` to attach uploaded assets.


        **Allowed API keys:** Read and Write'
      tags:
      - Photogrammetry
      x-badges:
      - name: BETA
        position: before
        color: '#ea580c'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
              additionalProperties: false
      responses:
        '201':
          description: The newly created photogrammetry job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhotogrammetryJob'
      operationId: postPhotogrammetryJobsCreate
      x-operation-id-source: derived
  /photogrammetry/jobs/{jobId}/update:
    post:
      summary: Update photogrammetry job
      description: 'Update a photogrammetry job''s metadata. Asset list mutations go through `POST /photogrammetry/jobs/{jobId}/assets/add` and `/assets/delete`.


        **Allowed API keys:** Read and Write'
      tags:
      - Photogrammetry
      x-badges:
      - name: BETA
        position: before
        color: '#ea580c'
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: jobId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
              additionalProperties: false
      responses:
        '200':
          description: The updated photogrammetry job
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PhotogrammetryJob'
                required:
                - data
      operationId: postPhotogrammetryJobsByJobIdUpdate
      x-operation-id-source: derived
  /photogrammetry/jobs/{jobId}/assets/add:
    post:
      summary: Add assets to photogrammetry job
      description: 'Attach one or more previously-uploaded assets to a photogrammetry job. Each `uploadId` must come from a prior `POST /uploads/create` call whose `uploadUrl` has already received the file content. Returns the job with its full asset list.


        **Allowed API keys:** Read and Write'
      tags:
      - Photogrammetry
      x-badges:
      - name: BETA
        position: before
        color: '#ea580c'
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: jobId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                assets:
                  type: array
                  items:
                    type: object
                    properties:
                      uploadId:
                        type: string
                        minLength: 1
                        maxLength: 500
                        description: The `uploadId` returned from `POST /uploads/create`.
                      type:
                        type: string
                        enum:
                        - image
                        - video
                      frames:
                        type: integer
                        minimum: 1
                        maximum: 10000
                        default: 1
                      meta:
                        type: object
                        additionalProperties: {}
                        default: {}
                    required:
                    - uploadId
                    - type
                    additionalProperties: false
                  minItems: 1
                  maxItems: 100
              required:
              - assets
              additionalProperties: false
      responses:
        '200':
          description: The job with the updated asset list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhotogrammetryJob'
      operationId: postPhotogrammetryJobsByJobIdAssetsAdd
      x-operation-id-source: derived
  /photogrammetry/jobs/{jobId}/assets/delete:
    post:
      summary: Delete assets from photogrammetry job
      description: 'Remove one or more assets from a photogrammetry job by id. Asset ids that don''t belong to the job are ignored. Returns the job with its remaining asset list.


        **Allowed API keys:** Read and Write'
      tags:
      - Photogrammetry
      x-badges:
      - name: BETA
        position: before
        color: '#ea580c'
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: jobId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                assetIds:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                  maxItems: 100
              required:
              - assetIds
              additionalProperties: false
      responses:
        '200':
          description: The job with the updated asset list
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PhotogrammetryJob'
                required:
                - data
      operationId: postPhotogrammetryJobsByJobIdAssetsDelete
      x-operation-id-source: derived
components:
  schemas:
    PhotogrammetryJob:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type:
          - string
          - 'null'
        status:
          type: string
          enum:
          - notStarted
          - running
          - preRenderCompleted
          - completed
          - failed
        assets:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              type:
                type: string
                enum:
                - image
                - video
              frames:
                type: integer
                minimum: 0
              url:
                type: string
              meta:
                type:
                - object
                - 'null'
                additionalProperties: {}
            required:
            - id
            - type
            - frames
            - url
            - meta
        gltfFileUrl:
          type:
          - string
          - 'null'
        orthophotoFileUrl:
          type:
          - string
          - 'null'
        coordinateFileUrl:
          type:
          - string
          - 'null'
        createdAt:
          type: string
        createdById:
          type:
          - string
          - 'null'
          format: uuid
        updatedAt:
          type: string
        updatedById:
          type:
          - string
          - 'null'
          format: uuid
        startedAt:
          type:
          - string
          - 'null'
        startedById:
          type:
          - string
          - 'null'
          format: uuid
        stoppedAt:
          type:
          - string
          - 'null'
        preRenderCompletedAt:
          type:
          - string
          - 'null'
        archivedAt:
          type:
          - string
          - 'null'
      required:
      - id
      - name
      - status
      - assets
      - gltfFileUrl
      - orthophotoFileUrl
      - coordinateFileUrl
      - createdAt
      - createdById
      - updatedAt
      - updatedById
      - startedAt
      - startedById
      - stoppedAt
      - preRenderCompletedAt
      - archivedAt
  securitySchemes:
    X-Authorization:
      type: apiKey
      in: header
      name: X-Authorization
x-tagGroups:
- name: People
  tags:
  - Contacts
  - Users
  - Teams
- name: Projects
  tags:
  - Residential Projects
  - Commercial Projects
- name: Working on a project
  tags:
  - Notes
  - Tasks
  - Files
  - File Folders
  - Activities
  - Time Tracking
  - Checklists
  - Checklist Templates
  - Signature Requests
- name: Calendar
  tags:
  - Calendars
  - Calendar Categories
  - Appointments
- name: Catalog
  tags:
  - Components
  - Planning Templates
  - Planning Packages
  - Offer Templates
- name: Workspace setup
  tags:
  - Kanban Boards
  - Kanban Columns
  - Tags
  - Lead Sources
- name: Wiki
  tags:
  - Wiki
- name: Services
  tags:
  - Photogrammetry
- name: API helpers
  tags:
  - Upload
  - Links
- name: Integrations
  tags:
  - Webhooks
- name: Guides
  tags:
  - Migrating from API v2 to v3
  - Changelog