{ "info": { "_postman_id": "a8e78571-d78c-444d-973d-81b9f8ac4bc0", "name": "Finalcad One API", "description": "
Finalcad One platform is composed of iOS & Android mobile apps, a web app (europe or asian), a CAD plugin and Finalcad One API. The latter is allowing organizations and projects management through API.
On one hand, you can customize connections to your own system.
On the other hand, our API automates your projects setups and ease the mass management, for groups creation for instance. At the end Finalcad One API increases harmonisation of practice.
To access the Finalcad One API, the client organization must be subscribed to the \"Enterprise\" offer.
This offer makes it possible to obtain a API Key which will allow access to the API.
In addition, for the management of the authorizations of the different users who can use the APIs with the API Key, the user must (physical or service account) be authenticated on our platform to obtain an OAuth2.0 token which will give him his rights.
\nUsing Finalcad One API is restricted to organizations with a subscription to Entreprise licence.
\nThe API Key will be provided by Finalcad once the organization's eligibility to access API services has been validated. This API Key serves as the identification method for the calling organization throughout all API calls. It should be included in theX-API-Key header for each call.
To authenticate, a token must be included in the Authorization header using the following format: Authorization: token your_api_key
Or if you use the legacy api key: Authorization: bearer your_user_token
It is crucial that this key remains confidential and is not publicly
disclosed. Sharing the key without the organization's consent may result in unauthorized usage by third parties
You can request the generation of an apikey by connecting to our web site and going to the user menu
\nand you will get your apikey
\nYou can revoke your API key using the same menu option.
\nEligility rule : the user must be an administrator for at least one organization with the offer entreprise.
\nWe are here to support you!
Our priority is to give you full autonomy in your organization and project management. In case of need, we are nonetheless here to ensure that you never feel lost. If you encounter a problem, feel free to contact our support team by email.
We believe in a virtuous circle, in which everyone can have a great idea and so should be heard. If you have suggestions, enhancement idea or feature request, please contact our product and CSM team:
\n\n", "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json", "toc": [ { "content": "Getting started", "slug": "getting-started" }, { "content": "Stay in touch", "slug": "stay-in-touch" } ], "owner": "10995648", "collectionId": "a8e78571-d78c-444d-973d-81b9f8ac4bc0", "publishedId": "Tz5v1Es2", "public": true, "customColor": { "top-bar": "FFFFFF", "right-sidebar": "303030", "highlight": "EF5B25" }, "publishDate": "2023-05-11T08:59:39.000Z" }, "item": [ { "name": "Release notes", "item": [], "id": "1cf4d76e-2454-4a8f-b355-e19b383d9bb3", "description": "We are improving our solution little by little across time.
\nEnhance PowerBI step-by-step documentation
\nNew endpoints:
\nGet module trades
\nGet trade common observations
\nGet form template status
\nGet folder plans content
\nGet folder documents content
\nGet projects filtered by workspaces
\nEnhanced endpoints:
\nAdd module and parent filter to Get project
\nAdd parent filter to Get workspaces
\nAdd category filter to Get project form templates
\nAdd workspace filter to Get organization modules
\nAdd translated names in Priorities and status observations libraries
\nAdd translated names in Priorities forms libraries
\nAdd new endpoint Delete project
\nAdd new endpoint Restore project
\nFix errors badly returned
\nAdd summary_field information for form grid field
\nAdd client_created_at and client_updated_at informations in some endpoints
\nCan link documents in groups
\nAdd ProjectsUsersRoles dataset to retrieve users along with their roles in each project.
\nEnhance the Users dataset by adding a new \"Role\" column.
\nImprove performance
\nimprove forms answers usage
\nimprove forms templates translations usage
\nyou can update uers roles at organization level by lot of roles
\nfix media download for binary files (pdf/docx/etc.)
\nAdd Priorities dataset
\nAdd UserActivities dataset
\nEnhance Projets dataset with address and status column
\nFix plan update
\nImprove performance
\nYou can delete documents, plans and folders
\nSome informations added to plans
\nYou can find out which discussions share an item
\nYou can get an url to download dataset
\nImprove \"Retrieve data in power bi\" documentation
\nYou can add members to projects without sending a mail to the user
\nYou can associate a form template with a custom report and generate customized reports for forms
\nYou can specify your internal identification for the companies
\nSettings of your organisation datasets for PowerBI
\nForms Pdf unit reports generation
\nDifferential endpoints uniformization
please refer to the Differential behaviors documentation
Project groups management
\nGet group list
\nGet one group detail
\nAdd/remove users in groups
\nGet group messages
\nObservations can be linked to a group during creation process
\nObservations and forminstances
you can now send and read latitude and longitude
Added new endpoint
\nEnhance endpoints
\nAdded new endpoints
\nGenerate XLSX reports for observations or forms at the project level
\nUpload and process 3D models (IFC & RVT files)
\nUpdate or delete referentials
\nGenerate default answers in forms
\nGet, Add, Remove project logos
\nEnhance endpoint
\nAdded new companies endpoints
to add or remove companies members
Added new endpoint to create a plan from a document
\nAdded new webhook get then
\nplans or folders are creatde or updated or removed
\ntrades and commonobservations are created or updated or removed
\ncompanies are created or updated or removed
\nWebhook
To be able to get data from Finalcad if an event happened without any request needed
Get event list
\nGet hooks by orga
\nGet hook
\nCreate hook
\nDelete hook
\nUpdate hook
\nWith the following endpoint user will be able to create and manage your webhook
\nWebhook available
\nWhen a meeting is created, updated , deleted
\nWhen a observation is created, updated, deleted
\nWhen a form is created, updated, deleted
\nWhen a document is created, updated, deleted
\nAdded new \"forms endpoint\"
\nGet form instance message
To be able to get all the comment and properties in form thread
Add form instance comment
To be able to add a comment to a form thread
Post link item to answer
To be able to create a link item link to a control field of form
Added new \"observation endpoint\"
\nReferential management
\nGet data refrential
\nPost create data referentiel
\nMedias
\nimprove our medias endpoint
\nour endpoint medias at project level are depreciated
\nAdded new module meeting endpoints that user can use to enable and update the project meeting module
\nEnable/Disable module meeting
\nGet module meeting
\nUpdate module meeting
\nAdded new module form library that user can personalise at Organisation or Workspace level
\nCreate module of type \"form\"
\nGet forms filtered by module
\n* Added module settings
👉 We've updated the module endpoints to handle module settings.
Create & Update module: Added an optional \"settings\" body attribute for updating settings.
\nGet module(s): Included \"settings\" in the response.
\n* Organization members
\nIntroduced new \"Get/Remove/Add organization member\" endpoints.
\nIntroduced new \"Change organization member role\" endpoint.
\n* Project members
\nIntroduced new \"Remove project member\" endpoint.
\nIntroduced new \"Change project member role\" endpoint.
\n* Authentication
\n* Fix wrong attribute names
\nfix positon_x attribute to position_x in create & update observation endpoint
\nfix icone attribute to icon
\nfix PinPositonX & PinPositonY to PositionX & PositionY
\nfix AssignedCompanyId to CompanyId
\nfix AssigneeTo to AssigneeId
\n* Authorization
👉 We have introduced a new method for utilizing our API using a new API key. It is no longer necessary to use the authentication endpoint to obtain a token.
You can check the API Key usage part in the documentation
* Workspaces
👉 We have added new endpoints for managing workspaces:
Updated the \"Get workspace\" endpoints to include client_reference and media.
\nIntroduced new \"Create/Update workspace\" endpoints.
\nImplemented new \"Get/Add/Remove members in a workspace\" endpoints.
\n* Observations
👉 You can now specify the position_x and position_y of an observation on the plan.
New properties is added for project : Done / in progress status. We have updated the Api endpoint to have this informations.
\nUpdate of existing endpoint
\n* Get project
👉 We've added the \"status\" to identify for each project their status
* Update project
👉 We've added the \"status\" to update for each project their status
We have released a brand new Module : Meetings
It will help realize meeting note on every meeting on site.
You now have a new folder created in your project folder for endpoint of this new module.
New endpoints created
\n* Get Meetings
👉 Get the list of all meeting created in your project
* Get Meeting details
👉 Get the details of each meeting and meeting note pdf of it.
You can now fill form answer and update them from external sources with our API
\nNew endpoints created
\n* Post Create answer
👉 Create form answer for a specific field id of a form instance inside a project
* Put Update answer
👉 Update form answer for a specific field id of a form instance inside a project
* Del Delete answer
👉 Delete form answer for a specific field id of a form instance inside a project
You also have the possiibility to update form details with our API
\nNew endpoint created
\n* Put Udpate form details
👉 Update the following details of a form : status, assignee, priority, company, phase, due date, description
You have now the possibility to get the possible next status for each status of your organisation library
\nExisting endpoint updated :
\n* Get organization observation status library
👉 Get the list of status and nex available status for each project role
You have now more information in project detail, by identified if the project is active or not
\nExisting endpoint updated :
\n* Get project list
👉 We have added the information if the project is active or not.
You have now the possibility to add an image to an observation.
\nNew endpoint created :
\n* Post Add image observation
👉 Add an image to an observation
Better big medias upload handling
\nFor media with size higher thant 5Mo, use chunk upload possibility.
\nNew endpoint created :
\nPost Init → For starting the creation
\nPost Upload →For creating each media part
\nPost Terminate →For finalising upload
\nPost abort → For canceling it
\nYou have now the possibility to update an observation.
\nNew endpoint created :
\n* Update Observation
👉 Update existing observation in your project
You have now the possibility to manage the phase of your project.
\nPhase
\nYou have now access the possibility to manage the phase of your project.
\nPhase is a way to organise your project into different milestone and easily filter your item thanks to this property.
\nNew endpoints created :
* Get Phases
👉 Get list of your project phase
* Create phase
👉 Create a new phase in your project
* Modify phase
👉 Modify existing phases of your project
* Delete phase
👉 Delete existing phases of your project
Existing endpoint updated :
As phase is a new property that can be set to your observation and forms, we make it possible to :
Get this informations of an item
\nAdd this information when creating item
\n* Get form details / get observation details
👉 Get phase id set to an observation or a form
* Create form/ Create observation
👉 Set your phase when creating item
Languages
\nYou may need to handle several languages in your project with member speaking and reading not the same languages.
We make it possible to have a language for each every item you can self create inside your library
You can get the list of language handle by Finalcad to be sure you set an existing language in your create to create and update element from your different organisation libraries or project libraries.
\nYou have now access to new entity attributes on each endpoints.
\nAll entities created by a user:
\nIt is now possible for all entities to get both the servor date and local date when the user has created or updated an entities.
\nServor (created at / update at) is the time our servor has saved the information__Local date (local_create) is the date and time the user has done the action and not the date the action when sync to our servors.__
\n* add created_at
* add created_by
* add updated_at
* add updated_by
Media resource :
\nYou can identify the format of the media (photo, document, plan), you are getting from API
\n* Add mime_type
Project response :
\nYou can now have all the information about a project
(Project end date, number of project member, status of project, and project image)
* Add end_date
* Add member_count
* Add is_archived
* Add media_resource
User response :
\nYou can now have the avatar of a user.
\n* Add media_resource
Document
\nYou can now get, create and update documents and folders in projects
\n* Get documents & folders
👉 Get list of all project's document and folders
* Get document
👉 Get a specific document
* Get folder
👉 Get a specific folder
* Create folder
👉 Create a folder
* Create document
👉 Create a document
* Update document
👉 Update a document
* Update folder
👉 Update a folder
Locations
\nYou can now update plan and folder on your project for follow up new version.
\n* Update folder
👉 Update a folder in a project
* Update plan
👉 Update a plan in a project
🧩 Custom modules to build your own Finalcad
\nYou can create projects that suit you best. Modules are aligned to your use cases and to each phases of your construction site.
\nYou can either activate modules, coming with their own library, offered by Finalcad, or create your own modules based on observations.
\nModules are easy to managed thanks to duplication, activation or modification.
\nUser can get the module informations on their project
\n* Get modules ids
👉 Get the list of module id that are available for your project
* Get modules colors
👉 Get the colors associated to each module id of your project
* Get module icons
👉 Get the icon associated to each module id of your project
* Get modules suggestions
👉 Get the module suggestions proposed by Finalcad in your project
User can create personalized module in autonomy by API
\n* Create modules by suggestions
* Create Module
👉 Create a personalized module
* Create Trade
👉 Create a category for a given module
* Create common observations
👉Create a modele for a given module and its category
Workspaces
\nUsers can extract the list of workspaces available on an organization
\n* Get Workspaces
\nUsers can specify a workspace when he create a new project
\n* Create project
\nUsers can extract workspace id in project informations
\n* Get projects list
* Check project setting
Differential API calls management
\nUsers can now extract data based on their last request. Only updated values will be extract versus all values previously.
Users can still chose between full or differential data extract thanks to limit and offset or the differential token.
Here is the list of the diffential endpoints available:
\n* Get folder tree
* Get plan
* Get members
* Get project companies list
* Get project observations IDs list
* Get project common observation details
* Get project forms IDs list
* Get form details
* Get form priorities
* Get project observation status
* Get project trades
* Get observations project priorities
New error management
\n* Updated error messages to be more clear and precise to help pinpoint the problem
\nCheck Project library
\n* Get observation project priorities
* Get project trades
* Get project observation status
* Get project common observations
* Get form project priorities
* Get project form templates
Push actions or info on site by creating items
\n* Create Observation
* Create Form
Manage project companies list
\n* Get users info
* Get project companies
* Update project company
* Delete project companies
* Create project companies
* Get company info
Get site pulse
\n* Get media
* Get plan
* Get project observations list
* Get observation details
* Get project forms list
* Get form details
* Get form answers
POST Create a new project New languages available to align API with apps : Netherland, German, Portuguese, Italian, Catalan, Chinese, Japanese, Thai, Italian
\nGET Get project list Have a full vision on the projects of the organization
\nPUT Update project Not only project creation but also update from now on
\nThe One with a portal
https://developer.finalcad.com/
The One who authenticates
\n* Get user token
\nThe One who manages organizations and templates
\n* Get organization id
* Get organization priorities
* Set organization priorities
* Get organization statuses
* Set organization statuses
* Get organization trades
* Set organization trades
* Delete organization trades
* Set organization common observation
* Delete organization common observation
* Get time zones
The One who handles media
\n* Uploads medias
* Attach media to project
* Attach media to folder
The One who create a project
\n* Create project
* Get project
* Get project roles
* Get members
* Add members
* Get folders
* Create folders
* Get plans
* Create Plans
* Create groups
Our Public APIs allow creativity to flourish as any developer can rely on the platform to extend the usefulness of existing software and bring new solutions to all users. Finalcad One can be integrated with various software to quickly reduce copy and paste, as well as data re-entry with all the transcription errors and associated headaches. A majority of large publishers have adopted APIs, you can already connect solutions such as:
\nEnterprise Resource Management Systems
\nHuman Resources Information Systems
\nCustomer Relationship Management Systems
\nElectronic Document Management Systems
\nBusiness Intelligence Softwares
\nHere, we described five examples of integration you can develop from our Public API. Let’s create new use cases to respond to your business case!
\nYou can connect your identification system for each of your business cases referenced by your ERP with the Finalcad One platform keeping the same referential. Thus, the IT department eliminates manual entry for field teams.
\nUser authentication and invitation are therefore key factors in facilitating deployment. Connecting your own authentication system by SSO allows each user of your company not to recreate a username and password.
\nEnsure each user would get access at the good level of access on the Finalcad platform connecting it with your Active Directory. The IT department will be sure safety procedures are respected for data confidentiality.
\nYou can create specific business libraries from your Knowledge Database to implement the same referential integrity for any project. The QHSE department will be sure procedures would be correctly applied on site such as quality inspections, quality controls, safety audits …
\nYou are now able to link the company library of each project with suppliers selected into your ERP. You eliminate the setting by the site teams and you provide high added value information for your Purchasing departments which will be able to benchmark companies by business, region and type of work.
\nYou can interface your EDM with Finalcad One Location module to guarantee the digital continuity between the Design Office and the Field. Creating the same structure in both softwares, blueprints would be automatically updated once a new version is uploaded on the EDM.
\n", "auth": { "type": "noauth", "isInherited": false }, "_postman_id": "4a1dbf87-4194-49dc-bf27-1a684184c972" }, { "name": "Common behaviors", "item": [ { "name": "Errors", "item": [ { "name": "Error examples", "id": "c4318272-7210-4679-80f6-098c1a32ef69", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "auth": { "type": "noauth", "isInherited": false }, "method": "GET", "header": [], "urlObject": { "query": [], "variable": [] }, "url": "" }, "response": [ { "id": "c740d2f0-3e48-4a4e-9c28-9e8b0646b0b2", "name": "Server Error", "originalRequest": { "method": "GET", "header": [] }, "status": "Internal Server Error", "code": 500, "_postman_previewlanguage": "json", "header": null, "cookie": [], "responseTime": null, "body": "{\n \"statut\": 500,\n \"api_code\": \"{ProcessCode}_ERR1\",\n \"message\": \"Response status code does not indicate success: 500 (Internal Server Error).\",\n \"data\": {\n \"error_message\": \"Error during {Process} work.\",\n \"data-1\": \"Calling {Process}.\",\n \"data-2\": \"Response status code does not indicate success: 500 (Internal Server Error).\"\n }\n}" }, { "id": "a42e3590-ea8a-4dae-b771-682152b5dcbb", "name": "Bad Request", "originalRequest": { "method": "GET", "header": [] }, "code": 400, "_postman_previewlanguage": "json", "header": null, "cookie": [], "responseTime": null, "body": "{\n \"statut\": 400,\n \"api_code\": \"INVALID_INSTANCE_STATE\",\n \"message\": \"The state of the entity GetOrganizationsInputs is not valid.\",\n \"data\": {\n \"\": \"Offset should be a multiple of Limit to manage to get all results.\"\n }\n}" } ], "_postman_id": "c4318272-7210-4679-80f6-098c1a32ef69" } ], "id": "c7c01613-b27d-44c8-8396-2333a4f507a0", "description": "Error management is harmonized across api calls.
\nWhen an error raises, two behaviors are implemented and are used in the differents api calls:
\nError message informs the user with the following info:
\nThe internal API error code can be a static code (mostly on error 4xx) or a construct one (internal error 500).
\nHTTP status code summary
\nList of the static code:
\nThe construct code is composed by:
\nWhen an endpoint process doesn't rollback on error and can't execute any of its tasks, it returns a HTTP error code (500). But if it can process, at least one of its tasks, it returns a partial HTTP result code (206). This case appears when endpoints treat a list of elements.
\n", "auth": { "type": "noauth", "isInherited": false }, "event": [ { "listen": "prerequest", "script": { "id": "0c7dd21a-5061-4eed-8a6a-8f646d0c0ba0", "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "id": "17589d0f-827b-456a-8f73-506af2e49c07", "type": "text/javascript", "exec": [ "" ] } } ], "_postman_id": "c7c01613-b27d-44c8-8396-2333a4f507a0" }, { "name": "Differential behavior", "item": [], "id": "b61d098f-8014-481f-9cbd-c16b24a89336", "description": "These API calls are reconized by an endpoint parameter named: continuous_token.
You can use the endpoint for pagination and then for differential.
The first time you use the endpoint, you only need to set the limit (ie the maximal number of elements returned) if you want a different limit than default value (50).
The endpoint will return the following response:
A boolean \"need_to_relaunch\" to inform you if there are still values to retrieve
\nA text \"continuous_token\" to use on your next call
\nA number \"count\" the number of returned elements
\nA number \"total_count\" for the total number of possible elements across all calls
\nNext time you simply use the same endpoint with the same limit and the new continuous_token
\nThe call is identical to the last pagination call. Simply use the last continuous_token received and you will get only the elements modified/added/deleted since your last request.
\nHere we want to use the differential to get the observation list.
\nFirst call
\ncurl -L 'https://developer.finalcad.cloud/api/projects/:project_id/observations?limit=10' \\\n -H 'X-API-Key: \"API Key\"' \\\n -H 'Authorization: token \"API Key\"' \\\n\n\nResponse
\n{\n \"observations\": [\n { obs datas },\n { obs datas },\n etc.\n ],\n \"need_to_relaunch\": true,\n \"continuous_token\": \"0|10\",\n \"count\": 10,\n \"total_count\": 25\n}\n\n\nSecond call (needed as need_to_relaunch previously returned is true)
\ncurl -L 'https://developer.finalcad.cloud/api/projects/:project_id/observations?limit=10&continous_token=0|10' \\\n -H 'X-API-Key: \"API Key\"' \\\n -H 'Authorization: token \"API Key\"' \\\n\n\nResponse
\n{\n \"observations\": [\n { obs datas },\n { obs datas },\n etc.\n ],\n \"need_to_relaunch\": true,\n \"continuous_token\": \"0|20\",\n \"count\": 10,\n \"total_count\": 25\n}\n\n\nThird call (needed as need_to_relaunch previously returned is true, and the last one as need_to_relaunch will be returned as false)
\ncurl -L 'https://developer.finalcad.cloud/api/projects/:project_id/observations?limit=10&continous_token=0|20' \\\n -H 'X-API-Key: \"API Key\"' \\\n -H 'Authorization: token \"API Key\"' \\\n\n\nResponse
\n{\n \"observations\": [\n { obs datas },\n { obs datas },\n etc.\n ],\n \"need_to_relaunch\": false,\n \"continuous_token\": \"638524961987950970|0\",\n \"count\": 5,\n \"total_count\": 25\n}\n\n\nLater, call for differential
\ncurl -L 'https://developer.finalcad.cloud/api/projects/:project_id/observations?limit=10&continous_token=638524961987950970|0' \\\n -H 'X-API-Key: \"API Key\"' \\\n -H 'Authorization: token \"API Key\"' \\\n\n\nResponse (but unlukily , no modified elements)
\n{\n \"observations\": [],\n \"need_to_relaunch\": false,\n \"continuous_token\": \"638524961987950970|0\",\n \"count\": 0,\n \"total_count\": 0\n}\n\n\n",
"auth": {
"type": "noauth",
"isInherited": false
},
"_postman_id": "b61d098f-8014-481f-9cbd-c16b24a89336"
},
{
"name": "Language selection",
"item": [],
"id": "284c8d99-b065-438d-9e2a-3c90b8914528",
"description": "You can choose the language in which our public API operates.
To do this, add an \"Accept-Language\" header element with the chosen language as its value.
The list of authorized languages is provided by the \"Language\" endpoint in the Finalcad libraries folder.
The default language is English (en).
Legacy endpoint to get user_token.
\n", "urlObject": { "path": [ "auth" ], "host": [ "https://developer.finalcad.cloud/api" ], "query": [], "variable": [] } }, "response": [ { "id": "8ab83b06-8292-44fd-9753-3ec414fa97be", "name": "Succes", "originalRequest": { "method": "POST", "header": [ { "key": "X-API-Key", "value": "You can check your user information.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Get all the colors usable for module creation.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Get all the icon names usable for module creation.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Get all the predefined modules for custom module creation.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Standard list of values that users should use to create modules. Other colors or icons not in the list will not be accepted.
\n", "_postman_id": "0a7a630e-0747-4895-b7db-57400f5e4fc5", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Get all the languages usable for libraries and items.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "In Finalcad One, you can use several languages within one project. When creating an item, you have to specify the language in which the name will be set.
\nYou can get the list of languages available in Finalcad and create items for multiple languages at once.
\n", "_postman_id": "c30d2206-56f9-42ac-9716-daaf87bed995", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Each project is linked to a specific time zone.
\nBy default, if not specified, Paris time is chosen. To create your project, you may want to select a different time zone.
\nTo assist you in this process, you can request the list of available time zones here.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Number max of time zones to get.
\n", "type": "text/plain" }, "key": "limit", "value": "Offset index from where to begin getting time zones.
\n", "type": "text/plain" }, "key": "offset", "value": "Finalcad libraries can be used in the application and are not editable by users. You may need to get these libraries in order to use them to create content.
\nModules
\nList of colors available to create your own module
\nList of icons available to create your own module
\nList of Finalcad modules proposed in your project
\nLanguages
\nTime zones
\nInitialize the chunk upload process.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "chunk id returned by init function
\n", "type": "text" }, { "key": "segment_index", "value": "1", "description": "chunk segment number first = 1
\n", "type": "text" }, { "key": "last_chunk", "value": "true", "description": "is it the last segment ?
\n", "type": "text" }, { "key": "stream", "type": "file", "src": "/C:/Users/luc.vallot/Pictures/lang1.png" }, { "key": "md5", "value": "55ed5b904a472b4d576f20caaef21c24", "type": "text" } ] }, "url": "https://developer.finalcad.cloud/api/medias/:media_id/uploadappend", "description": "Upload a file part during the chunk upload process.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Validate the chunk upload process.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Abort the chunk upload process.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "The common practice is to use this specific service to upload media. You will receive an ID in response, which you need to use as a reference to handle media in other API calls. To upload media, you need to split your upload into parts of a maximum size of 5 megabytes.
\nYou should use the endpoints in the following order:
\nUse the init endpoint
\nUse the upload endpoint for each part
\nUse the terminate endpoint
\nUpload media less than 5 megabytes.
\nFor media larger than 5 megabytes, you need to use chunk upload.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Given the media resource ID, you can get the media content.
\nThis is limited to media less than 10 MB
\nEndpoints do not work for retrieving 3D media
\nThe media_resource_id is the ID returned by an endpoint that links a media to something (for example, the endpoint to create a plan). This is not the media_id used in the media upload endpoints
\n(Required) The id of the media.
\n", "type": "text/plain" }, "type": "any", "value": "Given the media resource ID, you can get a downloadable URL.
\nEndpoints do not work for retrieving 3D plan media (returns a 404 error)
\nThe media_resource_id is the ID returned by an endpoint that links a media to something (for example, the endpoint to create a plan). This is not the media_id used in the media upload endpoints.
\n(Required) The id of the media.
\n", "type": "text/plain" }, "type": "any", "value": "Manage all your media uploads.
\n", "_postman_id": "f56be362-b5f4-44b1-9168-d1b5c6f8f112", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "You can get the IDs of all the organizations where you are a member and that have the correct license type here.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Finalcad One API calls can only be performed on organizations with an Enterprise License. To avoid errors, you need to specify your key (X-API-Key) in each endpoint header.
\n", "_postman_id": "c320619d-06c8-4939-a750-1cc05e50559b", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Before updating your observation statuses, you might want to have an overview of the ones deployed in your organization. This helps you manage your organization based on the current context.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Number max of statuses to get.
\n", "type": "text/plain" }, "key": "limit", "value": "10" }, { "description": { "content": "Offset index from where to begin getting statuses.
\n", "type": "text/plain" }, "key": "offset", "value": "0" } ], "variable": [ { "description": { "content": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "Added as a part of security scheme: apikey
\n" } ], "body": { "mode": "raw", "raw": "{\n // update only at orga level\n \"projects_ids\" : null,\n // update at orgae lavel and some specified projects\n //\"projects_ids\":[\n // \"4252ca82-cd570732-4c49-4706-9be1-c5ac806c7bed\",\n // \"f5b14d0b-7b8e4145-bed5-429a-b863-ab6dd1e23056\"\n // ],\n // update at orga level and all projects\n //\"projects_ids\":[],\n\n // the full statuses list is mandatory\n // If a status is missing , it is deleted\n // If a status has no id, it is created\n // if a status as an id and this id do not exist , it is created\n // the to_statuses ids should be coherent with the resulting status list and the project roles list\n // positions sould be uniq\n // only 1 status can have the default set to true\n // color should be an rgb in a limited list\n // language sould be in ca,zh,en,fr,de,it,ja,nl,pt,es,th,vi,ko but the list can be partial\n\n \"statuses\": [\n {\n \"id\": \"97828643-9fd6-4fb6-a0c9-c4823914059b\",\n \"position\": 0,\n \"color\": \"#898989\",\n \"is_default\": true,\n \"names\": [\n {\n \"language\": \"it\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"zh\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"th\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"ja\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"fr\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"pt\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"de\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"ko\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"vi\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"nl\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"ca\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"en\",\n \"translation\": \"New\"\n },\n {\n \"language\": \"es\",\n \"translation\": \"New\"\n }\n ],\n \"to_statuses\": [\n {\n \"id\": \"852f4900-d10c-4f71-a6c9-da5233e78aa4\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\",\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\"\n ]\n },\n {\n \"id\": \"29CF3A19-0F8C-430C-B2B6-8F7555EC31D5\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"941471e4-a7f2-490c-a217-c9dc8ef8d55f\",\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\",\n \"7fd408b4-4919-4ede-8e1d-0fb0e10102e9\",\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\"\n ]\n },\n {\n \"id\": \"bd4aa121-f33b-4f95-aae9-5633d5fddad7\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"7fd408b4-4919-4ede-8e1d-0fb0e10102e9\",\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\",\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\",\n \"941471e4-a7f2-490c-a217-c9dc8ef8d55f\"\n ]\n }\n ]\n },\n {\n \"id\": \"bd4aa121-f33b-4f95-aae9-5633d5fddad7\",\n \"position\": 1,\n \"color\": \"#4CABF2\",\n \"is_default\": false,\n \"names\": [\n {\n \"language\": \"ko\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"fr\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"en\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"ja\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"vi\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"it\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"pt\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"nl\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"de\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"zh\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"ca\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"th\",\n \"translation\": \"To do\"\n },\n {\n \"language\": \"es\",\n \"translation\": \"To do\"\n }\n ],\n \"to_statuses\": [\n {\n \"id\": \"97828643-9fd6-4fb6-a0c9-c4823914059b\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\",\n \"7fd408b4-4919-4ede-8e1d-0fb0e10102e9\"\n ]\n },\n {\n \"id\": \"852f4900-d10c-4f71-a6c9-da5233e78aa4\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\",\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\",\n \"7fd408b4-4919-4ede-8e1d-0fb0e10102e9\",\n \"941471e4-a7f2-490c-a217-c9dc8ef8d55f\"\n ]\n },\n {\n \"id\": \"29CF3A19-0F8C-430C-B2B6-8F7555EC31D5\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\",\n \"941471e4-a7f2-490c-a217-c9dc8ef8d55f\",\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\",\n \"7fd408b4-4919-4ede-8e1d-0fb0e10102e9\"\n ]\n }\n ]\n },\n {\n \"id\": \"852f4900-d10c-4f71-a6c9-da5233e78aa4\",\n \"position\": 2,\n \"color\": \"#FF8029\",\n \"is_default\": false,\n \"names\": [\n {\n \"language\": \"de\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"it\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"th\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"vi\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"pt\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"zh\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"es\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"ja\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"fr\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"ca\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"nl\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"ko\",\n \"translation\": \"In Progress\"\n },\n {\n \"language\": \"en\",\n \"translation\": \"In Progress\"\n }\n ],\n \"to_statuses\": [\n {\n \"id\": \"bd4aa121-f33b-4f95-aae9-5633d5fddad7\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"7fd408b4-4919-4ede-8e1d-0fb0e10102e9\",\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\",\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\"\n ]\n },\n {\n \"id\": \"29CF3A19-0F8C-430C-B2B6-8F7555EC31D5\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\",\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\",\n \"7fd408b4-4919-4ede-8e1d-0fb0e10102e9\",\n \"941471e4-a7f2-490c-a217-c9dc8ef8d55f\"\n ]\n },\n {\n \"id\": \"97828643-9fd6-4fb6-a0c9-c4823914059b\",\n \"is_deleted\": false,\n \"project_role_ids\": [\n \"041391c6-cb0a-4157-bb5e-fc3469ea9c69\",\n \"a5403a10-6cf2-4a1f-84d1-c772f63594c7\"\n ]\n }\n ]\n },\n {\n \"id\": \"29CF3A19-0F8C-430C-B2B6-8F7555EC31D5\",\n \"position\": 3,\n \"color\": \"#E94F3D\",\n \"is_default\": false,\n \"names\": [\n {\n \"language\": \"fr\",\n \"translation\": \"testLucPut\"\n },\n {\n \"language\": \"en\",\n \"translation\": \"testLucPut\"\n }\n ],\n \"to_statuses\": [\n {\n \"id\": \"97828643-9fd6-4fb6-a0c9-c4823914059b\",\n \"is_deleted\": false,\n \"project_role_ids\": []\n },\n {\n \"id\": \"852f4900-d10c-4f71-a6c9-da5233e78aa4\",\n \"is_deleted\": false,\n \"project_role_ids\": []\n },\n {\n \"id\": \"bd4aa121-f33b-4f95-aae9-5633d5fddad7\",\n \"is_deleted\": false,\n \"project_role_ids\": []\n }\n ]\n }\n ]\n}" }, "url": "https://developer.finalcad.cloud/api/organizations/:organization_id/statuses", "description": "Update your list of observation statuses. This cannot be done one by one; you need to manage the entire list. The behavior is aligned with the update of organization priorities.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "To follow the observation progress or implement a process, you can use statuses and create your own workflow. You have the ability to define them.
\nIn addition to a name, they are defined by a color, which helps with visual recognition in applications and reports. Here are the available colors to define your set of statuses. Of course, one needs to be set as the default.
\n", "_postman_id": "7b2f6a34-2bdc-437d-a0e1-1a9b5d8b2ce6", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Before updating your observation library, you might want to have an overview of the ones deployed in your organization. This helps you manage your organization based on the current context.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Number max of trades to get.
\n", "type": "text/plain" }, "key": "limit", "value": "10" }, { "description": { "content": "Offset index from where to begin getting trades.
\n", "type": "text/plain" }, "key": "offset", "value": "0" } ], "variable": [ { "description": { "content": "(Required) The id of the organization.
\n", "type": "text/plain" }, "type": "any", "value": "You can add categories to your library. For each, you can define translations. You can update existing categories.
\nCompared to category creation, you need to specify the ID of the category you want to manage.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization.
\n", "type": "text/plain" }, "type": "any", "value": "You can provide the list of category IDs you want to remove from your library. Those values won't be used as default project values, but they will still be usable in existing projects.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "For a given category, you can add models to your library. For each, you can define translations. You can also update existing models.
\nCompared to creation, you need to specify the ID of the ones you want to manage.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "You can provide the list of model IDs and their corresponding category IDs that you want to remove from your library. Those values won't be used as default project values, but they will still be usable in existing projects.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "Observations are used to insert comments, requests, and punchlists.
\nThey can be created at the project level, shared in groups, and localized on a project plan.
\nTo help everyone use them, they are categorized by trade (=category on the platform).
\nDefault values defined at the organization level will be deployed at each project creation. The project manager will be able to fine-tune the list.
\n", "_postman_id": "fba2adb1-e7e1-4e47-b120-b25b7687a5bd", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Get the list of form templates in your organization.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Number max of form templates to get.
\n", "type": "text/plain" }, "key": "limit", "value": "10" }, { "disabled": true, "description": { "content": "Offset index from where to begin getting form templates.
\n", "type": "text/plain" }, "key": "offset", "value": "0" } ], "variable": [ { "description": { "content": "(Required) The id of the organization.
\n", "type": "text/plain" }, "type": "any", "value": "You can provide the list of form template IDs you want to remove from your library. The templates will still be usable in existing projects.
\nDeletion cannot be undone.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization.
\n", "type": "text/plain" }, "type": "any", "value": "You can get a complete form template description.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Set the association between a form template and a custom report template previously uploaded.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "Get the association between a form template and a custom report template.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "(Required) The id of the form template
\n", "type": "text/plain" }, "type": "any", "value": "For a given form template you can list his statuses
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Forms are used to capture formatted information.
\nThey can be created at the project level, shared in groups, and localized on a project plan.
\nForm templates can be created at the organization and workspace levels. You can link them to one or several form module types in the module library at the organization and workspace levels. This organization will be inherited at the project level.
\n", "_postman_id": "45b580b3-0360-4096-bbc7-c0e2948a221d", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Before updating your priorities, you might want to have an overview of the ones deployed in your organization.
\nThis helps you manage your organization based on the current context.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Number max of priorities to get.
\n", "type": "text/plain" }, "key": "limit", "value": "10" }, { "description": { "content": "Offset index from where to begin getting priorities.
\n", "type": "text/plain" }, "key": "offset", "value": "0" }, { "description": { "content": "Module for witch get the priorities. Can be observation or form
\n", "type": "text/plain" }, "key": "moduleType", "value": "(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "Update your list of priorities.
\nThis cannot be done one by one. you need to manage your entire list of observation or form priorities to preserve all existing priorities. So, in case you want to...
\nadd new priorities to your list, you need to get the existing list, add the new ones to this list, and then send your request
\nremove priorities from your list, you need to get the existing list, remove the targeted ones, and then send the request
\nupdate some priorities, you need to get the existing list, change the targeted field values, and then send the request
\n(Required) The id of the organization to update.
\n", "type": "text/plain" }, "type": "any", "value": "Finalcad One allows users to create comments or controls using our observations and forms modules.
\nTo rank items, we provide priorities. You have the ability to define the observations and forms priorities. These two libraries are independent.
\nIn addition to a name, they are defined by a color and an icon, which helps with visual recognition in applications and reports. Here are the available colors and icons to define your set of priorities. Of course, one needs to be set as the default.
\n", "_postman_id": "57d9377c-08fb-4ad2-829a-e03c69cf9c1d", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Get the list of all existing form modules for a workspace.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "Number max of modules to get.
\n", "type": "text/plain" }, "key": "limit", "value": "Offset index from where to begin getting modules.
\n", "type": "text/plain" }, "key": "offset", "value": "You can create a custom form module in a specific workspace.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "You can modify a specific form module in a specific workspace.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "You can delete a specific module in a specific workspace.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "You can link form templates to a module in a workspace.
\n", "auth": { "type": "apikey", "apikey": { "basicConfig": [ { "key": "key", "value": "Authorization" }, { "key": "value", "value": "You can remove the link of form templates to a module in a workspace.
\n