Shipeasy
Flags experimentsApiOperations

Update a trigger connector

Edit an existing coding-agent trigger connector (claude_trigger / cursor_trigger / copilot_trigger / jules_trigger) — replace its non-secret config and,…

Edit an existing coding-agent trigger connector (claude_trigger / cursor_trigger / copilot_trigger / jules_trigger) — replace its non-secret config and, optionally, rotate its credential secret(s). Discriminated on provider; the id in the path selects the connector and its provider must match the body.

Unlike the generic PATCH /api/admin/connectors/{id} (which cannot touch secrets), this endpoint always replaces the non-secret config wholesale and merges any supplied secret over the stored credential cipher — so a single half of a two-key pair (e.g. just the ops key) can be rotated on its own. A blank/omitted secret leaves the stored cipher untouched.

The response carries only { id } — re-fetch via GET /api/admin/connectors/{id} for the new row.

Use case

Re-point a Cursor trigger at a new repo ref, or rotate a Claude trigger's fire token, without deleting and re-creating the connector.

PATCH
/api/admin/connectors/{id}/trigger

Authorization

bearerSdkKey
AuthorizationBearer <token>

Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".

In: header

Path Parameters

id*string

Stable opaque connector id. Its stored provider must match the body's provider.

Length1 <= length <= 128

Header Parameters

X-Project-Id?string

Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://shipeasy.ai/api/admin/connectors/string/trigger" \  -H "Content-Type: application/json" \  -d '{    "provider": "claude_trigger",    "config": {      "routineId": "rtn_9f2c"    },    "token": "fire_live_a1b2c3"  }'
{
  "id": "9b0e7c2a-1f3d-4a8e-bf21-0c6a2e5d7f10"
}
{
  "error": "Malformed request (bad JSON, missing project scope).",
  "code": "BAD_REQUEST"
}
{
  "error": "Missing or invalid admin SDK key.",
  "code": "UNAUTHORIZED"
}

{
  "error": "Key is valid but not allowed to act on this project.",
  "code": "FORBIDDEN"
}

{
  "error": "The resource does not exist or is not visible to the caller.",
  "code": "NOT_FOUND"
}

{
  "error": "A resource with this name already exists in the project.",
  "code": "ALREADY_EXISTS"
}

{
  "error": "The request body failed structural (schema) validation.",
  "code": "VALIDATION"
}

Was this page helpful?
✎ Edit this page