Reonic Upload API

Two-step uploads for endpoints that accept user-provided file content. Call `POST /uploads/create` to obtain an `uploadUrl` and an `uploadId`. `PUT` the raw file body to `uploadUrl` within 1 hour, with a `Content-Type` header matching the file — not `multipart/form-data`. Then reference the `uploadId` from a registration endpoint such as those in [**Files**](#tag/files) or [**Photogrammetry**](#tag/photogrammetry) to attach the file to a resource. Prefer this flow over a registration endpoint's `url` shortcut when the file isn't already hosted at a public URL, or when you'd rather not expose it on the internet.

Operations 1

POST /uploads/create Create upload URL #

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-upload-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-upload-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reonic REST Api v3 Upload 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: Upload
  description: Two-step uploads for endpoints that accept user-provided file content.
paths:
  /uploads/create:
    post:
      summary: Create upload URL
      description: 'Returns an `uploadUrl` plus an `uploadId` you can later pass to a registration endpoint.


        Upload your file with a single `PUT` request to `uploadUrl`, sending the raw file bytes as the request body and a `Content-Type` header that matches the file. Do not use `multipart/form-data`. The URL stops accepting uploads after `expiresAt` (1 hour after creation).


        Once the upload completes, reference `uploadId` from a registration endpoint — for example `POST /files/create`.


        **Allowed API keys:** Read and Write'
      tags:
      - Upload
      responses:
        '201':
          description: Upload URL and identifier
          content:
            application/json:
              schema:
                type: object
                properties:
                  uploadId:
                    type: string
                    description: Opaque identifier for the staged upload. Pass it unchanged to a registration endpoint after `PUT`-ing the file to `uploadUrl`.
                    example: 123e4567-e89b-12d3-a456-426614174000/123e4567-e89b-12d3-a456-426614174002
                  uploadUrl:
                    type: string
                    description: '`PUT` the raw file bytes here with a `Content-Type` header matching the file. Valid until `expiresAt`.'
                    example: https://reonic.s3.eu-central-1.amazonaws.com/...
                  expiresAt:
                    type: string
                    format: date-time
                    description: ISO 8601 timestamp at which `uploadUrl` stops accepting uploads.
                    example: '2026-01-01T15:30:00.000Z'
                required:
                - uploadId
                - uploadUrl
                - expiresAt
      operationId: postUploadsCreate
      x-operation-id-source: derived
components:
  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