Compose options
For a new e-mail: whether the mailbox is connected, the company's people with e-mail and its open projects.
Authorization
AuthorizationheaderrequiredBearer token: API key (sk_…), OAuth access token (mcp_…) or mobile session (xk_…).
Scope:
crm.readQuery parameters
customer_idintegeroptionalCompany.
opp_idintegeroptionalProject.
Request
curl "https://ornek.solk.app/api/v1/emails/compose?customer_id=1" \
-H "Authorization: Bearer $SOLK_API_KEY"const res = await fetch("https://ornek.solk.app/api/v1/emails/compose?customer_id=1", {
headers: {
Authorization: `Bearer ${process.env.SOLK_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://ornek.solk.app/api/v1/emails/compose",
headers={"Authorization": f"Bearer {os.environ['SOLK_API_KEY']}"},
params={"customer_id": 1},
)
print(r.json())Response
{
"contacts": [
{
"email": "selin.dogan@alizepaketleme.example",
"id": 1,
"main": true,
"name": "Selin Doğan",
"title": "Satın Alma Müdürü"
}
],
"customer": {
"id": 1,
"name": "Alize Paketleme San. ve Tic. A.Ş."
},
"mailbox": {
"connected": true,
"email": "deniz@ornekkimya.com.tr",
"error": "",
"signature": false,
"status": "ok"
},
"ok": true,
"opp": null,
"opps": [
{
"id": 44,
"name": "Müşteri Takibi",
"stage_label": "Müşteri Takibi"
},
{
"id": 31,
"name": "Mevcut Müşteri — Yenileme · 2026",
"stage_label": "Qualify"
}
]
}Example responses were captured from a v22 installation running sample data; lists are shortened to two items.