Insert Multiple Projects

POST/projects​/bulk/ — Use this method to create new projects.

Parameters

Path parameters

None

Query string parameter

Path parameter

Required / Optional

Description

Type

expand

Optional

A comma-separated list of attributes available for expansion. The comma-separated list may include spaces (or %20 in the URL encoded string).

Note:

The expand value must contain only attributes referencing a supported object type. If return_object is set to any value other than 0 (zero), and the comma-separated list includes at least one attribute that is not available for expansion, the request fails — an error is returned and the object is not added or updated. For more information about attributes available for expansion and supported object types, see Available Expansions and Supported Object Types.

string

fields

Optional

A comma-separated list of attributes to include in the response. If not specified, the response includes all attributes for the project returned.

string

filterSetId

Optional

The internal ID of the filter set to be applied.

  • When specified, the request is successful only if the action is available when the specified filter set is active in OpenAir. The filter set with the specified internal ID must exist and must be associated with the user who authorized the application as per the access token.

  • Otherwise and by default, the primary filter set associated with the user who authorized the application is applied.

integer

return_object

Optional

If set to any value other than 0 (zero), the response will return the project created. Otherwise, the response will include only the internal ID of the project created.

Boolean

Request body

The Project objects to be created. Each object must include valid key-value pairs for all required attributes and cannot include key-value pairs for read-only attributes. For information about the Project object model, see Project object properties.

Response definitions

A successful request returns a JSON object with the following properties:

Property

Description

data

An array containing one of the following:

  • The Project objects created, if the return_object parameter was set to any value other than 0 (zero) in the request. The object includes all the attributes specified using the fields if included in the request.

  • An object with only the internal ID of the project created.

See Returned Data.

included

An array of expanded objects, if the expand parameter was set in the request.

See Referenced Objects and Expansion.

meta

An object containing information about objects referenced by internal ID in the data array (object type and internal ID). Only returned if the return_object parameter was set to any value other than 0 (zero) in the request.

See Referenced Objects and Expansion.

message

A string containing a brief message about the status of your request — e.g. “Success”.

A failed request returns a JSON object with the following properties:

Property

Description

message

A string containing a brief message about the status of your request.

If your request includes multiple projects, both valid and invalid, the request will complete successfully for valid projects and return an error message for invalid projects — e.g. "Access to Project #372 denied". The response status will be 207 Multiple statuses returned.

If your request more than 100 projects, an error is returned — e.g. "Bulk action limit reached, sent 101 entities of 100 allowed".

Sample request

            POST /rest/v1/projects/bulk?return_object=1 HTTP/1.1
Host: company-id.app.openair.com
Content-Type: application/json
Authorization: Bearer <OAuth2_access_token>

{
   "1": {
      "attachments": [{"id": 6459}],
      "budget": 500000,
      "contactId": 537,
      "currency": "EUR",
      "customerId": 489,
      "name": "Hardware deployment",
      "userId": 174
   },
   "2": {
      "attachments": [{"id": 6475}],
      "budget": 300000,
      "contactId": 537,
      "currency": "EUR",
      "customerId": 489,
      "startDate": "2022-12-31",
      "name": "Software deployment",
      "userId": 174
   }
} 

          

In the example, <OAuth2_access_token> is the OAuth 2.0 access token obtained for the client application connecting to OpenAir. See Authentication.

Sample response

            {
    "message": "Multiple statuses returned"
    "data": [{
        "1": {
            "message": "Bad data",
            "errorFields": {
                "startDate":[{
                    "type": "required-field",
                    "message": "Required field Start date (DD/MM/YYYY)"
                }]
            }
        },
        "2": {"message": "success", "data": [{"id": 123}]}
    }]
}