Update a record
curl --request PUT \
--url https://api.example.com/exo-api/resources/{name}/{id}import requests
url = "https://api.example.com/exo-api/resources/{name}/{id}"
response = requests.put(url)
print(response.text)const options = {method: 'PUT'};
fetch('https://api.example.com/exo-api/resources/{name}/{id}', 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.example.com/exo-api/resources/{name}/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
]);
$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.example.com/exo-api/resources/{name}/{id}"
req, _ := http.NewRequest("PUT", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.example.com/exo-api/resources/{name}/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/exo-api/resources/{name}/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
response = http.request(request)
puts response.read_bodyResources
Update a record
Updates an existing record.
PUT
/
exo-api
/
resources
/
{name}
/
{id}
Update a record
curl --request PUT \
--url https://api.example.com/exo-api/resources/{name}/{id}import requests
url = "https://api.example.com/exo-api/resources/{name}/{id}"
response = requests.put(url)
print(response.text)const options = {method: 'PUT'};
fetch('https://api.example.com/exo-api/resources/{name}/{id}', 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.example.com/exo-api/resources/{name}/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
]);
$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.example.com/exo-api/resources/{name}/{id}"
req, _ := http.NewRequest("PUT", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.example.com/exo-api/resources/{name}/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/exo-api/resources/{name}/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
response = http.request(request)
puts response.read_bodyUpdates a record. The request body is validated against the resource’s
updateRules. The user must be authorized (admin or owner).
Path parameters
string
required
The resource name (e.g.
contact, order).integer
required
The record’s ID.
Request body
The fields to update. Only send the fields you want to change — usesometimes in your updateRules to make fields optional.
Request
curl -X PUT \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"phone": "+1-555-9999"}' \
https://your-app.com/exo-api/resources/contact/1
Response
Returns the updated record’s transformed data. Example response:{
"id": 1,
"name": "Jane Smith",
"email": "[email protected]",
"phone": "+1-555-9999",
"created_at": "2026-03-28T14:30:00+00:00"
}
Errors
| Status | Description |
|---|---|
403 | User is not authorized to update this record |
404 | Resource or record not found |
405 | Resource does not support updates (supportsUpdate returns false) |
422 | Validation failed — see errors object for details |
⌘I