Pause client plan
curl --request POST \
--url https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pauseimport requests
url = "https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause', 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.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause"
req, _ := http.NewRequest("POST", url, nil)
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.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"billingType": "one_off",
"id": "<string>",
"createdAt": "<string>",
"clientId": "<string>",
"plan": {
"planTemplateId": "<string>",
"name": "<string>",
"discountRate": 123,
"discountAmount": 123,
"items": [
{
"id": "<string>",
"createdAt": "<string>",
"clientPlanId": "<string>",
"planTemplateItemId": "<string>",
"appointmentTypeId": "<string>",
"providerId": "<string>",
"billableItemId": "<string>",
"basePrice": 123,
"price": 123,
"taxRate": 123,
"currency": "<string>",
"name": "<string>"
}
]
},
"client": {
"id": "<string>",
"deleted": true,
"createdAt": "2023-11-07T05:31:56Z",
"memberId": "memb_38JiySr0Z0ePjHpqvosimyLQuUC",
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "<string>",
"mobileNumber": "<string>",
"email": "<string>",
"pmsPatientId": "<string>",
"pmsCreatedAt": "2023-11-07T05:31:56Z",
"profileImageUrl": "<string>"
},
"organisation": {
"id": "org_31XEcUshz1ymodA14HALnyP48g1",
"name": "Acme Healthcare",
"slug": "acme-healthcare",
"createdAt": "2023-01-15T10:30:00Z",
"bookingsEnabled": true,
"brandImageUrl": "https://example.com/brand-image.png",
"wordmarkImageUrl": "https://example.com/wordmark-image.png",
"websiteUrl": "https://example.com"
},
"business": {
"id": "<string>",
"name": "<string>",
"settings": {
"autoReconciliationEnabled": true,
"autoInviteClientsEnabled": true
},
"createdAt": "2023-11-07T05:31:56Z",
"taxIdentifier": "<string>",
"countryCode": "<string>",
"merchantId": "<string>",
"capabilities": [
{}
],
"events": {},
"websiteUrl": "<string>",
"brandImageUrl": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"suburb": "<string>",
"city": "<string>",
"state": "<string>",
"postcode": "<string>",
"country": "<string>",
"countryCode": "<string>"
}
},
"bookingCredits": [
{
"id": "<string>",
"clientPlanId": "<string>",
"clientPlanItemId": "<string>",
"appointmentTypeId": "<string>",
"price": 123,
"currency": "<string>",
"paidAt": "2023-11-07T05:31:56Z",
"bookedAt": "2023-11-07T05:31:56Z",
"redeemedAt": "2023-11-07T05:31:56Z",
"isPaid": true,
"isBooked": true
}
],
"charges": [
{
"id": "<string>",
"clientPlanId": "<string>",
"cycleNumber": 123,
"amount": 123,
"currency": "<string>",
"businessTransactionId": "<string>"
}
],
"subscription": {
"cyclesCompleted": 123,
"startsAt": "<string>",
"billingIntervalCount": 123,
"billingCycleCount": 123,
"endsAt": "<string>",
"nextBillingAt": "2023-11-07T05:31:56Z"
}
}Client Plan
Pause client plan
Pause a recurring plan. Billing stops and the upcoming cycle is skipped by rolling the next billing date forward one cycle without charging. Already paid-for booking credits stay usable. Resume to continue billing on the plan’s next billing date.
POST
/
v1
/
organisations
/
{organisationId}
/
clients
/
{clientId}
/
plans
/
{clientPlanId}
/
pause
Pause client plan
curl --request POST \
--url https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pauseimport requests
url = "https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause', 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.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause"
req, _ := http.NewRequest("POST", url, nil)
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.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.halth.com/v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/pause")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"billingType": "one_off",
"id": "<string>",
"createdAt": "<string>",
"clientId": "<string>",
"plan": {
"planTemplateId": "<string>",
"name": "<string>",
"discountRate": 123,
"discountAmount": 123,
"items": [
{
"id": "<string>",
"createdAt": "<string>",
"clientPlanId": "<string>",
"planTemplateItemId": "<string>",
"appointmentTypeId": "<string>",
"providerId": "<string>",
"billableItemId": "<string>",
"basePrice": 123,
"price": 123,
"taxRate": 123,
"currency": "<string>",
"name": "<string>"
}
]
},
"client": {
"id": "<string>",
"deleted": true,
"createdAt": "2023-11-07T05:31:56Z",
"memberId": "memb_38JiySr0Z0ePjHpqvosimyLQuUC",
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "<string>",
"mobileNumber": "<string>",
"email": "<string>",
"pmsPatientId": "<string>",
"pmsCreatedAt": "2023-11-07T05:31:56Z",
"profileImageUrl": "<string>"
},
"organisation": {
"id": "org_31XEcUshz1ymodA14HALnyP48g1",
"name": "Acme Healthcare",
"slug": "acme-healthcare",
"createdAt": "2023-01-15T10:30:00Z",
"bookingsEnabled": true,
"brandImageUrl": "https://example.com/brand-image.png",
"wordmarkImageUrl": "https://example.com/wordmark-image.png",
"websiteUrl": "https://example.com"
},
"business": {
"id": "<string>",
"name": "<string>",
"settings": {
"autoReconciliationEnabled": true,
"autoInviteClientsEnabled": true
},
"createdAt": "2023-11-07T05:31:56Z",
"taxIdentifier": "<string>",
"countryCode": "<string>",
"merchantId": "<string>",
"capabilities": [
{}
],
"events": {},
"websiteUrl": "<string>",
"brandImageUrl": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"suburb": "<string>",
"city": "<string>",
"state": "<string>",
"postcode": "<string>",
"country": "<string>",
"countryCode": "<string>"
}
},
"bookingCredits": [
{
"id": "<string>",
"clientPlanId": "<string>",
"clientPlanItemId": "<string>",
"appointmentTypeId": "<string>",
"price": 123,
"currency": "<string>",
"paidAt": "2023-11-07T05:31:56Z",
"bookedAt": "2023-11-07T05:31:56Z",
"redeemedAt": "2023-11-07T05:31:56Z",
"isPaid": true,
"isBooked": true
}
],
"charges": [
{
"id": "<string>",
"clientPlanId": "<string>",
"cycleNumber": 123,
"amount": 123,
"currency": "<string>",
"businessTransactionId": "<string>"
}
],
"subscription": {
"cyclesCompleted": 123,
"startsAt": "<string>",
"billingIntervalCount": 123,
"billingCycleCount": 123,
"endsAt": "<string>",
"nextBillingAt": "2023-11-07T05:31:56Z"
}
}Response
200 - application/json
Whether the plan is billed as a one-off or on a recurring basis. Recurring when the plan has a subscription.
Available options:
one_off, recurring Example:
"one_off"
Available options:
created, active, inactive, paused, cancelled, past_due, completed Show child attributes
Show child attributes
Expandable field
Show child attributes
Show child attributes
Expandable field
Show child attributes
Show child attributes
Expandable field
Show child attributes
Show child attributes
Expandable field
Show child attributes
Show child attributes
Expandable field
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
