Update Legal Data
curl --request PUT \
--url https://api.example.com/organizations/{id}/legal \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"legal_name": "<string>",
"tax_system": "<string>",
"website": "<string>",
"support_email": "<string>",
"phone": "<string>",
"address": {
"street": "<string>",
"exterior": 123,
"interior": 123,
"neighborhood": "<string>",
"city": "<string>",
"municipality": "<string>",
"zip": 123,
"state": "<string>"
}
}
'import requests
url = "https://api.example.com/organizations/{id}/legal"
payload = {
"name": "<string>",
"legal_name": "<string>",
"tax_system": "<string>",
"website": "<string>",
"support_email": "<string>",
"phone": "<string>",
"address": {
"street": "<string>",
"exterior": 123,
"interior": 123,
"neighborhood": "<string>",
"city": "<string>",
"municipality": "<string>",
"zip": 123,
"state": "<string>"
}
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
legal_name: '<string>',
tax_system: '<string>',
website: '<string>',
support_email: '<string>',
phone: '<string>',
address: {
street: '<string>',
exterior: 123,
interior: 123,
neighborhood: '<string>',
city: '<string>',
municipality: '<string>',
zip: 123,
state: '<string>'
}
})
};
fetch('https://api.example.com/organizations/{id}/legal', 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/organizations/{id}/legal",
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([
'name' => '<string>',
'legal_name' => '<string>',
'tax_system' => '<string>',
'website' => '<string>',
'support_email' => '<string>',
'phone' => '<string>',
'address' => [
'street' => '<string>',
'exterior' => 123,
'interior' => 123,
'neighborhood' => '<string>',
'city' => '<string>',
'municipality' => '<string>',
'zip' => 123,
'state' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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.example.com/organizations/{id}/legal"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"legal_name\": \"<string>\",\n \"tax_system\": \"<string>\",\n \"website\": \"<string>\",\n \"support_email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"street\": \"<string>\",\n \"exterior\": 123,\n \"interior\": 123,\n \"neighborhood\": \"<string>\",\n \"city\": \"<string>\",\n \"municipality\": \"<string>\",\n \"zip\": 123,\n \"state\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<authorization>")
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://api.example.com/organizations/{id}/legal")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"legal_name\": \"<string>\",\n \"tax_system\": \"<string>\",\n \"website\": \"<string>\",\n \"support_email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"street\": \"<string>\",\n \"exterior\": 123,\n \"interior\": 123,\n \"neighborhood\": \"<string>\",\n \"city\": \"<string>\",\n \"municipality\": \"<string>\",\n \"zip\": 123,\n \"state\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/organizations/{id}/legal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"legal_name\": \"<string>\",\n \"tax_system\": \"<string>\",\n \"website\": \"<string>\",\n \"support_email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"street\": \"<string>\",\n \"exterior\": 123,\n \"interior\": 123,\n \"neighborhood\": \"<string>\",\n \"city\": \"<string>\",\n \"municipality\": \"<string>\",\n \"zip\": 123,\n \"state\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"200": {},
"400": {},
"401": {},
"403": {},
"404": {},
"id": "<string>",
"name": "<string>",
"razonSocial": "<string>",
"regimenFiscalId": "<string>",
"website": "<string>",
"phone": "<string>",
"selfInvoiceSupportEmail": "<string>",
"addressStreet": "<string>",
"addressExterior": "<string>",
"addressInterior": "<string>",
"addressNeighborhood": "<string>",
"addressCity": "<string>",
"addressMunicipality": "<string>",
"addressZip": "<string>",
"addressState": "<string>",
"updatedAt": "<string>"
}Organizations
Update Legal Data
Update the legal and fiscal information of an organization
PUT
/
organizations
/
{id}
/
legal
Update Legal Data
curl --request PUT \
--url https://api.example.com/organizations/{id}/legal \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"legal_name": "<string>",
"tax_system": "<string>",
"website": "<string>",
"support_email": "<string>",
"phone": "<string>",
"address": {
"street": "<string>",
"exterior": 123,
"interior": 123,
"neighborhood": "<string>",
"city": "<string>",
"municipality": "<string>",
"zip": 123,
"state": "<string>"
}
}
'import requests
url = "https://api.example.com/organizations/{id}/legal"
payload = {
"name": "<string>",
"legal_name": "<string>",
"tax_system": "<string>",
"website": "<string>",
"support_email": "<string>",
"phone": "<string>",
"address": {
"street": "<string>",
"exterior": 123,
"interior": 123,
"neighborhood": "<string>",
"city": "<string>",
"municipality": "<string>",
"zip": 123,
"state": "<string>"
}
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
legal_name: '<string>',
tax_system: '<string>',
website: '<string>',
support_email: '<string>',
phone: '<string>',
address: {
street: '<string>',
exterior: 123,
interior: 123,
neighborhood: '<string>',
city: '<string>',
municipality: '<string>',
zip: 123,
state: '<string>'
}
})
};
fetch('https://api.example.com/organizations/{id}/legal', 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/organizations/{id}/legal",
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([
'name' => '<string>',
'legal_name' => '<string>',
'tax_system' => '<string>',
'website' => '<string>',
'support_email' => '<string>',
'phone' => '<string>',
'address' => [
'street' => '<string>',
'exterior' => 123,
'interior' => 123,
'neighborhood' => '<string>',
'city' => '<string>',
'municipality' => '<string>',
'zip' => 123,
'state' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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.example.com/organizations/{id}/legal"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"legal_name\": \"<string>\",\n \"tax_system\": \"<string>\",\n \"website\": \"<string>\",\n \"support_email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"street\": \"<string>\",\n \"exterior\": 123,\n \"interior\": 123,\n \"neighborhood\": \"<string>\",\n \"city\": \"<string>\",\n \"municipality\": \"<string>\",\n \"zip\": 123,\n \"state\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<authorization>")
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://api.example.com/organizations/{id}/legal")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"legal_name\": \"<string>\",\n \"tax_system\": \"<string>\",\n \"website\": \"<string>\",\n \"support_email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"street\": \"<string>\",\n \"exterior\": 123,\n \"interior\": 123,\n \"neighborhood\": \"<string>\",\n \"city\": \"<string>\",\n \"municipality\": \"<string>\",\n \"zip\": 123,\n \"state\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/organizations/{id}/legal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"legal_name\": \"<string>\",\n \"tax_system\": \"<string>\",\n \"website\": \"<string>\",\n \"support_email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address\": {\n \"street\": \"<string>\",\n \"exterior\": 123,\n \"interior\": 123,\n \"neighborhood\": \"<string>\",\n \"city\": \"<string>\",\n \"municipality\": \"<string>\",\n \"zip\": 123,\n \"state\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"200": {},
"400": {},
"401": {},
"403": {},
"404": {},
"id": "<string>",
"name": "<string>",
"razonSocial": "<string>",
"regimenFiscalId": "<string>",
"website": "<string>",
"phone": "<string>",
"selfInvoiceSupportEmail": "<string>",
"addressStreet": "<string>",
"addressExterior": "<string>",
"addressInterior": "<string>",
"addressNeighborhood": "<string>",
"addressCity": "<string>",
"addressMunicipality": "<string>",
"addressZip": "<string>",
"addressState": "<string>",
"updatedAt": "<string>"
}Description
Updates the legal and fiscal data of an organization including tax system, legal name, address, and contact information. Only the organization owner can perform this action.Authorization
string
required
Bearer token for authentication
Path Parameters
string
required
The unique ID of the organization
Body Parameters
string
Organization display name (1-100 characters)
string
Legal name / Razón Social (1-250 characters)
string
Tax system code / Régimen Fiscal (e.g., “601”, “603”)
string
Organization website URL
string
Support email address
string
Phone number (10-20 characters)
object
Organization address
Show address properties
Show address properties
string
required
Street name (1-200 characters)
integer
required
Exterior number (minimum 1)
integer
Interior number or unit (minimum 1)
string
required
Neighborhood or colony (1-100 characters)
string
required
City name (1-100 characters)
string
required
Municipality name (1-100 characters)
integer
required
ZIP code (5 digits, 10000-99999)
string
required
State name (1-100 characters)
Response
string
Organization ID
string
Organization name
string
Legal name (Razón Social)
string
Tax system UUID
string
Organization website
string
Phone number
string
Support email
string
Street name
string
Exterior number
string
Interior number
string
Neighborhood
string
City
string
Municipality
string
ZIP code
string
State
string
Last update timestamp
Example Request
curl -X PUT "https://api.timbrix.mx/organizations/550e8400-e29b-41d4-a716-446655440000/legal" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Mi Empresa",
"legal_name": "Mi Empresa S.A. de C.V.",
"tax_system": "601",
"website": "https://miempresa.com",
"support_email": "soporte@miempresa.com",
"phone": "+52 644 123 4567",
"address": {
"street": "Blvd. Atardecer",
"exterior": 142,
"interior": 4,
"neighborhood": "Centro",
"city": "Huatabampo",
"municipality": "Huatabampo",
"zip": 86500,
"state": "Sonora"
}
}'
Response Codes
OK
Organization legal data updated successfully
Bad Request
Invalid input data or tax system code not found
Unauthorized
Authentication required
Forbidden
Access denied. Only organization owners can update legal data
Not Found
Organization not found
Security
⚠️ OWNER ONLY: Only the organization OWNER can update legal and fiscal information. Admins and members cannot perform this action.Notes
- All fields are optional - you can update only the fields you need to change
- The
tax_systemfield accepts tax regime codes (e.g., “601”, “603”) and automatically resolves to the corresponding UUID - If the tax system code doesn’t exist in the database, a 400 error will be returned
- Address can be updated partially or completely
⌘I