Finalcad Medias handeling API

The Medias handeling API from Finalcad — 6 operation(s) for medias handeling.

Operations 6

GET /medias/{media_id} Get media resource #
POST /projects/{project_id}/medias/uploadinit Init #
POST /projects/{project_id}/medias/uploads Upload medias #
POST /projects/{project_id}/medias/{media_id}/uploadabort Abort #
POST /projects/{project_id}/medias/{media_id}/uploadappend Upload #
POST /projects/{project_id}/medias/{media_id}/uploadterminate Terminate #

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/finalcad-medias-handeling-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

finalcad-medias-handeling-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Finalcad One Project Medias handeling API
  version: '2.41'
  summary: 'Project-level operations for Finalcad One construction projects: project details, project libraries, members, locations (folders / plans / IFC), discussion groups, companies, modules (observations / forms / meetings), observations, forms and form answers, documents, phases, meetings and XLSX/PDF exports.'
  description: 'Project-level operations for Finalcad One construction projects: project details, project libraries, members, locations (folders / plans / IFC), discussion groups, companies, modules (observations / forms / meetings), observations, forms and form answers, documents, phases, meetings and XLSX/PDF exports.


    DERIVED, NOT PUBLISHED BY THE PROVIDER. Finalcad publishes no OpenAPI. This document was mechanically derived by API Evangelist from the first-party public Postman collection "Finalcad One API" served by Finalcad at https://developer.finalcad.com/ (collection JSON: https://developer.finalcad.com/api/collections/10995648/Tz5v1Es2), saved in this repo at collections/finalcad.postman_collection.json. Every path, method, header, query parameter, example request body and example response below is carried over from that collection; nothing was invented. Request/response bodies are typed as generic objects because the collection carries examples, not schemas. Four Finalcad employees'' personal e-mail addresses that appeared in the collection''s example payloads were replaced with placeholders; nothing else was changed.'
  contact:
    name: Finalcad One API — developer portal
    url: https://developer.finalcad.com/
  x-generated-by: API Evangelist enrichment pipeline (derived from the first-party Postman collection)
  x-source: collections/finalcad.postman_collection.json
  x-source-url: https://developer.finalcad.com/
servers:
- url: https://developer.finalcad.cloud/api
  description: Production — the baseUrl variable published in the Finalcad One API Postman collection.
- url: https://developer.sandbox.finalcad.cloud/api
  description: Sandbox — published by Finalcad in the 'Retrieve data in Power BI' tutorial of the same collection.
security:
- apiKey: []
  tokenAuth: []
