POST
/v1/profilesCreate a profile
Creates a profile for one of your customers. Requires an account-wide key; profile-scoped keys cannot create profiles.
Required permission: `connections:write`
- Base URL
- https://api.cutedyno.com
- Permission
connections:write- Idempotency
- Send an
Idempotency-Keyheader so a retry cannot apply twice. How it works - MCP tool
- create_profile
Request
curl -X POST "https://api.cutedyno.com/v1/profiles" \
-H "Authorization: Bearer $CUTEDYNO_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Corp",
"description": "string"
}'Headers
Idempotency-KeystringoptionalA unique key so a retried request is not applied twice. Stored for 24 hours.
Body
namestringrequiredDisplay name, usually your customer’s name.
descriptionstringoptionalFree-form note about this customer.
Response
Returns 201 with the following body.
Profilerequired
Example
{
"profile": {
"id": "a1b2c3d4-0000-4000-8000-000000000000",
"name": "Acme Corp",
"description": "string",
"createdAt": "string",
"updatedAt": "string"
}
}Errors
Failures use the standard error envelope. Branch on code, never on the message.
| Status | Code | When it happens |
|---|---|---|
| 400 | invalid_request | The request body or query string failed validation. The message names the offending field. |
| 401 | invalid_api_key | The key does not exist, was revoked, or is malformed. Keys start with cdyn_live_. |
| 403 | insufficient_permission | The key is missing the scope this endpoint needs, for example posts:write on a readonly key. |
| 403 | plan_limit | A plan quota was exhausted. The response carries entitlement, usage, and limit so you can surface the reason. |
| 429 | rate_limit_exceeded | Too many requests for this key. Honour the Retry-After header before retrying. |
| 500 | internal_error | Something failed on our side. Retry with the same Idempotency-Key; report the requestId if it persists. |