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

In the request header, specify Basic for authorization, add your credentials (Login and password of your SnapLogic user or service account), and specify application/json for content type. For more details on accounts refer to Manage accounts.


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

Example of Basic authentication using Postman

When using JWT authentication, the API requests 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 token.


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

Example of JWT authenthication 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"
}