TeamGriddeveloper
TeamGrid Developer

projects SDK client

10 typed @teamgrid/api-client methods for Projects, plus 1 convenience helper.

Client propertyclient.projects
Mapped operations10
API groupsProjects

Operation methods

Parameter declarations below are taken from the pinned TypeScript source. Request fields and responses are summarized from the matching OpenAPI operation; follow the API link for every field, constraint, example, and error description.

GET/projects
Full API operation →

projects.list

Use this operation to list projects. It returns only resources visible to the credential and applies the documented filters before producing a bounded, stable page. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.

client.projects.list(options: ProjectListOptions = {})
Return form
Promise
Operation ID
listProjects
Required scopes
projects:read
SDK parameters
options: ProjectListOptions
Query request fields
cursor?: stringlimit?: integerarchived?: booleancompleted?: booleancontactId?: stringcreatedById?: stringindividualId?: stringlistId?: stringmanagerId?: stringsubscriberId?: string
Success
200 Array<Project> envelope
Declared API errors
400401403429503
POST/projects
Full API operation →

projects.create

Use this operation to create a project. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.

client.projects.create(data: ProjectCreate, options?: MutationOptions)
Return form
Promise
Operation ID
createProject
Required scopes
projects:write
SDK parameters
data: ProjectCreateoptions: MutationOptions
Header request fields
Idempotency-Key: string
Request body
ProjectCreateapplication/json
Success
200 Project envelope201 Project envelope
Declared API errors
400401403409429502503
GET/projects/{id}
Full API operation →

projects.get

Use this operation to get a project. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.

client.projects.get(id: string, options?: RequestOptions)
Return form
Promise
Operation ID
getProject
Required scopes
projects:read
SDK parameters
id: stringoptions: RequestOptions
Path request fields
id: string
Success
200 Project envelope
Declared API errors
400401403404429503
PATCH/projects/{id}
Full API operation →

projects.update

Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.

client.projects.update(id: string, data: ProjectUpdate, options: ProjectMutationOptions)
Return form
Promise
Operation ID
updateProject
Required scopes
projects:write
SDK parameters
id: stringdata: ProjectUpdateoptions: ProjectMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Request body
ProjectUpdateapplication/json
Success
200 Project envelope
GET/projects/{id}/sharing
Full API operation →

projects.getSharing

Use this operation to get project sharing. It returns the resource only when it belongs to the authenticated workspace and is visible to the credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request.

client.projects.getSharing(id: string, options?: RequestOptions)
Return form
Promise
Operation ID
getProjectSharing
Required scopes
projects:sharing
SDK parameters
id: stringoptions: RequestOptions
Path request fields
id: string
Success
200 ProjectSharing envelope
Declared API errors
400401403404429503
PUT/projects/{id}/sharing
Full API operation →

projects.replaceSharing

Requires exactly one latest strong resource ETag. The cell-local App re-authenticates and atomically compares the tenant-bound revision before mutation.

client.projects.replaceSharing(id: string, data: ProjectSharingReplace, options: ProjectSharingMutationOptions)
Return form
Promise
Operation ID
replaceProjectSharing
Required scopes
projects:sharing
SDK parameters
id: stringdata: ProjectSharingReplaceoptions: ProjectSharingMutationOptions
Path request fields
id: string
Header request fields
If-Match: string
Request body
ProjectSharingReplaceapplication/json
Success
200 ProjectSharing envelope
POST/projects/{id}/complete
Full API operation →

projects.complete

Use this operation to complete a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.

client.projects.complete(id: string, options: ProjectLifecycleMutationOptions)
Return form
Promise
Operation ID
completeProject
Required scopes
projects:lifecycle
SDK parameters
id: stringoptions: ProjectLifecycleMutationOptions
Path request fields
id: string
Header request fields
If-Match: stringIdempotency-Key: string
Success
202 ProjectLifecycleOperation envelope
POST/projects/{id}/reopen
Full API operation →

projects.reopen

Use this operation to reopen a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.

client.projects.reopen(id: string, options: ProjectLifecycleMutationOptions)
Return form
Promise
Operation ID
reopenProject
Required scopes
projects:lifecycle
SDK parameters
id: stringoptions: ProjectLifecycleMutationOptions
Path request fields
id: string
Header request fields
If-Match: stringIdempotency-Key: string
Success
202 ProjectLifecycleOperation envelope
POST/projects/{id}/archive
Full API operation →

projects.archive

Use this operation to archive a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.

client.projects.archive(id: string, options: ProjectLifecycleMutationOptions)
Return form
Promise
Operation ID
archiveProject
Required scopes
projects:lifecycle
SDK parameters
id: stringoptions: ProjectLifecycleMutationOptions
Path request fields
id: string
Header request fields
If-Match: stringIdempotency-Key: string
Success
202 ProjectLifecycleOperation envelope
POST/projects/{id}/restore
Full API operation →

projects.restore

Use this operation to restore a project asynchronously. The server validates the complete payload and derives workspace ownership from the authenticated credential. Required scopes, product permissions, sharing rules, workspace locks, and regional cell ownership are enforced for every request. Send the latest strong ETag in If-Match; stale revisions fail without overwriting a concurrent change. Use a stable Idempotency-Key when retrying so a transport timeout cannot create duplicate work.

client.projects.restore(id: string, options: ProjectLifecycleMutationOptions)
Return form
Promise
Operation ID
restoreProject
Required scopes
projects:lifecycle
SDK parameters
id: stringoptions: ProjectLifecycleMutationOptions
Path request fields
id: string
Header request fields
If-Match: stringIdempotency-Key: string
Success
202 ProjectLifecycleOperation envelope

Convenience helpers

These typed helpers compose mapped operations. They do not grant scopes or bypass API limits.

projects.pages

Iterate cursor pages with a bounded PaginationOptions policy.

client.projects.pages(options?: ProjectListOptions, pagination?: PaginationOptions)
Returns AsyncGenerator

Errors and transport metadata

HTTP failures reject with TeamGridApiError, including the status, stable error documents, request ID, optional retry delay, and transport metadata. Local validation, routing, timeout, response-size, and pagination failures reject withTeamGridClientError and a stable client error code. Successful envelopes expose non-enumerable transport metadata.

See pagination and errors andclient configuration for handling guidance.

Stable documentation · Developer Platform · Reviewed 2026-08-10Edit this page ↗
Documentation feedbackWas this page useful?
Esc

Search TeamGrid Developer

Find guides, concepts and every API operation.