Layers

PATCH /v1/influencers/:influencerId

Update identity fields on an influencer in place.

View as Markdown
PATCH/v1/influencers/:influencerId
Phase 1stable
Auth
Bearer
Scope
influencers:write

Patch identity fields you want to change. Everything omitted is left alone. The body is strict - unknown fields are rejected. Returns the full updated record.

Path parameters

  • influencerId
    string (uuid)required
    The influencer id.

Body

Body (all optional, at least one)
  • name
    stringoptional
    Display name (1-128).
  • gender
    stringoptional
    Must be one of the enum values. Cannot be cleared — content generation requires a gender mapping.
    One of: male, female, non_binary
  • ageRange
    string | nulloptional
    Pass null to clear. Same enum as the in-product dialog.
    One of: teen, young_adult, adult, mid_adult, mature, senior
  • brandVoice
    stringoptional
    Brand voice preset. Drives tone in captions, hooks, and engagement comments.
    One of: authentic, witty, professional, warm, casual, educational
  • language
    stringoptional
    BCP 47 locale tag (e.g. `en`, `es-MX`, `zh-Hans-CN`). Multi-language characters should be cloned, not patched per content.

Request

terminal
curl -X PATCH https://api.layers.com/v1/influencers/{influencerId} \
  -H "Authorization: Bearer $LAYERS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "brandVoice": "casual", "language": "es-MX" }'
patch-influencer.ts
const res = await fetch(
  `https://api.layers.com/v1/influencers/${influencerId}`,
  {
    method: 'PATCH',
    headers: {
      'Authorization': `Bearer ${process.env.LAYERS_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ brandVoice: 'casual', language: 'es-MX' }),
  },
);
const influencer = await res.json();
patch_influencer.py
import os, httpx

r = httpx.patch(
    f"https://api.layers.com/v1/influencers/{influencer_id}",
    headers={
        "Authorization": f"Bearer {os.environ[\'LAYERS_API_KEY\']}",
        "Content-Type": "application/json",
    },
    json={"brandVoice": "casual", "language": "es-MX"},
)
influencer = r.json()

Responses

200Full updated influencer (same shape as GET).
{
  "influencerId": "inf_4a8e1bc2...",
  "projectId": "prj_01HX...",
  "name": "Ava Chen",
  "gender": "female",
  "ageRange": "young_adult",
  "brandVoice": "casual",
  "language": "es-MX",
  "status": "ready",
  "createdAt": "2026-04-01T14:22:10Z",
  "updatedAt": "2026-04-18T09:18:44Z"
}
422Validation failed - bad enum, unknown field, or wrong type.
{
  "error": {
    "code": "VALIDATION",
    "message": "Invalid body.",
    "requestId": "req_...",
    "details": { "fieldErrors": { "gender": ["Invalid enum value"] } }
  }
}
404Influencer not in this org, or deleted.
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Influencer not found.",
    "requestId": "req_..."
  }
}

Notes

  • Unknown fields are rejected. The body is strict — any property not in the table above produces a VALIDATION response.
  • At least one field is required. Empty bodies produce a VALIDATION response.

Errors

CodeWhen
VALIDATIONBad type, unknown field, enum out of range.
NOT_FOUNDInfluencer not in this org.
FORBIDDEN_SCOPEKey lacks influencers:write.

See also

On this page