Finalcad Documents API

The Documents API from Finalcad — 3 operation(s) for documents.

Operations 6

POST /projects/{project_id}/documents Create document or folders #
GET /projects/{project_id}/documents Get documents and folders #
GET /projects/{project_id}/documents/filter Get documents and folders by parent #
GET /projects/{project_id}/documents/{document_id} Get document or folder #
PUT /projects/{project_id}/documents/{document_id} Update document or folder #
DELETE /projects/{project_id}/documents/{document_id} Delete document or folder #

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-documents-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-documents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Finalcad One Project Documents 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: Documents
paths:
  /projects/{project_id}/documents:
    post:
      operationId: documentsCreateDocumentOrFolders
      summary: Create document or folders
      description: "Folders allow for document organization, as well as preview and context. Each folder comes with a name.\n\n You can specify where to add the folder in your hierarchy by designating its parent (another folder or the root).\n\n All kinds of documents can be added within this document module.\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 name \n name of the folder or document \n\n media_id \n id of the document media \nsould be present only for document generation \n(a folder has no media) \n\n body optional infos \n Details \n\n parent_id \n the id of the parent folder in the hierarchy"
      tags:
      - Documents
      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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Success_folder:
                  value:
                    id: ce962734-9fd7-4bec-ab2c-1455e48425a5
                    type: Folder
                    name: docFold
                    enabled: true
                    created_at: '2022-11-29T15:35:29.5113161Z'
                    created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    updated_at: '2022-11-29T15:35:29.5113192Z'
                    updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                Success_document:
                  value:
                    id: 8ce4b833-d6c5-448c-a754-322b35f9d468
                    type: Document
                    name: mydoc
                    parent_id: ce962734-9fd7-4bec-ab2c-1455e48425a5
                    media_resource:
                      id: 372f17d7-2e27-4efc-bb9b-c7322300c7eb
                      mime_type: image/png
                    enabled: true
                    created_at: '2022-11-29T15:38:02.7754111Z'
                    created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    updated_at: '2022-11-29T15:38:02.7754205Z'
                    updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
        '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'
    get:
      operationId: documentsGetDocumentsAndFolders
      summary: Get documents and folders
      description: "Before creating folders or documents, you might want to have an overview of those already deployed in your project. This helps you manage them based on the current context.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n Query params optionals \n\n see Commmon behaviors / differential"
      tags:
      - Documents
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Success:
                  value:
                    documents:
                    - id: 1b8f0877-fedb-4f50-867b-2256c23321f1
                      type: Folder
                      name: QSD
                      enabled: true
                      created_at: '2024-05-28T12:59:42.238Z'
                      created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                      updated_at: '2024-05-28T12:59:42.238Z'
                      updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    - id: f8de6f6c-87a4-47a7-8bba-efe542f04af8
                      type: Document
                      name: LogoClient.png
                      media_resource:
                        id: ad702b87-bc2b-4073-b868-6c5d24b802c3
                        mime_type: image/png
                        created_at: '2024-05-28T12:59:54.067Z'
                      enabled: true
                      file_type: Image
                      created_at: '2024-05-28T12:59:54.067Z'
                      created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                      updated_at: '2024-05-28T12:59:54.067Z'
                      updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    need_to_relaunch: true
                    continuous_token: 638524979940680000|e30=
                    count: 2
                    total_count: 7
        '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}/documents/filter:
    get:
      operationId: documentsGetDocumentsAndFoldersByParent
      summary: Get documents and folders by parent
      description: "Before creating folders or documents, you might want to have an overview of those already deployed in your project. This helps you manage them based on the current context.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n Query params optionals \n\n see Commmon behaviors / differential"
      tags:
      - Documents
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Success:
                  value:
                    documents:
                    - id: c0fad6b3-2501-4bc5-b0ce-1c7e0587447a
                      type: Document
                      name: Arrow right.png
                      parent_id: cbf271ae-357a-4af4-b955-75bea02155ac
                      media_resource:
                        file_name: Arrow right.png
                        mime_type: image/png
                        created_at: '2025-04-22T08:51:23.135Z'
                      enabled: true
                      file_type: Image
                      created_at: '2025-04-22T08:51:23.135Z'
                      created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                      updated_at: '2025-04-22T08:51:23.135Z'
                      updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    - id: a58960f5-a792-40a0-ad08-278ceb2eb2f8
                      type: Document
                      name: Building.png
                      parent_id: cbf271ae-357a-4af4-b955-75bea02155ac
                      media_resource:
                        file_name: Building.png
                        mime_type: image/png
                        created_at: '2025-04-22T08:51:23.69Z'
                      enabled: true
                      file_type: Image
                      created_at: '2025-04-22T08:51:23.69Z'
                      created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                      updated_at: '2025-04-22T08:51:23.69Z'
                      updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    - id: f633b9b9-2b46-4aed-ab53-cff6e9b9973e
                      type: Document
                      name: Logo-Color.png
                      parent_id: cbf271ae-357a-4af4-b955-75bea02155ac
                      media_resource:
                        file_name: Logo-Color.png
                        mime_type: image/png
                        created_at: '2025-04-22T08:51:24.04Z'
                      enabled: true
                      file_type: Image
                      created_at: '2025-04-22T08:51:24.04Z'
                      created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                      updated_at: '2025-04-22T08:51:24.04Z'
                      updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    count: 3
        '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}/documents/{document_id}:
    get:
      operationId: documentsGetDocumentOrFolder
      summary: Get document or folder
      description: "Before creating folders or documents, you might want to have an overview of those already deployed in your project. This helps you manage them based on the current context.\n\n You can retrieve both folders and documents.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n document_id \n id the the document or folde to be checked"
      tags:
      - Documents
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      - name: document_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `document_id` as published in the collection.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Get_folder:
                  value:
                    id: c36dd915-498e-4d9d-9758-e95719083cdd
                    type: Folder
                    name: Handmade
                    enabled: true
                Get_document:
                  value:
                    id: 80579b1e-8581-49df-90a8-132eaad7b9cf
                    type: Document
                    name: for
                    parent_id: c36dd915-498e-4d9d-9758-e95719083cdd
                    media_resource:
                      id: 84600611-01f6-49dd-a521-e7a7eaab6d24
                    enabled: true
        '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'
    put:
      operationId: documentsUpdateDocumentOrFolder
      summary: Update document or folder
      description: "You can move and edit folder names. You can also move, edit document names, and update documents.\n\n Endpoint mandatory infos \n Details \n\n project_Id \n the id of the project to be modified \n\n document_id \n id of the document or folder to be modified \n\n body optional infos \n Details \n\n name \n new name of the document or folder \n\n parent_id \n the id of the new parent folder in the hierarchy \n\n media_id \n id of new media (for document change only)"
      tags:
      - Documents
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      - name: document_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `document_id` as published in the collection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              name: <string>
              media_id: <uuid>
              parent_id: <string>
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Success:
                  value:
                    id: 8ce4b833-d6c5-448c-a754-322b35f9d468
                    type: Document
                    name: renamed2
                    parent_id: ce962734-9fd7-4bec-ab2c-1455e48425a5
                    media_resource:
                      id: 01d907a3-0324-4026-800b-f823e8247577
                      mime_type: image/png
                    enabled: true
                    created_at: '2022-11-29T15:38:02.775Z'
                    created_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
                    updated_at: '2022-11-30T15:45:00.7855601Z'
                    updated_by: 25ff0593-dd4c64d0-1579-4354-8a2b-260b34025b6a
        '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'
    delete:
      operationId: documentsDeleteDocumentOrFolder
      summary: Delete document or folder
      description: "You can delete a document or a folder of documents.\n\n Details \n\n project_Id \n the id of the project to be modified \n\n document_id \n id of the document or folder to be deleted"
      tags:
      - Documents
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `project_id` as published in the collection.
      - name: document_id
        in: path
        required: true
        schema:
          type: string
        description: Path variable `document_id` as published in the collection.
      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'
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).'