Creating projects

Create a project in a particular tenant.

Before you begin

  • Administrators or developers can create a project.

Procedure

  1. In a REST client platform, add the authentication details of the tenant where you want to create a project.
  2. Optional: You can provide a UID for the project. If not provided, a unique identifier is automatically generated.
  3. Optional: Provide the externalGitDetails including gitAccountName, pathToRepository, and branch to link the project to an external Git.
    Note:
    • Project UID must be 24 characters long. It can start with any prefix, such as pr.
    • Project UID must be unique.
    • When same project UID is used in other environments, ensure that the project name is also the same.
    
    //In case of Instance API key 
    Headers:
    {
    "x-instance-api-key": "instance_api_key"
    }
    Body
    {    "name": "<ProjectName>",
        "UID": "<project_uid>",
        "externalGitDetails": {   
             "gitAccountName": "<GitaccountName>", 
             "pathToRepository": "<path_to_the_repository>",
             "branch": "<BranchName>"    
                              },   
        "syncStorage": "git",  
        ”visibility”: “<Indicates the project access. It can be either private or public>”,
    }
    
     
    // In case of MCSP or ISV token
    Headers:
    {
    "Authorization": "Bearer mcsp_or_isv_token"
    }
    Body
    {    "name": "<ProjectName>",
        "UID": "<project_uid>",
        "externalGitDetails": {   
             "gitAccountName": "<GitaccountName>", 
             "pathToRepository": "<path_to_the_repository>",
             "branch": "<BranchName>"    
                              },   
        "syncStorage": "git",
        ”visibility”: “<Indicates the project access. It can be either private or public>”,  
    }
    
    Body for External project
    {
    	"name": "<ProjectName>",
    	"externalGitDetails": {
    		"principalRepository": {
    			"githubAccountId": "<GitaccountName>",
    			"pathToRepository": "<path_to_the_repository>",
    			"branch": "<BranchName>"
    		}
    	},
    	"syncStorage": "git",
    	"visibility": "<specifies whether a project is accessible to others or restricted>"
    }
  4. Make a POST request.
    URL Syntax - <domain>/apis/v1/rest/projects

    Method - POST

    If the request is successful, you receive the response code for success.
    
     output : 
    		{
    		name: <project_name>,
    		uid: <project_uid>,
    		tenant_uid: <project_tenant_uid>,
    		workflow_count: <workflow_count>,
    		flowservice_count: <flowservice_count>
                 visibility: <Indicates the project access. It can be either private or public>,
    		}