Skip to content

API collections cannot be synced — no pull/push path for workspace-level collections #62

Description

@zaynelt

Problem

API collections that exist as workspace-level resources (not inside a project folder) cannot be synced. wk pull is folder-based — it exports via the Packages API using a folderID, so workspace-level collections are unreachable.

The CLI can manage collections via wk api collections list/create and endpoints via wk api endpoints list/enable/disable, but there is no sync (pull/push) support for them.

Observed behavior

  • A workspace has an API collection (e.g. dewy-resort-guest) that is not inside any project folder
  • wk pull has no way to reach it — pull only operates on [[sync]] entries mapped to server folders
  • wk api collections list can see it; wk api endpoints list --collection <id> can list its endpoints
  • But there is no wk api collections pull or equivalent to sync collection definitions to/from disk

What the CLI currently supports for collections

Operation Collections Endpoints
List wk api collections list wk api endpoints list
Create wk api collections create --
Get by ID -- --
Update -- --
Delete -- --
Enable/Disable -- wk api endpoints enable/disable
Pull/Push -- --

Workato Platform API surface (validated against docs)

Per Workato API Resources, the full API Platform surface is:

Method Endpoint Description
GET /api/api_collections List API collections
POST /api/api_collections Create an API collection
GET /api/api_endpoints List API endpoints in a collection
PUT /api/api_endpoints/:id/enable Enable an API endpoint
PUT /api/api_endpoints/:id/disable Disable an API endpoint

That's it. There is no GET /api/api_collections/:id, no PUT, no DELETE, and no individual endpoint CRUD. The CLI already wraps every available operation — the gap is on the platform API side, not just the CLI.

Implications

  1. No sync path is possible today — without a Get-by-ID or export mechanism for collections, there's nothing to pull. Without an Update or import mechanism, there's nothing to push.
  2. Collections inside project folders do come through in package exports (.api_group.json files), so folder-based collections are partially handled by the existing wk pull path. The gap is strictly workspace-level collections.
  3. A wk api collections pull command would need new platform API support (at minimum GET /api/api_collections/:id returning the full definition, and GET /api/api_endpoints/:id for endpoint details beyond what List returns).

Workaround

For now, the only way to manage the collection is:

  • Use wk api collections list and wk api endpoints list to inspect
  • Use the Workato UI for modifications
  • If the collection needs to be sync-able, move it into a project folder on the server so it's included in package exports

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: api-platformAPI collections and endpointsblocked: platform-apiRequires a Workato platform API that does not exist yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions