Skip to content

Update call attempt intervals

Updates a call attempt interval group in Liner.


URL and method

POST /v2/call-attempt/update/{id}/

id int
Call attempt group identifier in Liner. Value > 0.


Parameters (Body)

Send only the fields you want to update.

title string optional
Call attempt group title.

intervals array<int> optional
List of intervals between call attempts in minutes.

isDefault bool optional
Whether this interval group is the default one.

resetAttemptsEnabled bool optional
Whether to reset attempts when the customer asks to “call back”.


Request example

curl -X POST "https://YOUR_LINER_API_HOST/v2/call-attempt/update/{id}/" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_TOKEN" \
  -d '{
    "title": "{{title}}",
    "intervals": [{{interval}}, {{interval2}}],
    "isDefault": {{isDefault}},
    "resetAttemptsEnabled": {{resetAttemptsEnabled}}
  }'
<?php

$host = 'https://YOUR_LINER_API_HOST';
$token = 'YOUR_API_TOKEN';
$id = (int)$id;

// Important: fill in only the fields you want to update
$payload = [
    'title' => $title ?? null,
    'intervals' => $intervals ?? null,
    'isDefault' => isset($isDefault) ? (bool)$isDefault : null,
    'resetAttemptsEnabled' => isset($resetAttemptsEnabled) ? (bool)$resetAttemptsEnabled : null,
];

// Remove null fields to avoid accidentally overwriting values
$payload = array_filter($payload, fn($v) => $v !== null);

$ch = curl_init($host . '/v2/call-attempt/update/' . $id . '/');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-Api-Key: ' . $token,
    ],
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
    CURLOPT_TIMEOUT => 15,
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($response === false) {
    throw new RuntimeException('cURL error: ' . curl_error($ch));
}

curl_close($ch);

echo "HTTP {$httpCode}\n";
echo $response;
const host = "https://YOUR_LINER_API_HOST";
const token = "YOUR_API_TOKEN";
const id = Number(id);

// Important: add only the fields you want to update
const payload = {
  title: title ?? undefined,
  intervals: intervals ?? undefined,
  isDefault: isDefault != null ? Boolean(isDefault) : undefined,
  resetAttemptsEnabled: resetAttemptsEnabled != null ? Boolean(resetAttemptsEnabled) : undefined
};

// Remove undefined fields
Object.keys(payload).forEach((k) => payload[k] === undefined && delete payload[k]);

const res = await fetch(`${host}/v2/call-attempt/update/${id}/`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-Api-Key": token
  },
  body: JSON.stringify(payload)
});

const data = await res.json();
console.log("HTTP", res.status, data);

Response example

{
  "success": true,
  "message": "",
  "data": []
}

Note

The structure of the data field is described above. For the general API response format, see Request schema