Opportunities

Update an opportunity

Frequently changed fields: quantity, unit price (recorded in offer history when it changes), payment terms, close date (logged), next step date, note, product, type, line, name, forecast category and stage label. Use the stage endpoint to move stages.

POST/api/v1/opportunities/{id}/fields

Authorization

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

Path parameters

idintegerrequired
Opportunity id.

Body application/json

potential_kgnumberoptional
Monthly quantity.
offer_pricenumberoptional
Unit price.
payment_daysintegeroptional
Payment terms (days).
close_datestringoptional
Close date (YYYY-MM-DD).
next_step_datestringoptional
Next step date.
notestringoptional
Note.
product_idintegeroptional
Product.
typestringoptional
Type.
linestringoptional
Line.
namestringoptional
Name.
forecast_catstringoptional
Forecast category.
ValuesPipelineBest CaseCommitClosedOmitted
detail_statusstringoptional
Detail label matching the stage (Makro pipeline).

Errors

HTTPerrorMeaning
403forbiddenYou may not see / edit this record.
404not_foundRecord not found.
Request
curl -X POST https://ornek.solk.app/api/v1/opportunities/53/fields \
  -H "Authorization: Bearer $SOLK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "close_date": "2026-11-16",
  "forecast_cat": "Best Case",
  "note": "Numune onayı bekleniyor."
}'
Response
{
  "ok": true,
  "opp": {
    "bant": 0,
    "bant_a": false,
    "bant_b": false,
    "bant_n": false,
    "bant_t": false,
    "base_currency": "EUR",
    "can_edit": true,
    "can_revive": false,
    "close_category": "",
    "close_date": "2026-11-16",
    "close_reason": "",
    "closed_at": null,
    "competitor": "Mevcut tedarikçi",
    "cur_sym": "€",
    "currency": "EUR",
    "customer": "Kuzey Plastik Sanayi",
    "customer_city": "Bursa",
    "customer_id": 31,
    "days_in_stage": 0,
    "demos": [],
    "detail_status": "",
    "fc": "Best Case",
    "gate_ok": false,
    "gate_problems": [
      "BANT kriterleri 4/4 sağlanmalı (Budget · Authority · Need · Time)"
    ],
    "guide": "BANT 4/4",
    "health": {
      "grade": "success",
      "label": "sağlıklı",
      "score": 85
    },
    "health_color": "g",
    "health_manual": false,
    "health_note": "",
    "health_why": [
      [
        "−15"
      ]
    ],
    "id": 53,
    "initials": "KP",
    "is_account": false,
    "is_open": true,
    "last_update": "2026-10-02",
    "lifetime_left": 180,
    "line": "",
    "logs": [
      {
        "date": "2026-10-02T20:07:00",
        "from": null,
        "note": "Proje açıldı (mobil)",
        "to": "Qualify",
        "user": "Deniz Aksoy"
      }
    ],
    "name": "Streç film tedariki",
    "next_stage": "Viable",
    "next_step": "Karar verici / yetkili kişiyi belirle (Authority)",
    "note": "Numune onayı bekleniyor.",
    "notes": [],
    "offer_price": 2.35,
    "offers": [],
    "orders": [],
    "owner": {
      "full_name": "Deniz Aksoy",
      "id": 1,
      "role": "admin",
      "role_label": "Yönetici",
      "username": "admin"
    },
    "payment_days": 60,
    "potential_kg": 12000.0,
    "prob": 0.1,
    "probability": null,
    "product": "",
    "product_id": null,
    "pu": "€/kg",
    "rid": "006BMHmVNZ9nFLS",
    "sla_days": 30,
    "sla_left": 30,
    "source": "",
    "stage": "Qualify",
    "stage_label": "Qualify",
    "start_date": "2026-10-02",
    "steps": [
      {
        "assignee": {
          "full_name": "Deniz Aksoy",
          "id": 1,
          "role": "admin",
          "role_label": "Yönetici",
          "username": "admin"
        },
        "auto": false,
        "done": false,
        "due_date": null,
        "id": 467,
        "note": "",
        "stage": "Qualify",
        "state": "open",
        "title": "Karar verici / yetkili kişiyi belirle (Authority)"
      }
    ],
    "tags": [],
    "tasks": [],
    "threads": [],
    "threads_n": 0,
    "trend": "",
    "trend_label": "Otomatik",
    "type": "",
    "unit": "kg",
    "unit_code": "kg",
    "value": 338400.0,
    "value_base": 338400.0,
    "value_short": "338K",
    "visits": [],
    "weighted": 33840.0
  }
}

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