Create new project or project space

POST https://{controlplane_path}/api/1/rest/public/assetapi/project/{project_or_space_path}      

Overview

This API creates a new project or project space at the specified path with the specified permissions.

To assign admin privileges to other users, use one of the following APIs to add them to the admins group:
  • PATCH /groups/{env_org}/{groupname}
  • PUT /groups/{env_org}/{groupname}

Prerequisites

  • Environment (Org) admin permissions or Full Access permissions to the project or project space

Path parameters

Key Description
controlplane_path Required. The path to the SnapLogic control plane: elastic.snaplogic.com
For the UAT or EMEA control plane, substitute the name for elastic. For example:
  • uat.elastic.snaplogic.com
  • emea.snaplogic.com
project_or_space_path Required. The path to the SnapLogic project or project space.
Format:
  • Project: /{env_org}/{project_space}/{project_name}
  • Project space: /{env_org}/{project_space}
Important: The path comparison is case-sensitive.
Note: The names of assets, projects, or project spaces are limited to UTF-8 alphanumeric characters and these special characters: !"$%&'()*+,-.:;<=>@[]^_`{|}~.

Query parameters

None.

Request header

Basic authentication

To use basic authentication, specify Basic for authorization in the request header, add your credentials (email and password for your SnapLogic user or service account), and specify application/json for content type. For example:


Authorization: Basic {base64_encoded <email>:<password>}
Content-Type: application/json
          

Example of basic authentication using Postman:

Learn more about the basic authentication header in REST API requests.

JWT authentication

When using JWT authentication, the API request includes specific headers. In the request header, specify Bearer Token for authorization, add the token, and specify application/json for content type. These headers are automatically added when you configure bearer token authentication in your API client. The authorization header contains the word Bearer followed by a space and your JWT.


Authorization: Bearer Token {token}
Content-Type: application/json
          

Example of JWT authentication using Postman:

Request body


{
  "permissions": [
    {
      "perms": [
        "R"
      ],
      "inherit": true,
      "subject_type": "USER",
      "subject": "[email protected]"
    }
  ]
}
Key Type Description
perms array An array containing one or more of the following permissions:
  • "R" – read
  • "W" – write
  • "X" – execute

Learn more: Permissions in Manager and in APIs

inherit Boolean If true, the permissions also apply to all assets in the specified project or project space.
subject_type string The type of the subject.
Valid values:
  • USER
  • GROUP
subject string The user or group who can access the new project or project space.

Response


{
  "name": "testproject",
  "owner": "[email protected]",
  "updated_by": "[email protected]",
  "time_created": "2024-08-28T10:59:07.200000+00:00",
  "time_updated": "2024-08-28T10:59:07.200000+00:00",
  "time_leased": null,
  "snode_id": "66cf02fb936b46054048839b",
  "acl": [
    {
      "subject_type": "USER",
      "subject": "[email protected]",
      "perms": [
        "R"
      ],
      "inherit": true
    }
  ],
  "asset_id": null,
  "asset_type": "Dir",
  "lease_info": {},
  "perms": [
    "R",
    "A",
    "W",
    "X"
  ],
  "metadata": {},
  "parent_snode_id": "663b7e71ffa71c2bb8ec1d47",
  "partition_snode_id": "663b7e71ffa71c2bb8ec1d47",
  "path": "/Automation2/abc/testproject"
}