Skip to main content
PATCH
/
api
/
v1
/
agents
/
{id}
curl --request PATCH \
  --url https://mcp.echozero.app/api/v1/agents/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Updated name"
}
'
{
  "success": true,
  "data": {
    "id": "<string>",
    "name": "<string>"
  }
}

Authorizations

Authorization
string
header
required

User JWT access token issued by POST /api/auth/verify or POST /api/auth/social/verify. Routes that accept both auth modes declare api-key and bearer-jwt security schemes.

Headers

x-signature
string

HMAC-SHA256 signature: HMAC-SHA256(secretKey, timestamp + METHOD + path + body). Optional -- when omitted, HMAC verification is skipped.

x-timestamp
string

Request timestamp in epoch milliseconds. Required when x-signature is provided. Rejected if drift exceeds 5 minutes.

Path Parameters

id
string
required

Body

application/json

OpenAPI schema McpUpdateAgentBodyDto; agentId is taken from the path.

name
string
description
string | null
imageUrl
string | null
tags
string[]
personalization
object
isPublic
boolean
feeConfiguration
object
status
enum<string>
Available options:
DRAFT,
ACTIVE,
PAUSED,
DELETED
closeActiveTrades
boolean

When setting status to PAUSED: required for private agents (true = close owner trades first, false = keep open). Optional for public agents.

strategyDescription
string
marketplacePricingModel
enum<string>
Available options:
subscription,
success-fee,
both,
free
marketplaceMonthlyPrice
number
Required range: x >= 0
marketplaceSuccessFeePercent
number
Required range: x >= 0
listingStatus
enum<string>
Available options:
pending-review,
beta,
public,
rejected
betaStartDate
string<date-time>
maxBetaUsers
number
Required range: x >= 1
riskLevel
enum<string>
Available options:
low,
medium,
high
performanceStats
object
inboundWebhookUrl
string
signalSourceKind
enum<string>
Available options:
webhook,
signal_group
connectedChannels
object[]
signalDetectionRule
object
signalExecutionDefaults
object
parserAiMode
enum<string>

Per-agent hybrid parser: inherit (server env), off, shadow, or fallback.

Available options:
inherit,
off,
shadow,
fallback
membershipGated
boolean
externalSignupUrl
string
rotateInboundWebhookSigningSecret
boolean

When true and signalSourceKind is webhook, rotate inbound signing secret (returned once on the agent payload)

personality
object | null

API personality override for subscriber chat. Stored as personalization.apiOverride and takes precedence over portal defaults. Pass null to clear.

Response

Updated agent.

success
boolean
required
Example:

true

data
object
required

Endpoint-specific payload