# 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