Workspace
Update my business card
Only the fields you send change; the response is the same as GET /card. enabled: true publishes the card, false unpublishes it. Name, e-mail, phone and photo come from the profile (POST /profile). website is accepted without https:// (ornek.com → https://ornek.com); http / https only. Sending a hidden field empty does not delete the stored value. When the card is published, its Apple Wallet copy updates itself. 403 disabled when the admin turned business cards off (the current card is in the body). JSON or form body.
Authorization
AuthorizationheaderrequiredBearer token: API key (sk_…), OAuth access token (mcp_…) or mobile session (xk_…).
Scope:
crm.writeBody application/json
enabledbooleanoptionalPublished or not.
titlestringoptionalTitle (max 120 characters).
departmentstringoptionalDepartment (max 80 characters).
mobilestringoptionalMobile (max 40 characters; digits, spaces, + ( ) . - /).
websitestringoptionalWebsite (max 200 characters). When empty the public page shows the company's website.
addressstringoptionalAddress (max 250 characters; hidden by default).
aboutstringoptionalAbout (max 280 characters).
showobjectoptionalVisible fields — only the keys you send change:
photo, title, department, email, phone, mobile, website, address, about (boolean).Errors
| HTTP | error | Meaning |
|---|---|---|
400 | invalid | Missing or invalid field (`message` explains). |
403 | disabled | An admin turned this feature off in the workspace (e.g. digital business cards, caller ID). |
Request
curl -X POST https://ornek.solk.app/api/v1/card \
-H "Authorization: Bearer $SOLK_API_KEY"const res = await fetch("https://ornek.solk.app/api/v1/card", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SOLK_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
"https://ornek.solk.app/api/v1/card",
headers={"Authorization": f"Bearer {os.environ['SOLK_API_KEY']}"},
)
print(r.json())Response