curl --request PUT \
--url https://lazyapp.in/v1/connections/{connection}/storage \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirm": true,
"region": "<string>",
"pin": "<string>"
}
'import requests
url = "https://lazyapp.in/v1/connections/{connection}/storage"
payload = {
"confirm": True,
"region": "<string>",
"pin": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirm: true, region: '<string>', pin: '<string>'})
};
fetch('https://lazyapp.in/v1/connections/{connection}/storage', 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://lazyapp.in/v1/connections/{connection}/storage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'confirm' => true,
'region' => '<string>',
'pin' => '<string>'
]),
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://lazyapp.in/v1/connections/{connection}/storage"
payload := strings.NewReader("{\n \"confirm\": true,\n \"region\": \"<string>\",\n \"pin\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://lazyapp.in/v1/connections/{connection}/storage")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirm\": true,\n \"region\": \"<string>\",\n \"pin\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://lazyapp.in/v1/connections/{connection}/storage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirm\": true,\n \"region\": \"<string>\",\n \"pin\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"connection_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "default",
"region": "<string>",
"retention_minutes": 123,
"status": "<string>",
"regions": {}
}{
"message": "<string>",
"code": "<string>"
}{
"message": "The API is on the Pro plan. Upgrade in Billing to use live keys. Test keys keep working.",
"code": "plan_limit_reached"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"errors": {}
}{
"message": "<string>",
"code": "<string>"
}Change storage settings
Switch between default storage, local storage in one country, and no storage. WhatsApp only changes this on an unregistered number, so LazyApp deregisters, changes it and registers again (usually under five minutes). If WhatsApp refuses, the number is registered again with its old setting.
Required scope: messages:send
curl --request PUT \
--url https://lazyapp.in/v1/connections/{connection}/storage \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirm": true,
"region": "<string>",
"pin": "<string>"
}
'import requests
url = "https://lazyapp.in/v1/connections/{connection}/storage"
payload = {
"confirm": True,
"region": "<string>",
"pin": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirm: true, region: '<string>', pin: '<string>'})
};
fetch('https://lazyapp.in/v1/connections/{connection}/storage', 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://lazyapp.in/v1/connections/{connection}/storage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'confirm' => true,
'region' => '<string>',
'pin' => '<string>'
]),
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://lazyapp.in/v1/connections/{connection}/storage"
payload := strings.NewReader("{\n \"confirm\": true,\n \"region\": \"<string>\",\n \"pin\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://lazyapp.in/v1/connections/{connection}/storage")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirm\": true,\n \"region\": \"<string>\",\n \"pin\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://lazyapp.in/v1/connections/{connection}/storage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirm\": true,\n \"region\": \"<string>\",\n \"pin\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"connection_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "default",
"region": "<string>",
"retention_minutes": 123,
"status": "<string>",
"regions": {}
}{
"message": "<string>",
"code": "<string>"
}{
"message": "The API is on the Pro plan. Upgrade in Billing to use live keys. Test keys keep working.",
"code": "plan_limit_reached"
}{
"message": "<string>",
"code": "<string>"
}{
"message": "<string>",
"errors": {}
}{
"message": "<string>",
"code": "<string>"
}Authorizations
Your API key, e.g. sk_live_... or sk_test_....
Headers
Optional. Makes this write safe to retry: the same key replays the first response instead of acting twice.
255Path Parameters
Connection uuid.
Body
Response
New setting.
local keeps message content at rest in one country; none keeps nothing at rest (one hour in transit).
default, local, none ISO country code for local storage.
Meta's raw storage_configuration.status.
Countries Meta offers for local storage, code to name. Only on GET.
Show child attributes
Show child attributes