Create project
Creates a new project in the specified hub. You can create the project directly, or clone it from a project template.
- When you create a project directly (not from a template), this endpoint automatically adds all of the products that are associated with the current hub to the project and activates them.
- To clone the project from a template, provide the
templateobject in the request to specify the project template ID. The products and settings in the template are copied to the new project, and the products associated with the current hub are ignored.
Note that currently, a project that is cloned from a template does not have any project members assigned initially. You can assign all of the template project members to the project in bulk by calling POST projects/:projectId/users to assign a project administrator to the project. This administrator can be any user who is currently in the same hub as the project. This triggers the automatic process of assigning the template project members to the cloned project and activating them.
You can also create a project template. Include the classification field in the request with a value of template, and set the value of the type field to Template Project. You must provide both of these values, otherwise the request returns a 400 error. Use the Forma Build UI to edit the template details and permissions, add project members to the template, and configure the template’s notification settings.
Note that you cannot create a project template from another project template, but you can base it on a production project. Set the value of the template.projectId field to the id of the production project. The new project template is not completely configured for use, but it will get you started.
For more information about creating projects, see the Create and Configure Projects tutorial.
Note that the Authorization header token can be obtained either via a three-legged OAuth flow, or via a two-legged Oauth flow with user impersonation, for which the User-Id header is required.
Note that the products array is ignored in the request. However, the products in the project do appear in the response for this and other endpoints.
Note: This operation is not backward compatible with BIM 360 projects. It only works with Autodesk Construction Cloud projects.
Authentication
OAuth 2.0 (2-legged with impersonation) — application context with user impersonation
required. Send a User-Id header identifying the
member to act on behalf of; the token authorizes the application, while the operation is
evaluated against that member’s project permissions.
Client Credentials Flow
Token URL: https://developer.api.autodesk.com/authentication/v2/token
Scopes:
account:read— read account and project dataaccount:write— modify account and project data
OAuth 2.0 (3-legged) — user context required. Also accepts a Secure Service Account (SSA) token, which is headless like a two-legged flow but classified as three-legged because it preserves user context.
Authorization Code Flow
Authorization URL: https://developer.api.autodesk.com/authentication/v2/authorize
Token URL: https://developer.api.autodesk.com/authentication/v2/token
Refresh URL: https://developer.api.autodesk.com/authentication/v2/token
Scopes:
data:read— read your dataaccount:read— read account and project dataaccount:write— modify account and project data
Path parameters
The ID of the hub that contains the projects. This corresponds to the hub ID used in the Data Management API, with the “b.” prefix removed. For example, b.c8b0c73d-3ae9 becomes c8b0c73d-3ae9.
Headers
Specifies the region where your request should be routed. If not set, the request is routed automatically, which may result in a slight increase in latency.
Possible values: US, EMEA. For a complete list of supported regions, see the Regions page.
The ID of a user on whose behalf your request is acting.
Your app has access to all users specified by the administrator in the SaaS integrations UI. Provide this header value to identify the user to be affected by the request.
You can use either the user’s Forma ID (id), or their Autodesk ID (autodeskId).
Note that this header is required for hub Admin POST, PATCH, and DELETE endpoints if you want to use a 2-legged authentication context. This header is optional for hub Admin GET endpoints.
Request
The name and type fields are required. All other fields are optional.
If you include the project.template object in the request, the new project’s products and settings will match those of the template project. If you exclude project.template, the endpoint automatically activates all of the products associated with the Forma platform for the new project.
Note that the products array is ignored in the request. However, it does appear in the response for endpoints that return it (including this endpoint).
The type of the project. Any value is accepted, but the following are recommended:
Possible values: Convention Center, Data Center, Hotel / Motel, Office, Parking Structure / Garage, Performing Arts, Restaurant, Retail, Stadium / Arena, Theme Park, Warehouse (non-manufacturing), Assisted Living / Nursing Home, Hospital, Medical Laboratory, Medical Office, OutPatient Surgery Center, Court House, Dormitory, Education Facility, Government Building, Library, Military Facility, Museum, Prison / Correctional Facility, Recreation Building, Religious Building, Research Facility / Laboratory, Multi-Family Housing, Single-Family Housing, Airport, Bridge, Canal / Waterway, Dams / Flood Control / Reservoirs, Harbor / River Development, Rail, Seaport, Streets / Roads / Highways, Transportation Building, Tunnel, Waste Water / Sewers, Water Supply, Manufacturing / Factory, Mining Facility, Oil & Gas, Plant, Power Plant, Solar Farm, Utilities, Wind Farm, Demonstration Project, Template Project and Training Project.
The classification of the project. Possible values:
production– Standard project.template– A project that serves as a template for creating new projects.component– A placeholder project containing reusable components (e.g., forms). Only one component project is allowed per hub. Known as a library in the Forma UI.sample– A single sample project automatically created for Forma trials (limited to one per hub).
Contains details about the estimated cost of the project, including the amount (value) and the currency (currency).
The status of the project.
Possible values: active, pending, archived and suspended.
A user-defined identifier for the project. This value is assigned when the project is created and can be used to filter projects. It supports partial matches when used with filterTextMatch.
The first line of the project’s address.
The state or province where the project is located. It must be a valid name or an ISO 3166-2 code. The provided state or province must exist in the country of the project.
The country where the project is located, using an ISO 3166-1 alpha-2 code.
The time zone where the project is located. It must be a valid IANA time zone name from the IANA Time Zone Database (e.g., America/New_York). If no time zone is set, this field may be null.
The type of construction for the project. Recommended values: New Construction, Renovation. Any value is accepted.
The method used to deliver the project. Recommended values include Design-Bid-Build, Construction Management (CM) at Risk, and Integrated Project Delivery (IPD). Any value is accepted.
The type of contract for the project. For example, Lump Sum, Cost Plus, Guaranteed Maximum Price, Unit Price. Any value is accepted.
The current phase of the project. Recommended values include, Concept, Design, Bidding, Planning, Preconstruction, Construction, Commissioning, Warranty, Complete, Facility Management, Operation, Strategic Definition, Preparation and Brief, Concept Design, Developed Design, Technical Design, Construction, Handover and Close Out and In Use.
Any value is accepted.
The total number of sheets associated with the project.
Note that this field is relevant only in responses. It is ignored in requests.
The APS platform where the project is stored. Possible values: acc, bim360.
Note that this field is relevant only in responses. It is ignored in requests.
The total number of companies associated with the project.
Note that this field is relevant only in responses. It is ignored in requests.
The total number of members on the project.
Note that this field is relevant only in responses. It is ignored in requests.
Information about a project in the current user’s hub that is configured as a template from which to copy products and settings when creating a new project:
- If you include this object in a POST accounts/:accountId/projects request, the cloned project’s products and settings will match those of the template project.
- If you omit this object from a POST accounts/:accountId/projects request, all of the current Forma hub’s products are added to the cloned project and activated.
Response headers
The number of requests remaining in the current rate-limit window.
Response
The type of the project. Any value is accepted, but the following are recommended:
Possible values: Convention Center, Data Center, Hotel / Motel, Office, Parking Structure / Garage, Performing Arts, Restaurant, Retail, Stadium / Arena, Theme Park, Warehouse (non-manufacturing), Assisted Living / Nursing Home, Hospital, Medical Laboratory, Medical Office, OutPatient Surgery Center, Court House, Dormitory, Education Facility, Government Building, Library, Military Facility, Museum, Prison / Correctional Facility, Recreation Building, Religious Building, Research Facility / Laboratory, Multi-Family Housing, Single-Family Housing, Airport, Bridge, Canal / Waterway, Dams / Flood Control / Reservoirs, Harbor / River Development, Rail, Seaport, Streets / Roads / Highways, Transportation Building, Tunnel, Waste Water / Sewers, Water Supply, Manufacturing / Factory, Mining Facility, Oil & Gas, Plant, Power Plant, Solar Farm, Utilities, Wind Farm, Demonstration Project, Template Project and Training Project.
The classification of the project. Possible values:
production– Standard project.template– A project that serves as a template for creating new projects.component– A placeholder project containing reusable components (e.g., forms). Only one component project is allowed per hub. Known as a library in the Forma UI.sample– A single sample project automatically created for Forma trials (limited to one per hub).
Contains details about the estimated cost of the project, including the amount (value) and the currency (currency).
The status of the project.
Possible values: active, pending, archived and suspended.
A user-defined identifier for the project. This value is assigned when the project is created and can be used to filter projects. It supports partial matches when used with filterTextMatch.
The first line of the project’s address.
The state or province where the project is located. It must be a valid name or an ISO 3166-2 code. The provided state or province must exist in the country of the project.
The country where the project is located, using an ISO 3166-1 alpha-2 code.
The time zone where the project is located. It must be a valid IANA time zone name from the IANA Time Zone Database (e.g., America/New_York). If no time zone is set, this field may be null.
The type of construction for the project. Recommended values: New Construction, Renovation. Any value is accepted.
The method used to deliver the project. Recommended values include Design-Bid-Build, Construction Management (CM) at Risk, and Integrated Project Delivery (IPD). Any value is accepted.
The type of contract for the project. For example, Lump Sum, Cost Plus, Guaranteed Maximum Price, Unit Price. Any value is accepted.
The current phase of the project. Recommended values include, Concept, Design, Bidding, Planning, Preconstruction, Construction, Commissioning, Warranty, Complete, Facility Management, Operation, Strategic Definition, Preparation and Brief, Concept Design, Developed Design, Technical Design, Construction, Handover and Close Out and In Use.
Any value is accepted.
The URL of the main image associated with the project. This field can be null.
The URL of the project’s thumbnail image. This field can be null.
The total number of sheets associated with the project.
Note that this field is relevant only in responses. It is ignored in requests.
The APS platform where the project is stored. Possible values: acc, bim360.
Note that this field is relevant only in responses. It is ignored in requests.
The total number of companies associated with the project.
Note that this field is relevant only in responses. It is ignored in requests.
The total number of members on the project.
Note that this field is relevant only in responses. It is ignored in requests.
Not relevant - we don’t currently support this field.