Custom objects

Add / remove a link

Links the record to another record through a relation type (act: add) or removes the link (act: remove). On a single (N:1) relation the new target replaces the old one. The response is the updated record.

POST/api/v1/objects/{key}/records/{id}/links

Authorization

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

Path parameters

keystringrequired
Object key.
idintegerrequired
Record id.

Body application/json

relationstringrequired
Relation key (/objects → relations[].key).
target_idintegerrequired
Target record id.
actstringoptionaldefault: add
Operation.
Valuesaddremove

Errors

HTTPerrorMeaning
400invalidMissing or invalid field (`message` explains).
403forbiddenYou may not see / edit this record.
404not_foundRecord not found.
Request
curl -X POST https://ornek.solk.app/api/v1/objects/uretim_hatti/records/1/links \
  -H "Authorization: Bearer $SOLK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "relation": "co1_opp",
  "target_id": 31,
  "act": "add"
}'
Response
{
  "ok": true,
  "record": {
    "active": true,
    "customer": {
      "id": 1,
      "name": "Alize Paketleme San. ve Tic. A.Ş."
    },
    "editable": true,
    "field_list": [
      {
        "display": "Ekstrüzyon",
        "key": "makine_tipi",
        "label": "Makine tipi",
        "options": [
          "Laminasyon"
        ],
        "required": true,
        "type": "select",
        "value": "Ekstrüzyon"
      }
    ],
    "fields": {
      "devreye_alma": "2025-04-01",
      "hiz": 220.0,
      "makine_tipi": "Ekstrüzyon"
    },
    "id": 1,
    "name": "Hat 3 — şişirme",
    "owner": "Deniz Aksoy",
    "owner_id": 1,
    "relations": [
      {
        "items": [
          {
            "id": 1,
            "name": "Alize Paketleme San. ve Tic. A.Ş."
          }
        ],
        "key": "co1_customer",
        "kind": "customer",
        "label": "Firma",
        "many": false,
        "side": "a",
        "target_label": "Firma"
      }
    ],
    "sub": "Ekstrüzyon · 220",
    "updated_at": "2026-10-06T10:26:24",
    "url": "https://ornek.solk.app/o/uretim_hatti/1"
  }
}

Example responses were captured from a v43b installation running sample data; lists are shortened to two items.