Close a case from the merchant review stage
curl --request POST \
--url https://api.prets.app/v1/cases/{caseId}/close \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.prets.app/v1/cases/{caseId}/close"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.prets.app/v1/cases/{caseId}/close', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.prets.app/v1/cases/{caseId}/close",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.prets.app/v1/cases/{caseId}/close"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.prets.app/v1/cases/{caseId}/close")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prets.app/v1/cases/{caseId}/close")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"data": {
"caseId": "cas_01ARZ3NDEKTSV4RRFFQ69G5AV",
"quote": {
"quoteId": "qot_01ARZ3NDEKTSV4RRFFQ69G5AV"
},
"type": "merchant_feedback",
"subject": "Customer wants a later install date",
"stage": "Prets Action",
"createdAt": "2026-08-14T09:12:04.000Z",
"updatedAt": "2026-08-16T11:03:22.000Z",
"state": "open",
"waitingOn": "prets",
"waitingSince": "2026-08-14T09:12:04.000Z",
"requestType": "Reschedule Meeting",
"description": "The customer asked to move the appointment.",
"createdBy": "Jane Advisor"
}
}Cases
Close a case from the merchant review stage
POST
/
v1
/
cases
/
{caseId}
/
close
Close a case from the merchant review stage
curl --request POST \
--url https://api.prets.app/v1/cases/{caseId}/close \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.prets.app/v1/cases/{caseId}/close"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.prets.app/v1/cases/{caseId}/close', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.prets.app/v1/cases/{caseId}/close",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.prets.app/v1/cases/{caseId}/close"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.prets.app/v1/cases/{caseId}/close")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prets.app/v1/cases/{caseId}/close")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"data": {
"caseId": "cas_01ARZ3NDEKTSV4RRFFQ69G5AV",
"quote": {
"quoteId": "qot_01ARZ3NDEKTSV4RRFFQ69G5AV"
},
"type": "merchant_feedback",
"subject": "Customer wants a later install date",
"stage": "Prets Action",
"createdAt": "2026-08-14T09:12:04.000Z",
"updatedAt": "2026-08-16T11:03:22.000Z",
"state": "open",
"waitingOn": "prets",
"waitingSince": "2026-08-14T09:12:04.000Z",
"requestType": "Reschedule Meeting",
"description": "The customer asked to move the appointment.",
"createdBy": "Jane Advisor"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Platform case id (cas_{ULID})
Pattern:
^cas_[0-9A-HJKMNP-TV-Z]{26}$Example:
"cas_01ARZ3NDEKTSV4RRFFQ69G5AV"
Body
application/json
Optional closing note posted with the close
Optional closing note posted alongside the close
Show child attributes
Show child attributes
Response
Case closed successfully
Case after it was closed
Quote support Case. Conversation lives on /messages; this resource is metadata and lifecycle only.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Was this page helpful?
⌘I