Project

An Object

Note

Drop in one of our language drivers to accelerate your development.
Here are links to some of our popular Cookbooks to help you get started!

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

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

List Projecttypes

GET /projecttypes

Parameters

This function has no parameters.

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"
}