Appearance
Cases
A case would include detailed information about the client for whom the will is being created or managed. This may include personal details, family relationships, and other relevant information.
Get Cases
This API endpoint provides functionality for obtaining a paginated list encompassing all cases that have been established within your WillSuite account.
Input
HTTP request headers
Content-Type string
Setting to application/json is required.
Authorization string
This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…
Query parameters
ref string
If included in the URL as a query parameter, it will exclusively filter cases based on whether the reference corresponds to the specified value.
postcode string
If included in the URL as a query parameter, it selectively filters cases to include only those where the customer's postcode in the respective case aligns with the given value.
updatedAfter string
- Accepted format
YYYY-MM-DD HH:mm:ss- e.g. 2024-07-20 10:00:00
If included, it selectively filters cases which have been updated at or after the provided date.
page integer
Since the default return is limited to 10 records, you can utilize this parameter to retrieve additional records in multiples of 10.
perPage integer
To increase the number of records returned, you can adjust this parameter to your desired value. The default is 10, and the maximum allowed is 100.
Output
Request example
bash
curl -X GET \
'https://client.willsuite.co.uk/engine/api/cases/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'php
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases/');
$request->setRequestMethod('GET');
$request->setHeaders([
'Content-Type' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();Response
json
{
"current_page": 1,
"data": [
{
"id": "00aee3e5-e67a-49ab-9823-a7cf7490f2cf",
"ref": "test-001",
"first_names": "Jhon",
"last_names": "Doe",
"full_names": "Mr Jhon Doe",
"email": "test@willsuite.co.uk",
"postcode": "",
"meta": [],
"notes": null,
"is_active": 1,
"customers": [
{
"id": "101fc7f4-72cc-4b00-add2-f052c269ab16",
"title": "Miss",
"first_names": "Sally",
"middle_names": null,
"last_name": "Doe",
"date_of_birth": null,
"gender": "female",
"tel_1": null,
"tel_2": null,
"email": null,
"occupation": null,
"marital_status": null,
"address_1": null,
"address_2": null,
"address_3": null,
"postcode": null,
"customer_case_id": "00aee3e5-e67a-49ab-9823-a7cf7490f2cf"
},
{
"id": "48b698c1-8234-43ba-b216-9ce8b08cc840",
"title": "Mr",
"first_names": "Jhon",
"middle_names": null,
"last_name": "Doe",
"date_of_birth": null,
"gender": "male",
"tel_1": null,
"tel_2": null,
"email": "test@willsuite.co.uk",
"occupation": null,
"marital_status": null,
"address_1": null,
"address_2": null,
"address_3": null,
"postcode": null,
"customer_case_id": "00aee3e5-e67a-49ab-9823-a7cf7490f2cf",
"is_deceased": 0
}
]
}
],
"first_page_url": "http://willsuite-v2.test/engine/api/cases?page=1",
"from": 1,
"last_page": 160,
"last_page_url": "http://willsuite-v2.test/engine/api/cases?page=160",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=1",
"label": "1",
"active": true
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=2",
"label": "2",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=3",
"label": "3",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=4",
"label": "4",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=5",
"label": "5",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=6",
"label": "6",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=7",
"label": "7",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=8",
"label": "8",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=9",
"label": "9",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=159",
"label": "159",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=160",
"label": "160",
"active": false
},
{
"url": "http://willsuite-v2.test/engine/api/cases?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "http://willsuite-v2.test/engine/api/cases?page=2",
"path": "http://willsuite-v2.test/engine/api/cases",
"per_page": 10,
"prev_page_url": null,
"to": 10,
"total": 1600
}json
{
"type": "object",
"properties": {
"current_page": {
"type": "integer"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"ref": {
"type": "string"
},
"first_names": {
"type": "string"
},
"last_names": {
"type": "string"
},
"full_names": {
"type": "string"
},
"email": {
"type": "string"
},
"postcode": {
"type": "string"
},
"meta": {
"type": "array",
"items": {}
},
"notes": {
"type": ["string", "null"]
},
"is_active": {
"type": "boolean"
},
"customers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"first_names": {
"type": "string"
},
"middle_names": {
"type": ["string", "null"]
},
"last_name": {
"type": "string"
},
"date_of_birth": {
"type": ["string", "null"]
},
"gender": {
"type": "string"
},
"tel_1": {
"type": ["string", "null"]
},
"tel_2": {
"type": ["string", "null"]
},
"email": {
"type": ["string", "null"]
},
"occupation": {
"type": ["string", "null"]
},
"marital_status": {
"type": ["string", "null"]
},
"address_1": {
"type": ["string", "null"]
},
"address_2": {
"type": ["string", "null"]
},
"address_3": {
"type": ["string", "null"]
},
"postcode": {
"type": ["string", "null"]
},
"customer_case_id": {
"type": "string"
},
"is_deceased" : {
"type": "boolean"
}
},
"required": ["id", "title", "first_names", "last_name", "gender", "customer_case_id","is_deceased"]
}
}
},
"required": [
"id",
"ref",
"first_names",
"last_names",
"full_names",
"email",
"postcode",
"meta",
"notes",
"is_active",
"customers"
]
}
},
"first_page_url": {
"type": "string"
},
"from": {
"type": "integer"
},
"last_page": {
"type": "integer"
},
"last_page_url": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": ["string", "null"]
},
"label": {
"type": "string"
},
"active": {
"type": "boolean"
}
}
}
},
"next_page_url": {
"type": ["string", "null"]
},
"path": {
"type": "string"
},
"per_page": {
"type": "integer"
},
"prev_page_url": {
"type": ["string", "null"]
},
"to": {
"type": "integer"
},
"total": {
"type": "integer"
}
},
"required": [
"current_page",
"data",
"first_page_url",
"from",
"last_page",
"last_page_url",
"links",
"next_page_url",
"path",
"per_page",
"prev_page_url",
"to",
"total"
]
}Get Case
This API endpoint enables you to fetch a customer case using its unique identifier.
Input
HTTP request headers
Content-Type string
Setting to application/json is required.
Authorization string
This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…
Output
Http status codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 404 | Resource not found |
| 500 | Internal Server Error |
Request example
bash
curl -X GET \
'https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'php
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61');
$request->setRequestMethod('GET');
$request->setHeaders([
'Content-Type' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();Response
json
{
"id": "d57bc3b7-4f44-4846-9741-985db9af9b61",
"ref": "tracked-edit-fixes",
"first_names": "John & Jenny",
"last_names": "Doe",
"email": "",
"postcode": "",
"notes": "Updated via the API",
"is_active": 1,
"meta": [],
"full_names": "Mr John Doe & Mrs Jenny Doe",
"customers": [
{
"id": "012ad872-39d1-4414-8c32-afd4c20bd091",
"title": "Mr",
"first_names": "John",
"middle_names": null,
"last_name": "Doe",
"date_of_birth": null,
"gender": "male",
"tel_1": null,
"tel_2": null,
"email": null,
"occupation": null,
"marital_status": "married",
"address_1": null,
"address_2": null,
"address_3": null,
"postcode": null,
"customer_case_id": "d57bc3b7-4f44-4846-9741-985db9af9b61",
"is_deceased": 0
}
]
}json
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"ref": {
"type": "string"
},
"first_names": {
"type": "string"
},
"last_names": {
"type": "string"
},
"email": {
"type": "string"
},
"postcode": {
"type": "string"
},
"notes": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"meta": {
"type": "array",
"items": {}
},
"full_names": {
"type": "string"
},
"customers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"first_names": {
"type": "string"
},
"middle_names": {
"type": ["string", "null"]
},
"last_name": {
"type": "string"
},
"date_of_birth": {
"type": ["string", "null"]
},
"gender": {
"type": "string"
},
"tel_1": {
"type": ["string", "null"]
},
"tel_2": {
"type": ["string", "null"]
},
"email": {
"type": ["string", "null"]
},
"occupation": {
"type": ["string", "null"]
},
"marital_status": {
"type": "string"
},
"address_1": {
"type": ["string", "null"]
},
"address_2": {
"type": ["string", "null"]
},
"address_3": {
"type": ["string", "null"]
},
"postcode": {
"type": ["string", "null"]
},
"customer_case_id": {
"type": "string"
},
"is_deceased" : {
"type": "boolean"
}
},
"required": ["id", "title", "first_names", "last_name", "gender", "marital_status", "customer_case_id", "is_deceased"]
}
}
},
"required": [
"id",
"ref",
"first_names",
"last_names",
"email",
"postcode",
"notes",
"is_active",
"meta",
"full_names",
"customers"
]
}Create Case
This API endpoint enables you to create a new case with ref, notes, customers, address book entries, and any CRM fields associated with the case.
Input
HTTP request headers
Content-Type string
Setting to application/json is required.
Authorization string
This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…
Body parameters
ref string
Unique ref for this new case, this will be auto generated if left blank.
email string
Email linked to the API token.
adviser_email string
Email of a WillSuite user to assign the case, if invalid or empty then user associated with email will be used.
WARNING
Advisor email must match an email on the account, otherwise case creation will fail.
notes string
meta object
The Custom CRM fields to populate on the case.
Details
Example of meta
Note: the key is the CRM field ID.
json
{
"c19461c0-78fc-4ff3-b038-adaf204c2082": "Prospect"
}customers array of objects
Customers to add to the case
Details
Properties of customers
title string - Required
first_names string - Required
middle_names string
last_names string - Required
date_of_birth string
Accepted format DD/MM/YYYY - e.g. 20/07/1990
gender string
marital_status string
Could be one of the following (case-sensitive):
- married
- civil
- cohabiting
- widowed
- divorced
- dissolved
- separated
- single
- other
tel_1 string
Max length 25 characters
tel_2 string
Max length 25 characters
address_1 string
Max length 100 characters
address_2 string
Max length 100 characters
address_3 string
Max length 100 characters
postcode string
Max length 100 characters
occupation string
Max length 150 characters
preferred_name string
Max length 150 characters
email string
Example of customers
json
[
{
"title": "Mr",
"first_names": "Steve",
"middle_names": "Danial",
"last_name": "Smith",
"date_of_birth": "20/06/1990",
"gender": "male",
"marital_status": "single",
"address_1": "607 Kenton Rd",
"address_2": "Kenton",
"postcode": "HA3 9RT"
}
]address_book array of objects
Address book entities to add to the case
Details
Properties of address_book
title string
first_names string
middle_names string
last_name string
known_as string
tel_1 string
tel_2 string
email string
gender string
dob string
Accepted format DD/MM/YYYY - e.g. 20/07/1990
relationship object
Example of relationship
Note: the key is the customerID of case editing.
json
{
"012ad872-39d1-4414-8c32-afd4c20bd091": "son"
}occupation string
preferred_name string
alias string
address_1 string
address_2 string
address_3 string
postcode string
entity_id string
Can either be person or organisation
For entity type organisation only
name string
reg_no string
is_charity string
Can either be yes or no
Example of address_book
json
[
{
"name": "WillSuite Ltd",
"reg_no": "01234567",
"entity_id": "organisation",
"is_charity": "yes",
"address_1": "33A The Square",
"address_2": "Beeston",
"address_3": "Nottingham",
"postcode": "NG9 2JJ",
"dob": "20/06/1990"
},
{
"title": "Mrs",
"first_names": "Jannet",
"last_name": "Doe",
"address_1": "33A The Square",
"address_2": "Beeston",
"address_3": "Nottingham",
"postcode": "NG9 2JJ"
}
]Output
Http status codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 404 | Resource not found |
| 500 | Internal Server Error |
Request example
bash
curl -X POST \
'https://client.willsuite.co.uk/engine/api/cases/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...' \
--data-raw '{
"ref": "FSFOOS",
"email": "test@willsuite.co.uk",
"adviser_email": "adviser@willsuite.co.uk",
"notes": "New data, check with client",
"meta": {
"c5d82b0b-5cb3-46f7-841f-788fdff2ec8a": "NO"
},
"customers": [
{
"title": "Mr",
"first_names": "Steve",
"middle_names": "Danial",
"last_name": "Smith",
"date_of_birth": "20/06/1990",
"gender": "male",
"marital_status": "single",
"address_1": "607 Kenton Rd",
"address_2": "Kenton",
"postcode": "HA3 9RT"
}
],
"address_book": [
{
"title": "Mrs",
"first_names": "Jannet",
"last_name": "Doe",
"address_1": "33A The Square",
"address_2": "Beeston",
"address_3": "Nottingham",
"postcode": "NG9 2JJ"
}
]
}'php
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->append('{
"ref": "FSFOOS",
"email": "test@willsuite.co.uk",
"adviser_email": "adviser@willsuite.co.uk",
"notes": "New data, check with client",
"meta": {
"c5d82b0b-5cb3-46f7-841f-788fdff2ec8a": "NO"
},
"customers": [
{
"title": "Mr",
"first_names": "Steve",
"middle_names": "Danial",
"last_name": "Smith",
"date_of_birth": "20/06/1990",
"gender": "male",
"marital_status": "single",
"address_1": "607 Kenton Rd",
"address_2": "Kenton",
"postcode": "HA3 9RT"
}
],
"address_book": [
{
"title": "Mrs",
"first_names": "Jannet",
"last_name": "Doe",
"address_1": "33A The Square",
"address_2": "Beeston",
"address_3": "Nottingham",
"postcode": "NG9 2JJ"
}
]
}');
$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases/create');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
'Content-Type' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();Response
json
{
"id": "460e9b05-84ac-485d-a534-4ab454e7a81f",
"ref": "FSFOOS",
"first_names": "Steve",
"last_names": "Smith",
"full_names": "Mr Steve Smith",
"email": "",
"postcode": "HA3 9RT",
"meta": {
"c5d82b0b-5cb3-46f7-841f-788fdff2ec8a": "NO"
},
"notes": "New data, check with client"
}json
{
"type": "object",
"properties": {
"id": {"type": "string"},
"ref": {"type": "string"},
"first_names": {"type": "string"},
"last_names": {"type": "string"},
"full_names": {"type": "string"},
"email": {"type": "string"},
"postcode": {"type": "string"},
"meta": {
"type": "object",
"properties": {
"crm_field_uuid": {"type": "string"}
},
"additionalProperties": false,
},
"notes": {"type": "string"}
},
"required": ["id", "ref", "first_names", "last_names", "full_names", "postcode", "meta", "notes"]
}Update Case
This API endpoint enables you to modify the case reference, notes, and any CRM fields associated with the case.
Input
HTTP request headers
Content-Type string
Setting to application/json is required.
Authorization string
This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…
Body parameters
ref string
notes string
meta object
The Custom CRM fields to populate on the case.
Details
Example of meta
Note: the key is the CRM field ID.
json
{
"c19461c0-78fc-4ff3-b038-adaf204c2082": "Prospect"
}customers array of objects
New customers to add to the case
WARNING
Adding the same customer twice is possible if caution is not exercised.
Details
Properties of customers
title string - Required
first_names string - Required
middle_names string
last_names string - Required
date_of_birth string
gender string
marital_status string
Could be one of the following (case-sensitive):
- married
- civil
- cohabiting
- widowed
- divorced
- dissolved
- separated
- single
- other
tel_1 string
Max length 25 characters
tel_2 string
Max length 25 characters
address_1 string
Max length 100 characters
address_2 string
Max length 100 characters
address_3 string
Max length 100 characters
postcode string
Max length 100 characters
occupation string
Max length 150 characters
preferred_name string
Max length 150 characters
email string
Example of customers
json
[
{
"title": "Mr",
"first_names": "Steve",
"middle_names": "Danial",
"last_name": "Smith",
"gender": "male",
"marital_status": "single",
"address_1": "607 Kenton Rd",
"address_2": "Kenton",
"postcode": "HA3 9RT"
}
]Output
Http status codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 404 | Resource not found |
| 500 | Internal Server Error |
Request example
bash
curl -X PATCH \
'https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...' \
--data-raw '{
"ref": "FSFOOS",
"notes": "New data, check with client",
"meta": {
"c5d82b0b-5cb3-46f7-841f-788fdff2ec8a": "NO"
},
"customers": [
{
"title": "Mr",
"first_names": "Steve",
"middle_names": "Danial",
"last_name": "Smith",
"gender": "male",
"marital_status": "single",
"address_1": "607 Kenton Rd",
"address_2": "Kenton",
"postcode": "HA3 9RT"
}
]
}'php
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->append('{
"ref": "FSFOOS",
"notes": "New data, check with client",
"meta": {
"c5d82b0b-5cb3-46f7-841f-788fdff2ec8a": "NO"
},
"customers": [
{
"title": "Mr",
"first_names": "Steve",
"middle_names": "Danial",
"last_name": "Smith",
"gender": "male",
"marital_status": "single",
"address_1": "607 Kenton Rd",
"address_2": "Kenton",
"postcode": "HA3 9RT"
}
]
}');
$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases/d57bc3b7-4f44-4846-9741-985db9af9b61');
$request->setRequestMethod('PATCH');
$request->setBody($body);
$request->setHeaders([
'Content-Type' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();Response
json
{
"id": "d57bc3b7-4f44-4846-9741-985db9af9b61",
"ref": "FSFOOS",
"first_names": "John & Jenny",
"last_names": "Doe",
"email": "",
"postcode": "",
"notes": "New data, check with client",
"meta": {
"c5d82b0b-5cb3-46f7-841f-788fdff2ec8a": "NO"
},
"full_names": "Mr John Doe & Mrs Jenny Doe",
"customers": [
{
"id": "012ad872-39d1-4414-8c32-afd4c20bd091",
"title": "Mr",
"first_names": "John",
"middle_names": null,
"last_name": "Doe",
"date_of_birth": null,
"gender": "male",
"tel_1": null,
"tel_2": null,
"email": null,
"occupation": null,
"marital_status": "married",
"address_1": null,
"address_2": null,
"address_3": null,
"postcode": null,
"customer_case_id": "d57bc3b7-4f44-4846-9741-985db9af9b61"
},
{
"id": "b61fabf7-15b0-488b-81ce-45961df0c3c2",
"title": "Mr",
"first_names": "Steve",
"middle_names": null,
"last_name": "Smith",
"date_of_birth": null,
"gender": null,
"tel_1": null,
"tel_2": null,
"email": null,
"occupation": null,
"marital_status": null,
"address_1": "607 Kenton Rd",
"address_2": "Kenton",
"address_3": null,
"postcode": "HA3 9RT",
"customer_case_id": "d57bc3b7-4f44-4846-9741-985db9af9b61"
}
]
}json
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"ref": {
"type": "string"
},
"first_names": {
"type": "string"
},
"last_names": {
"type": "string"
},
"email": {
"type": "string"
},
"postcode": {
"type": "string"
},
"notes": {
"type": "string"
},
"meta": {
"type": "object",
"patternProperties": {
".*": {
"type": "string"
}
}
},
"full_names": {
"type": "string"
},
"customers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"first_names": {
"type": "string"
},
"middle_names": {
"type": ["string", "null"]
},
"last_name": {
"type": "string"
},
"date_of_birth": {
"type": ["string", "null"]
},
"gender": {
"type": ["string", "null"]
},
"tel_1": {
"type": ["string", "null"]
},
"tel_2": {
"type": ["string", "null"]
},
"email": {
"type": ["string", "null"]
},
"occupation": {
"type": ["string", "null"]
},
"marital_status": {
"type": ["string", "null"]
},
"address_1": {
"type": ["string", "null"]
},
"address_2": {
"type": ["string", "null"]
},
"address_3": {
"type": ["string", "null"]
},
"postcode": {
"type": ["string", "null"]
},
"customer_case_id": {
"type": "string"
}
},
"required": ["id", "title", "first_names", "last_name", "customer_case_id"]
}
}
},
"required": [
"id",
"ref",
"first_names",
"last_names",
"email",
"postcode",
"notes",
"meta",
"full_names",
"customers"
]
}Bulk Update Case
This API endpoint enables you to bulk modify the case reference, notes, and any CRM fields.
WARNING
Since the process of bulk update/modify is resource intensive it will be handled asynchronously.
WARNING
The maximum records that can be updated per request is 2500
TIP
Check out docs for getting the status of the asynchronous job.
Input
HTTP request headers
Content-Type string
Setting to application/json is required.
Authorization string
This is the token you fetched e.g. Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS…
Body parameters
INFO
The body will only accept array of objects, where each object will be a case, below are the parameters of the case object.
id uuid
The unique case ID you wish to update.
notes string
meta object
The Custom CRM fields to populate on the case.
Details
Example of meta
Note: the key is the CRM field ID.
json
{
"c19461c0-78fc-4ff3-b038-adaf204c2082": "Prospect"
}Output
Http status codes
| Status Code | Description |
|---|---|
| 201 | Accepted |
| 400 | Bad Request |
| 404 | Resource not found |
| 500 | Internal Server Error |
Request example
bash
curl -X PATCH \
'https://client.willsuite.co.uk/engine/api/cases-bulk-update' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...' \
--data-raw '[
{
"id": "4528a261-917d-4cbc-939e-7ea48cffca69",
"meta": {
"9d40213b-d8f9-41d2-88a9-0d9b21226502": "2024-01-27"
}
},
{
"id": "488f6e4e-0ef3-41b3-9d1a-c500ed0140ff",
"meta": {
"9d40213b-d8f9-41d2-88a9-0d9b21226502": "2024-01-27"
}
}
]'php
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->append('[
{
"id": "4528a261-917d-4cbc-939e-7ea48cffca69",
"meta": {
"9d40213b-d8f9-41d2-88a9-0d9b21226502": "2024-01-27"
}
},
{
"id": "488f6e4e-0ef3-41b3-9d1a-c500ed0140ff",
"meta": {
"9d40213b-d8f9-41d2-88a9-0d9b21226502": "2024-01-27"
}
}
]');
$request->setRequestUrl('https://client.willsuite.co.uk/engine/api/cases-bulk-update');
$request->setRequestMethod('PATCH');
$request->setBody($body);
$request->setHeaders([
'Content-Type' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();Response
json
{
"apiJobId": "8b609a6d-c42c-4b5c-b0ab-74bdfb0abeb5"
}json
{
"type": "object",
"properties": {
"apiJobId": {
"type": "string"
}
},
"required": ["apiJobId"]
}