Project
An Object
Table of Contents
| Note |
Parent
This Project is contained within a Platform.
Properties
The following properties are available:
| Property | Type | Default | Read-Only | Description |
|---|---|---|---|---|
| _doc | string | No | The primary ID | |
| _system | object | No | Metadata maintained by the system | |
| projectType | string | No | ||
| stackId | string | No |
Methods
The following methods are available:
- Check Permission
- Check Single Authority
- Check multiple Authorities
- Check multiple Permissions
- Copy Content Project
- Create Project
- Create User
- Create Workflow
- Delete Attachment
- Delete Project
- Delete Project
- Delete User
- Download Attachment
- Download Preview
- Export Project
- Grant Authority
- Import Project
- Invite Users
- List Attachments
- List Projecttypes
- Lists Project
- Queries for Project
- Query
- Query
- Read ACL
- Read ACL for Principal
- Read API Keys
- Read Authorities Report
- Read Project
- Read Team
- Read User
- Revoke Authority
- Start Projects
- Update Project
- Update Project
- Upload Attachment
- Upload Attachments
Check Permission
Checks whether one or more authorities against the specified project are granted for a given set of users
POST /projects/{projectId}/permissions/{permissionId}/check
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| permissionId | true | string | The ID of the permission |
| id | true | string |
Response
{
"$ref": "#/components/schemas/checkPermission"
}
Check Single Authority
Checks whether a single authority is granted against the specified project for the given user
POST /projects/{projectId}/authorities/{authorityId}/check
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |
Response
{
"type": "object",
"description": "Check",
"extends": "status",
"properties": {
"check": {
"type": "boolean"
},
"ok": null
}
}
Check multiple Authorities
Checks whether one or more authorities against the specified project are granted for a given set of users
POST /projects/authorities/check
Parameters
This function has no parameters.
Response
{
"type": "object",
"description": "Check Multiple Authorities Out",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"permissionedId": {
"type": "string"
},
"principalId": {
"type": "string"
},
"authorityId": {
"type": "string"
},
"result": {
"type": "boolean"
}
}
}
}
}
}
Check multiple Permissions
Checks whether one or more permissions against the specified project are granted for a given set of users
POST /projects/permissions/check
Parameters
This function has no parameters.
Response
{
"type": "object",
"description": "Check Multiple Permissions Out",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"permissionedId": {
"type": "string"
},
"principalId": {
"type": "string"
},
"permissionId": {
"type": "string"
},
"result": {
"type": "boolean"
}
}
}
}
}
}
Copy Content Project
POST /projects/{projectId}/copy-content
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Create Project
Creates a new Project
POST /projects
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| isProtected | false | boolean | |
| exportTipChangesetOnly | false | boolean | |
| exportSelectedBranchIds | false | string | |
| autoPublish | false | boolean |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Create User
POST /projects/{projectId}/users
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Create Workflow
POST /projects/{projectId}/workflow/create
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| modelId | true | string |
Delete Attachment
Deletes an attachment
DELETE /projects/{projectId}/attachments/{attachmentId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| attachmentId | true | string |
Delete Project
Deletes an existing Project
POST /projects/{projectId}/delete
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Delete Project
Deletes an existing Project
DELETE /projects/{projectId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Delete User
DELETE /projects/{projectId}/users/{userId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| userId | true | string | The ID of the user |
Download Attachment
Downloads an attachment
GET /projects/{projectId}/attachments/{attachmentId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| attachmentId | true | string |
Download Preview
Downloads a preview stream of a project attachment
GET /projects/{projectId}/preview/{name}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| name | true | string |
Export Project
Starts an export job for this resource
POST /projects/{projectId}/export
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| groupId | false | string | The Group ID to be assigned to the exported archive |
| artifactId | false | string | The Artifact ID to be assigned to the exported archive |
| versionId | false | string | The Version ID to be assigned to the exported archive |
| vaultId | false | string | The ID of the vault where the exported archive should be saved |
| schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |
Response
{
"type": "object",
"description": "Export Configuration",
"properties": {
"startDate": {
"type": "object",
"description": "Only include objects whose modification date is after this time (epoch millis). This is used for partial or rolling exports."
},
"endDate": {
"type": "object",
"description": "Only include objects whose modification date is before this time (epoch millis). This is used for partial or rolling exports."
},
"startChangeset": {
"type": "string",
"description": "Only include data that is relevant to changesets at or beyond the specified changeset."
},
"endChangeset": {
"type": "string",
"description": "Only include data that is relevant to changesets at or before the specified changeset."
},
"includeACLs": {
"type": "boolean",
"default": true,
"description": "Whether to include ACLs during export."
},
"includeTeams": {
"type": "boolean",
"default": true,
"description": "Whether to include Teams during export."
},
"includeActivities": {
"type": "boolean",
"default": true,
"description": "Whether to include Activities during export."
},
"includeBinaries": {
"type": "boolean",
"default": true,
"description": "Whether to include Binaries for data stores during export."
},
"includeAttachments": {
"type": "boolean",
"default": true,
"description": "Whether to include Attachments for Attachables during export."
},
"artifactDependencies": {
"type": "array",
"items": {
"type": "object"
}
},
"artifactIncludes": {
"type": "array",
"items": {
"type": "object"
}
},
"forceIncludes": {
"type": "boolean"
}
}
}
Grant Authority
Grants an authority against the specified project to a given user
POST /projects/{projectId}/authorities/{authorityId}/grant
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Import Project
Starts an import job for this resource
POST /projects/{projectId}/import
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| groupId | false | string | The Group ID to be assigned to the exported archive |
| artifactId | false | string | The Artifact ID to be assigned to the exported archive |
| versionId | false | string | The Version ID to be assigned to the exported archive |
| vaultId | false | string | The ID of the vault where the exported archive should be saved |
| schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |
Response
{
"type": "object",
"description": "Import Configuration",
"properties": {
"includeACLs": {
"type": "boolean",
"default": true,
"description": "Whether to include ACLs during import."
},
"includeTeams": {
"type": "boolean",
"default": true,
"description": "Whether to include Teams during import."
},
"includeActivities": {
"type": "boolean",
"default": true,
"description": "Whether to include Activities during import."
},
"includeBinaries": {
"type": "boolean",
"default": true,
"description": "Whether to include Binaries for data stores during import."
},
"includeAttachments": {
"type": "boolean",
"default": true,
"description": "Whether to include Attachments for Attachables during import."
},
"strategy": {
"type": "array",
"items": {
"type": "string"
},
"default": "CLONE",
"description": "Either CLONE or COPY_EVERYTHING. Use CLONE to keep the same IDs on import. Use COPY_EVERYTHING to generate all new IDs for all entries on every import."
},
"substitutions": {
"type": "string"
}
}
}
Invite Users
POST /projects/{projectId}/users/invite
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| id | true | string |
List Attachments
Lists the attachments for a project
GET /projects/{projectId}/attachments
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Lists Project
Retrieves a list of Project instances
GET /projects
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| sort | false | object | Defines how to sort fields in the result set |
| skip | false | number | Skips the result set cursor ahead the specified number of records |
| limit | false | number | Specifies the number of records to be handed back in the result set |
This method supports pagination.
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_project"
}
}
}
}
Queries for Project
Queries for instances of type Project
POST /projects/query
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| sort | false | object | Defines how to sort fields in the result set |
| skip | false | number | Skips the result set cursor ahead the specified number of records |
| limit | false | number | Specifies the number of records to be handed back in the result set |
This method supports pagination.
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_project"
}
}
}
}
Query
Queries for matches
POST /projects/{projectId}/users/query
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| sort | false | object | Defines how to sort fields in the result set |
| skip | false | number | Skips the result set cursor ahead the specified number of records |
| limit | false | number | Specifies the number of records to be handed back in the result set |
This method supports pagination.
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap"
}
}
}
}
Query
Queries for matches
POST /projects/{projectId}/teams/query
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| sort | false | object | Defines how to sort fields in the result set |
| skip | false | number | Skips the result set cursor ahead the specified number of records |
| limit | false | number | Specifies the number of records to be handed back in the result set |
This method supports pagination.
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_team"
}
}
}
}
Read ACL
Read the Access Control List for the specified project
GET /projects/{projectId}/acl/list
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Response
{
"type": "object",
"description": "Result Map of ACL entries",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_doc": {
"type": "string",
"title": "Principal ID"
},
"name": {
"type": "string",
"title": "Principal Name"
},
"type": {
"type": "string",
"title": "Principal Type"
},
"domainId": {
"type": "string"
},
"domainQualifiedId": {
"type": "string"
},
"domainQualifiedName": {
"type": "string"
},
"principalId": {
"type": "string",
"title": "Principal ID"
},
"userEmail": {
"type": "string"
},
"userFirstName": {
"type": "string"
},
"userLastName": {
"type": "string"
},
"authorities": {
"type": "array",
"title": "Authorities",
"items": {
"type": "string",
"title": "Authority Key"
}
}
}
}
}
}
}
Read ACL for Principal
Reads the ACL for a project and specific actor
GET /projects/{projectId}/acl
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| id | true | string |
Response
{
"type": "object",
"description": "Result Map of Authority Keys",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "string",
"description": "Authority Key"
}
}
}
}
Read API Keys
Retrieves API Keys for the given project
GET /projects/{projectId}/apikeys
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Read Authorities Report
Read the Authorities Report for the specified project
POST /projects/{projectId}/authorities
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Response
{
"type": "object",
"description": "Authority Report",
"properties": {
"principalId": {
"type": "object",
"properties": {
"id": {
"type": "object",
"properties": {
"role-key": {
"type": "string"
},
"principal": {
"type": "string"
},
"permissioned": {
"type": "string"
},
"inheritsFrom": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"principal": {
"type": "string"
},
"permissioned": {
"type": "string"
}
}
}
}
}
}
}
}
}
Read Project
Reads an instance of a Project
GET /projects/{projectId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Response
{
"type": "object",
"extends": "document",
"description": "Project",
"container": "platform",
"properties": {
"stackId": {
"type": "string"
},
"projectType": {
"type": "string"
},
"_doc": null,
"_system": null
}
}
Read Team
GET /projects/{projectId}/teams/{teamId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| teamId | true | string |
Read User
GET /projects/{projectId}/users/{userId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| userId | true | string | The ID of the user |
Revoke Authority
Revokes an authority against the specified project from a given user
POST /projects/{projectId}/authorities/{authorityId}/revoke
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| authorityId | true | string | The ID or authority key for the authority |
| id | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Start Projects
POST /projects/start
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| isProtected | false | boolean | |
| exportTipChangesetOnly | false | boolean | |
| exportSelectedBranchIds | false | string | |
| autoPublish | false | boolean |
Update Project
Updates an existing Project
POST /projects/{projectId}/update
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Update Project
Updates an existing Project
PUT /projects/{projectId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Upload Attachment
Uploads an attachment
POST /projects/{projectId}/attachments/{attachmentId}
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
| attachmentId | true | string |
Upload Attachments
Uploads one or more attachments
POST /projects/{projectId}/attachments
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| projectId | true | string | The ID of the project |
Schema
{
"type": "object",
"extends": "document",
"description": "Project",
"container": "platform",
"properties": {
"stackId": {
"type": "string"
},
"projectType": {
"type": "string"
},
"_doc": null,
"_system": null
},
"id": "project"
}