# Projects and project properties
Use the following endpoints to manage your projects and project properties programmatically.
# Quick reference
Type | Resource | Description |
---|---|---|
POST | /api/managed_users/managed_customer_ id/projects/:project_id/deploy?environment_type={env} | Deploy a project. The target environment is specified in the query parameters. This endpoint is only available for the DEV environment. |
GET | /api/managed_users/:managed_user_id/projects | List projects. |
DELETE | /api/managed_users/:managed_user_id/projects/:project_id | Delete a project. |
GET | /api/managed_users/:managed_user_id/properties | List project-level properties that match a prefix and project ID. |
POST | /api/managed_users/:managed_user_id/properties | Upsert project-level properties. |
# Deploy a project
Deploy a project. The target environment is specified in the query parameters. This endpoint is only available for the DEV environment.
# Sample request
POST /api/managed_users/managed_customer_id/projects/:project_id/deploy?environment_type=<env>
# Sample response
{
"id": 3905,
"created_at": "2024-03-10T13:08:53.344-08:00",
"updated_at": "2024-03-10T13:08:53.344-08:00",
"description": null,
"project_build_id": 6544,
"environment_type": "test",
"project_id": "35263",
"state": "pending",
"performed_by_name": "Barnaby"
}
# List projects
Lists all projects. Projects are top-level folders that typically encompass a single use case.
GET /api/managed_users/:managed_user_id/projects
# URL Parameters
Name | Type | Description |
---|---|---|
page | integer | Page number. Defaults to 1. |
per_page | integer | Page size. Defaults to 100 (maximum is 100). |
# Sample request
curl -X GET 'https://www.workato.com/api/managed_users/:managed_user_id/projects' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
# Response
{
"result": [
{
"id": 649122,
"description": "Coupa to Netsuite automations",
"folder_id": 1563029,
"name": "Procure to Pay"
},
{
"id": 604202,
"description": "Salesforce to Netsuite automations",
"folder_id": 1486330,
"name": "Order to Cash"
},
]
}
# Delete a project
Delete a project within your workspace. Projects are top-level folders that typically encompass a single use case.
PROJECT DELETION INCLUDES ASSETS
This action deletes a project and all of its contents. This includes all child folders, recipes, connections, and Workflow apps assets (if applicable) inside the project.
To use this endpoint, your API client role must have the following privilege:
- Delete project
DELETE /api/managed_users/:managed_user_id/projects/:project_id
# URL parameters
Name | Type | Description |
---|---|---|
managed_user_id | string required | Embedded customer ID/external ID. The External ID must be URL encoded and prefixed with an E (for example, EA2300 ). |
project_id | string required | The ID of the project you plan to delete. Retrieve a list of all projects in your workspace by calling the list projects endpoint. |
# Sample request
curl -X DELETE 'https://www.workato.com/api/managed_users/:managed_user_id/projects/54321' \
-H 'Authorization: Bearer <api_token>'
# Response
# Successful response
{
"success": "true"
}
# Unsuccessful response
If you attempt to delete a project and do not have the appropriate privileges, Workato returns the following response:
{
"message": "Cannot destroy folder"
}
# List project properties
Returns a list of project-level properties belonging to a specific project in a customer workspace that matches a project_id
you specify. You must also include a prefix. For example, if you provide the prefix salesforce_sync.
, any project property with a name beginning with salesforce_sync.
, such as salesforce_sync.admin_email
, with the project_id
you provided is returned.
GET /api/managed_users/:managed_user_id/properties
# URL Parameters
Name | Type | Description |
---|---|---|
managed_user_id | string required | Embedded customer ID/external ID. The external ID must be prefixed with an E (example: EA2300 ) and the resulting ID should be URL encoded. |
# Query parameters
Name | Type | Description |
---|---|---|
prefix | string required | Returns properties that contain the prefix you provided. For example, if the prefix is salesforce_sync. the property salesforce_sync.admin_email is returned. |
project_id | string required | Returns project-level properties that match the project_id you specify. If this parameter is not present, this call returns environment properties. |
# Sample request
curl -X GET 'https://www.workato.com/api/managed_users/19029/properties?prefix=salesforce_sync.&project_id=523144' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json'
# Response
{
"public_url": "https://www.example.com",
"admin_email": "jude.feeney@example.com"
}
# Upsert project properties
Upserts project properties belonging to a specific project in a customer workspace that matches a project_id
you specify. This endpoint maps to properties based on the names you provide in the request.
POST /api/managed_users/:managed_user_id/properties
# URL Parameters
Name | Type | Description |
---|---|---|
managed_user_id | string required | Embedded customer ID/external ID. The external ID must be prefixed with an E (example: EA2300 ) and the resulting ID should be URL encoded. |
# Query parameters
Name | Type | Description |
---|---|---|
project_id | string required | Provide the project ID that contains the project properties you plan to upsert. If this parameter is not present, this call upserts environment properties. |
# Payload
Name | Type | Description |
---|---|---|
properties | Hash required | Contains the names and values of the properties you plan to upsert. |
# Sample request
curl -X POST 'https://www.workato.com/api/managed_users/19029/properties?project_id=523144' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{ "properties": { "admin_email": "lucy.carrigan@example.com", "public_url": "https://www.example.com" }}'
# Response
{
"success": true
}
Last updated: 4/25/2024, 5:58:27 PM