Projects Controller Resource

The API allows you to list, view, edit and create projects.

GET /projects

Returns list of projects filtered by specified query parameters.

Request Parameters
name type description
authentication-domain query
backup query
direction query
filter query
hypervisor-manager query
nameLike query
orderBy query
page query
quota query
size query
uuid query
Response Body
media type data type description
application/json array of ProjectListRecord (JSON) list of projects filtered by specified query parameters

Example

Request
GET /projects
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "guid" : "...",
  "uuid" : "...",
  "name" : "...",
  "active" : true,
  "present" : true,
  "hvManager" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "quota" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "backupDestinations" : [ {
    "type" : {
      "name" : "ENUM_NAME",
      "description" : "Enum description"
    },
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "type" : {
      "name" : "...",
      "description" : "..."
    },
    "guid" : "...",
    "name" : "..."
  } ],
  "authenticationDomains" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
} ]
                
              

POST /projects

Create project.

Request Body
media type data type description
application/json ProjectRequest (JSON) specify details for new project
Response Body
media type data type description
application/json ProjectListRecord (JSON) details of newly created project

Example

Request
POST /projects
Content-Type: application/json
Accept: application/json

                
{
  "uuid" : "...",
  "name" : "...",
  "hvManager" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "active" : true,
  "backupDestinations" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "authenticationDomains" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "sourceAuthenticationDomain" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "quota" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "guid" : "...",
  "uuid" : "...",
  "name" : "...",
  "active" : true,
  "present" : true,
  "hvManager" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "quota" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "backupDestinations" : [ {
    "type" : {
      "name" : "ENUM_NAME",
      "description" : "Enum description"
    },
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "type" : {
      "name" : "...",
      "description" : "..."
    },
    "guid" : "...",
    "name" : "..."
  } ],
  "authenticationDomains" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              

GET /projects/for-restore

Returns list of projects filtered by specified query parameters.

Request Parameters
name type description
authentication-domain query
backup query
direction query
filter query
hypervisor-manager query
nameLike query
orderBy query
page query
quota query
size query
uuid query
Response Body
media type data type description
application/json array of ProjectForRestoreListRecord (JSON) list of projects filtered by specified query parameters

Example

Request
GET /projects/for-restore
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "guid" : "...",
  "uuid" : "...",
  "name" : "..."
} ]
                
              

PUT /projects/quota

Change quota for specified list of projects.

Request Body
media type data type description
application/json SingleAttributeBatchUpdate (JSON) specify quota and guids of projects
Response Body
media type data type description
application/json BatchResponse (JSON) list of successful and unsuccessful updates of quota

Example

Request
PUT /projects/quota
Content-Type: application/json
Accept: application/json

                
{
  "value" : "...",
  "entities" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "successful" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "unsuccessful" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              

GET /projects/rbac-contexts

Returns list of projects filtered by specified query parameters.

Request Parameters
name type description constraints
app-cmd-exec-config query  
cloud-service-provider query  
cluster query  
data-center query  
direction query  
filter query  
hypervisor query  
hypervisor-manager query  
nameLike query  
orderBy query  
page query  
project query  
size query  
storage-pool query  
storage-provider query  
teams-group query boolean
Response Body
media type data type description
application/json array of RbacContextListRecord (JSON) list of projects filtered by specified query parameters

Example

Request
GET /projects/rbac-contexts
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "nameAndGuid" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "uuid" : "...",
  "type" : "APPLICATION",
  "checked" : true,
  "lastLevel" : true,
  "present" : true,
  "entityType" : "...",
  "childrenQueryType" : "..."
} ]
                
              

DELETE /projects/{guid}

Remove project.

Request Parameters
name type description
guid path specify local unique identifier for project (use by vProtect)

Example

Request
DELETE /projects/{guid}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /projects/{guid}

Get a single project.

Request Parameters
name type description
guid path specify local unique identifier for project (use by vProtect)
Response Body
media type data type description
application/json ProjectListRecord (JSON) project details

Example

Request
GET /projects/{guid}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "guid" : "...",
  "uuid" : "...",
  "name" : "...",
  "active" : true,
  "present" : true,
  "hvManager" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "quota" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "backupDestinations" : [ {
    "type" : {
      "name" : "ENUM_NAME",
      "description" : "Enum description"
    },
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "type" : {
      "name" : "...",
      "description" : "..."
    },
    "guid" : "...",
    "name" : "..."
  } ],
  "authenticationDomains" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}
                
              

PUT /projects/{guid}

Change project details.

Request Parameters
name type description
guid path specify local unique identifier for project (use by vProtect)
Request Body
media type data type description
application/json ProjectUpdate (JSON) specify project details to update
Response Body
media type data type description
application/json ProjectListRecord (JSON) updated details of project

Example

Request
PUT /projects/{guid}
Content-Type: application/json
Accept: application/json

                
{
  "name" : "...",
  "active" : true,
  "backupDestinations" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "authenticationDomains" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "sourceAuthenticationDomain" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "quota" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "guid" : "...",
  "uuid" : "...",
  "name" : "...",
  "active" : true,
  "present" : true,
  "hvManager" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "quota" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "backupDestinations" : [ {
    "type" : {
      "name" : "ENUM_NAME",
      "description" : "Enum description"
    },
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "type" : {
      "name" : "...",
      "description" : "..."
    },
    "guid" : "...",
    "name" : "..."
  } ],
  "authenticationDomains" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ]
}