API reference

PUT/v1/policy

Update profile policy

Sets the guardrails on a profile. Only the fields you send change.

Required permission: `posts:write`

Accepts `profileId` to target a specific profile. Omit it to use the key’s home profile.

Base URL
https://api.cutedyno.com
Permission
posts:write
Idempotency
Not applicable. This request has no side effects worth deduplicating.
MCP tool
update_policy

Request

curl -X PUT "https://api.cutedyno.com/v1/policy" \
  -H "Authorization: Bearer $CUTEDYNO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "profileId": "profile_a1b2c3d4",
  "requireApproval": false,
  "allowedPlatforms": [
    "facebook"
  ],
  "maxPostsPerDay": 0
}'

Body

profileIdstringoptional

Profile to act on. Defaults to the profile the API key was created in.

requireApprovalbooleanoptional
allowedPlatformsenum[]nullableoptional
maxPostsPerDayintegernullableoptional

Cap on posts per UTC day for this profile. null removes the cap.

Response

Returns 200 with the following body.

Policyrequired
profileIdstringrequired

Example

{
  "policy": {
    "requireApproval": false,
    "allowedPlatforms": [
      "facebook"
    ],
    "maxPostsPerDay": 0
  },
  "profileId": "profile_a1b2c3d4"
}

Errors

Failures use the standard error envelope. Branch on code, never on the message.

StatusCodeWhen it happens
400invalid_requestThe request body or query string failed validation. The message names the offending field.
401invalid_api_keyThe key does not exist, was revoked, or is malformed. Keys start with cdyn_live_.
403profile_not_accessibleThe requested profile is outside this key’s scope, or belongs to another account.
429rate_limit_exceededToo many requests for this key. Honour the Retry-After header before retrying.
500internal_errorSomething failed on our side. Retry with the same Idempotency-Key; report the requestId if it persists.