---
title: "Save Spark Call Outcome"
method: POST
path: "/sessions/{session_id}/crm/spark/call-outcome"
tags: ["crm"]
---

# Save Spark Call Outcome

`POST /sessions/{session_id}/crm/spark/call-outcome`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/sessions/{session_id}/crm/spark/call-outcome`
- Auth: one of:
  - OAuth 2
    - Password
    - Token URL: `auth/bearer/login`
  - API key in cookie `access_token`

## Path parameters

- `session_id` string, uuid, required

## Request body

- SparkCallOutcomeDraft: What the agent confirmed. Account and agent identity are not in here: the server resolves both, so a request cannot write against an account the call isn't linked to or under someone else's name.
  - `contact_through` 'inbound_call' | 'outbound_call', required
  - `customer_id` string, nullable
  - `contact_type` string, required
  - `action_taken` 'arrangement' | 'call_back_later' | 'hardship' | 'on_hold' | 'no_outcome' | 'repossessed', nullable
  - `reason_code_key` 'DEPOSIT_IN_PROGRESS' | 'NO_ANSWER' | 'no_action_needed' | 'PROMISE_TO_PAY' | 'REQUEST_FOR_FEE_WAIVER' | 'REQUEST_FOR_HARDSHIP' | 'REFUSE_TO_PAY' | 'SELLING_COLLATERAL' | 'SPECIAL_HANDLING' | 'UNABLE_TO_PAY' | 'UNABLE_TO_TALK' | 'ivr_disconnected' | 'ivr_transfer', nullable
  - `sub_call_type` 'call_terminated' | 'customer_contacted' | 'contact_no_outcome' | 'follow_up_needed' | 'lmtc_via_text' | 'lmtc_on_voice_mail' | 'no_answer' | 'disconnected' | 'Third-party_contacted' | 'v-mail_no_message_left' | 'wrong_number', nullable
  - `comments` string
  - `arrangement` SparkArrangementDraft
    - `origin` 'court_order' | 'customer_requested' | 'agent_initiated' | 'ivr_initiated' | 'ivr_agent_initiated_other' | 'ivr_agent_initiated_ss' | 'reduced_settlement_arrangement', required
    - `payment_mode` 'sequenceshift' | 'direct_debit' | 'direct_credit' | 'app_payment', required
    - `frequency` 'weekly' | 'fortnightly' | 'monthly' | 'lumpsum' | 'quarterly', required
    - `installment_amount` union, required
      - number
      - string
    - `occurrences` integer, required
    - `from_date` string, date, required
  - `hold_till` string, date, nullable
  - `callback_date` string, date, nullable
  - `callback_time` string, time, nullable
  - `acknowledge_unconfirmed` boolean

## Response `200`

Successful Response

- SparkCallOutcomeSaveResponse
  - `export` SparkCallOutcomeExportRead, required
    - `id` string, uuid, required
    - `status` 'success' | 'failed' | 'unknown', required
    - `provider_operation_id` string, nullable
    - `error_message` string, nullable
    - `requested_by_user_id` string, uuid, nullable
    - `attempted_at` string, date-time, required
  - `already_saved` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/whispa/apis/whispa-api.md) - [All operations](https://skmtc.dev/whispa/apis/whispa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/whispa/apis/whispa-api/revisions/12c2e4aca43c?raw)