tags:
- name: Medias handeling
paths:
  /medias/{media_id}:
    get:
      operationId: mediasHandelingGetMediaResource
      summary: Get media resource
      description: "OBSOLETE – Please use the media endpoints at the application level. \n\n Given a media_resource_id , you can retrieve the associated media content.\n\n ⚠️ Warnings \n\n This endpoint does not support retrieval of 3D media.\n\n The media_resource_id refers to the ID returned by an endpoint that links a media to another resource (e.g., the endpoint used to create a plan). It is not the same as the media_id used in media upload endpoints.\n\n Endpoint mandatory infos \n Details \n\n media_resource_id \n the id of the media to be downloaded"
      tags:
      - Medias handeling
      parameters:
      - name: media_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `media_id` as published in the collection.
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request — an `api_code` static error code and message envelope. See errors/finalcad-problem-types.yml.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized — the API key or user token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Server error — a constructed `{ProcessCode}_ERR{n}` api_code envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /projects/{project_id}/medias/uploadinit:
    post:
      operationId: mediasHandelingChunkUploadInit
      summary: Init
      description: "OBSOLETE - Please use the media endpoints at the application level. \n\n Initialize the chunk upload process by using the init endpoint.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n body mandatory infos \n Details \n\n file_name \n name of the madia \n\n total_bytes \n total size in bytes of the media \n\n md5 \n md5 of the media \n\n returned infos \n Details \n\n chunk_id \n id of the chunk \n\n media_id \n id of the new media"
      tags:
      - Medias handeling
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              file_name: lang1.png
              total_bytes: 445721
              md5: 55ed5b904a472b4d576f20caaef21c24
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Success:
                  value:
                    expires_after_secs: 3600
                    chunk_id: cc1aca15-a9f2-41b2-8968-c3905545b376
                    media_id: 03457d15-6ee1-4860-ba24-f554bf595962
                    min_chunk_size: 5242880
        '400':
          description: Bad Request — an `api_code` static error code and message envelope. See errors/finalcad-problem-types.yml.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized — the API key or user token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Server error — a constructed `{ProcessCode}_ERR{n}` api_code envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /projects/{project_id}/medias/uploads:
    post:
      operationId: mediasHandelingUploadMedias
      summary: Upload medias
      description: "OBSOLETE – Please use the media endpoints at the application level. \n\n For media files ≤ 5 MB, use the standard upload endpoint\n\n For media files > 5 MB, use the chunked upload process\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n form_data mandatory infos \n Details \n\n media \n stream of the media \n\n returned infos \n Details \n\n id \n id of the newly created media \n\n file_name \n filename of the media \n\n mime_type \n mime type of the media"
      tags:
      - Medias handeling
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                media:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Success:
                  value:
                    id: 3019742b-8567-413b-8c40-af46acb58d2c
                    file_name: Small r+1 A.dwg
                    mime_type: application/dwg
        '400':
          description: Bad Request — an `api_code` static error code and message envelope. See errors/finalcad-problem-types.yml.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized — the API key or user token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Server error — a constructed `{ProcessCode}_ERR{n}` api_code envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /projects/{project_id}/medias/{media_id}/uploadabort:
    post:
      operationId: mediasHandelingChunkUploadAbort
      summary: Abort
      description: "OBSOLETE – Please use the media endpoints at the application level. \n Abort the chunk upload process.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n media_id \n id of the media in progress \n\n body mandatory infos \n Details \n\n chunk_id \n id of the chunk in proress"
      tags:
      - Medias handeling
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      - name: media_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `media_id` as published in the collection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              chunk_id: '{{chunk_id}}'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request — an `api_code` static error code and message envelope. See errors/finalcad-problem-types.yml.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized — the API key or user token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Server error — a constructed `{ProcessCode}_ERR{n}` api_code envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /projects/{project_id}/medias/{media_id}/uploadappend:
    post:
      operationId: mediasHandelingChunkUploadUpload
      summary: Upload
      description: "OBSOLETE - Please use the media endpoints at the application level. \n\n Upload a file part during the chunk upload process by using the upload endpoint.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n media_id \n id of the media in progress \n\n form-data mandatory infos \n Details \n\n chunk_id \n chunk id of the media in progress \n\n segment_index \n number of the chunk segment (first is 1) \n\n last_chunk \n true if it is the last chunk \n\n stream \n chunk content \n\n md5 \n md5 of the stream"
      tags:
      - Medias handeling
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      - name: media_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `media_id` as published in the collection.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                chunk_id:
                  type: string
                  description: chunk id returned by init function
                segment_index:
                  type: string
                  description: chunk segment number first = 1
                last_chunk:
                  type: string
                  description: is it the last segment ?
                stream:
                  type: string
                md5:
                  type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request — an `api_code` static error code and message envelope. See errors/finalcad-problem-types.yml.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized — the API key or user token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Server error — a constructed `{ProcessCode}_ERR{n}` api_code envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /projects/{project_id}/medias/{media_id}/uploadterminate:
    post:
      operationId: mediasHandelingChunkUploadTerminate
      summary: Terminate
      description: "OBSOLETE - Please use the media endpoints at the application level. \n\n Validate the chunk upload process by using the terminate endpoint.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n media_id \n id of the media in progress \n\n body mandatory infos \n Details \n\n chunk_id \n id of the chunk in progress"
      tags:
      - Medias handeling
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      - name: media_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `media_id` as published in the collection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              chunk_id: '{{chunk_id}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Success:
                  value:
                    id: 3a9d8d0b-0b53-4d24-b786-3b6a53aab795
                    file_name: lang1.png
                    mime_type: image/png
        '400':
          description: Bad Request — an `api_code` static error code and message envelope. See errors/finalcad-problem-types.yml.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized — the API key or user token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Server error — a constructed `{ProcessCode}_ERR{n}` api_code envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    ApiError:
      type: object
      description: Finalcad One error envelope. `api_code` is either a static code (mostly 4xx, e.g. INVALID_INSTANCE_STATE) or a constructed code of the form {ProcessCode}_ERR{n} / {ProcessCode}_WRN{n} (mostly 5xx).
      properties:
        statut:
          type: integer
          description: HTTP status code, repeated in the body (spelled `statut`).
        api_code:
          type: string
          description: Internal Finalcad API error code.
        message:
          type: string
          description: Short explanation of the abnormality encountered.
        data:
          type: object
          description: Complementary data to help understand the error.
          additionalProperties: true
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Organization API key issued by Finalcad to organizations on an Enterprise licence. Sent on every call.
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: '`Authorization: token <your_api_key>`, or `Authorization: bearer <user_token>` for the legacy user-token flow (POST /auth).'