Project
Any experience is called a "project" in the GMetri SDK.
The field you are most interested in is the "json" field, which is an object of type RecordNode<RT.project>
Changes to the project body (project.json
) can be sent in via the updateJSON API which takes in the whole json at once or the applyJSONPatches which allows you send in an array of diffs.
In case you send patches, they need to be an array of type "JSON patches" https://immerjs.github.io/immer/patches/
Create Project
POST
https://api.gmetri.com/sdk/project/create
Create new project with default JSON.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Token <apiToken> |
Request Body
Name | Type | Description |
---|---|---|
name* | String | The name of project |
orgSlug* | String | The unique identification string of organization |
Get Project
POST
https://api.gmetri.com/sdk/project/get
Get the project using project uuid
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Token <apiToken> |
Request Body
Name | Type | Description |
---|---|---|
projUuid* | String | Unique identifier of the project (UUID format) |
Get All Project
POST
https://api.gmetri.com/sdk/project/getAll
Get all project for the orgnization
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Token <apiToken> |
Request Body
Name | Type | Description |
---|---|---|
orgSlug* | String | |
searchString | String | Search project by name |
sortKey* | String | Get project by sorted order by ["modified_at" | "created_at" | "name"] |
orderBy* | String | "ASC" | "DESC" |
limit* | String | No of records |
offset* | String | Next page offset to support pagination |
Update Project
POST
https://api.gmetri.com/sdk/project/update
Update project name or tag by project uuid
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Token <apiToken> |
Request Body
Name | Type | Description |
---|---|---|
projUuid* | String | |
name | String | Project new name |
tags | Array of String | Project tag |
Delete Project
POST
https://api.gmetri.com/sdk/project/delete
Delete project by project uuid
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Token <apiToken> |
Request Body
Name | Type | Description |
---|---|---|
projUuid* | String |
Get Project JSON
POST
https://api.gmetri.com/sdk/project/getJSON
Get Project JSON by project uuid
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Token <apiToken> |
Request Body
Name | Type | Description |
---|---|---|
projUuid* | String |
Update JSON
POST
https://api.gmetri.com/sdk/project/updateJSON
Update project json(RecordNode<RT.project>) by project uuid
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Token <apiToken> |
Request Body
Name | Type | Description |
---|---|---|
projUuid* | String | |
json* | Object | rJSON of the project RecordNode<RT.project> |
Apply JSON Patches
POST
https://api.gmetri.com/sdk/project/applyJSONPatches
Apply JSON patches and by getting diff JSON and update new JSON by project uuid
Headers
Name | Type | Description |
---|---|---|
Authorization* | String |
Request Body
Name | Type | Description |
---|---|---|
projUuid* | String | |
patches* | Object | JSON patches https://immerjs.github.io/immer/patches/ |
Duplicate Project
POST
https://api.gmetri.com/sdk/project/duplicate
Make copy of project inside same organization
Headers
Name | Type | Description |
---|---|---|
Authorization* | String |
Request Body
Name | Type | Description |
---|---|---|
projUuid* | String | |
orgSlug* | String |
Last updated