Workspace

Save a contact from a business card

multipart/form-data (or JSON): data (JSON) — customer_id (existing company) or new_customer {name, website, phone, address, city} or contact_id (complete an existing contact — filled fields are not overwritten) + contact {name, title, department, phone, phone2, email} + confirm_new; image — the card photo (attached to the company as Kartvizit · Name). For a new company the same name returns 409 exists (customer), a similar name 409 similar (similar; send confirm_new: true to create anyway). The other phone goes into the contact's note.

POST/api/v1/cards/save

Authorization

Authorizationheaderrequired
Bearer token: API key (sk_…), OAuth access token (mcp_…) or mobile session (xk_…).
Module: CustomersScope: crm.write

Body application/json

datastringrequired
JSON (fields above).
imagefileoptional
Card photo (jpg, png, heic; max 15 MB).

Errors

HTTPerrorMeaning
400invalidMissing or invalid field (`message` explains).
403planplan
404not_foundRecord not found.
409existsA company with this name exists (returned in `customer`).
409similarSimilar names exist (`similar`); send `confirm_new: true` to create anyway.
Request
curl -X POST https://ornek.solk.app/api/v1/cards/save \
  -H "Authorization: Bearer $SOLK_API_KEY"
Response