curl --request POST \
--url https://api.piriod.com/customers/ \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'x-simple-workspace: <x-simple-workspace>' \
--data '
{
"name": "<string>",
"address": "<string>",
"country": "<string>",
"state": 123,
"currency": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"website": "<string>",
"zip_code": "<string>",
"manager": "<string>",
"reference": "<string>",
"tax_id": "<string>",
"tax_settings": {},
"metadata": {},
"send_invoices": true,
"send_collections": true,
"send_vouchers": true
}
'import requests
url = "https://api.piriod.com/customers/"
payload = {
"name": "<string>",
"address": "<string>",
"country": "<string>",
"state": 123,
"currency": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"website": "<string>",
"zip_code": "<string>",
"manager": "<string>",
"reference": "<string>",
"tax_id": "<string>",
"tax_settings": {},
"metadata": {},
"send_invoices": True,
"send_collections": True,
"send_vouchers": True
}
headers = {
"x-simple-workspace": "<x-simple-workspace>",
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-simple-workspace': '<x-simple-workspace>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
address: '<string>',
country: '<string>',
state: 123,
currency: '<string>',
email: 'jsmith@example.com',
phone: '<string>',
website: '<string>',
zip_code: '<string>',
manager: '<string>',
reference: '<string>',
tax_id: '<string>',
tax_settings: {},
metadata: {},
send_invoices: true,
send_collections: true,
send_vouchers: true
})
};
fetch('https://api.piriod.com/customers/', 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.piriod.com/customers/",
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([
'name' => '<string>',
'address' => '<string>',
'country' => '<string>',
'state' => 123,
'currency' => '<string>',
'email' => 'jsmith@example.com',
'phone' => '<string>',
'website' => '<string>',
'zip_code' => '<string>',
'manager' => '<string>',
'reference' => '<string>',
'tax_id' => '<string>',
'tax_settings' => [
],
'metadata' => [
],
'send_invoices' => true,
'send_collections' => true,
'send_vouchers' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"x-simple-workspace: <x-simple-workspace>"
],
]);
$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.piriod.com/customers/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"address\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": 123,\n \"currency\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"website\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"manager\": \"<string>\",\n \"reference\": \"<string>\",\n \"tax_id\": \"<string>\",\n \"tax_settings\": {},\n \"metadata\": {},\n \"send_invoices\": true,\n \"send_collections\": true,\n \"send_vouchers\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-simple-workspace", "<x-simple-workspace>")
req.Header.Add("Authorization", "<api-key>")
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.piriod.com/customers/")
.header("x-simple-workspace", "<x-simple-workspace>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"address\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": 123,\n \"currency\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"website\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"manager\": \"<string>\",\n \"reference\": \"<string>\",\n \"tax_id\": \"<string>\",\n \"tax_settings\": {},\n \"metadata\": {},\n \"send_invoices\": true,\n \"send_collections\": true,\n \"send_vouchers\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.piriod.com/customers/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-simple-workspace"] = '<x-simple-workspace>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"address\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": 123,\n \"currency\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"website\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"manager\": \"<string>\",\n \"reference\": \"<string>\",\n \"tax_id\": \"<string>\",\n \"tax_settings\": {},\n \"metadata\": {},\n \"send_invoices\": true,\n \"send_collections\": true,\n \"send_vouchers\": true\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"address": "<string>",
"country": {
"id": "CL",
"name": "Chile",
"code": "+56",
"has_regulation": true,
"currencies": [
"CLP"
]
},
"state": {
"id": 123,
"name": "<string>",
"country": "CL"
},
"id": "cus_01H8XYZ123ABC",
"currency": "CLP",
"email": "jsmith@example.com",
"phone": "<string>",
"website": "<string>",
"zip_code": "<string>",
"manager": "<string>",
"reference": "<string>",
"tax_id": "<string>",
"tax_settings": {},
"metadata": {},
"send_invoices": true,
"send_collections": true,
"send_vouchers": true,
"status": "active",
"contacts": [
{
"name": "<string>",
"email": "jsmith@example.com",
"id": "con_01H8XYZ123ABC",
"customer": "<string>",
"orgunit": "<string>",
"phone": "<string>",
"invoicing": true,
"collections": true,
"created": "2023-11-07T05:31:56Z",
"updated": "2023-11-07T05:31:56Z"
}
],
"sources": [
"<string>"
],
"aggregations": {
"sales": 123,
"sales_current_period": 123,
"balance": 123
},
"test_mode": true,
"created": "2023-11-07T05:31:56Z",
"updated": "2023-11-07T05:31:56Z"
}{
"name": [
"This field is required."
],
"non_field_errors": [
"x-simple-workspace header is required."
]
}{
"detail": "Authentication credentials were not provided."
}Create customer
curl --request POST \
--url https://api.piriod.com/customers/ \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'x-simple-workspace: <x-simple-workspace>' \
--data '
{
"name": "<string>",
"address": "<string>",
"country": "<string>",
"state": 123,
"currency": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"website": "<string>",
"zip_code": "<string>",
"manager": "<string>",
"reference": "<string>",
"tax_id": "<string>",
"tax_settings": {},
"metadata": {},
"send_invoices": true,
"send_collections": true,
"send_vouchers": true
}
'import requests
url = "https://api.piriod.com/customers/"
payload = {
"name": "<string>",
"address": "<string>",
"country": "<string>",
"state": 123,
"currency": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"website": "<string>",
"zip_code": "<string>",
"manager": "<string>",
"reference": "<string>",
"tax_id": "<string>",
"tax_settings": {},
"metadata": {},
"send_invoices": True,
"send_collections": True,
"send_vouchers": True
}
headers = {
"x-simple-workspace": "<x-simple-workspace>",
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-simple-workspace': '<x-simple-workspace>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
address: '<string>',
country: '<string>',
state: 123,
currency: '<string>',
email: 'jsmith@example.com',
phone: '<string>',
website: '<string>',
zip_code: '<string>',
manager: '<string>',
reference: '<string>',
tax_id: '<string>',
tax_settings: {},
metadata: {},
send_invoices: true,
send_collections: true,
send_vouchers: true
})
};
fetch('https://api.piriod.com/customers/', 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.piriod.com/customers/",
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([
'name' => '<string>',
'address' => '<string>',
'country' => '<string>',
'state' => 123,
'currency' => '<string>',
'email' => 'jsmith@example.com',
'phone' => '<string>',
'website' => '<string>',
'zip_code' => '<string>',
'manager' => '<string>',
'reference' => '<string>',
'tax_id' => '<string>',
'tax_settings' => [
],
'metadata' => [
],
'send_invoices' => true,
'send_collections' => true,
'send_vouchers' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"x-simple-workspace: <x-simple-workspace>"
],
]);
$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.piriod.com/customers/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"address\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": 123,\n \"currency\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"website\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"manager\": \"<string>\",\n \"reference\": \"<string>\",\n \"tax_id\": \"<string>\",\n \"tax_settings\": {},\n \"metadata\": {},\n \"send_invoices\": true,\n \"send_collections\": true,\n \"send_vouchers\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-simple-workspace", "<x-simple-workspace>")
req.Header.Add("Authorization", "<api-key>")
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.piriod.com/customers/")
.header("x-simple-workspace", "<x-simple-workspace>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"address\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": 123,\n \"currency\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"website\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"manager\": \"<string>\",\n \"reference\": \"<string>\",\n \"tax_id\": \"<string>\",\n \"tax_settings\": {},\n \"metadata\": {},\n \"send_invoices\": true,\n \"send_collections\": true,\n \"send_vouchers\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.piriod.com/customers/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-simple-workspace"] = '<x-simple-workspace>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"address\": \"<string>\",\n \"country\": \"<string>\",\n \"state\": 123,\n \"currency\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"website\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"manager\": \"<string>\",\n \"reference\": \"<string>\",\n \"tax_id\": \"<string>\",\n \"tax_settings\": {},\n \"metadata\": {},\n \"send_invoices\": true,\n \"send_collections\": true,\n \"send_vouchers\": true\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"address": "<string>",
"country": {
"id": "CL",
"name": "Chile",
"code": "+56",
"has_regulation": true,
"currencies": [
"CLP"
]
},
"state": {
"id": 123,
"name": "<string>",
"country": "CL"
},
"id": "cus_01H8XYZ123ABC",
"currency": "CLP",
"email": "jsmith@example.com",
"phone": "<string>",
"website": "<string>",
"zip_code": "<string>",
"manager": "<string>",
"reference": "<string>",
"tax_id": "<string>",
"tax_settings": {},
"metadata": {},
"send_invoices": true,
"send_collections": true,
"send_vouchers": true,
"status": "active",
"contacts": [
{
"name": "<string>",
"email": "jsmith@example.com",
"id": "con_01H8XYZ123ABC",
"customer": "<string>",
"orgunit": "<string>",
"phone": "<string>",
"invoicing": true,
"collections": true,
"created": "2023-11-07T05:31:56Z",
"updated": "2023-11-07T05:31:56Z"
}
],
"sources": [
"<string>"
],
"aggregations": {
"sales": 123,
"sales_current_period": 123,
"balance": 123
},
"test_mode": true,
"created": "2023-11-07T05:31:56Z",
"updated": "2023-11-07T05:31:56Z"
}{
"name": [
"This field is required."
],
"non_field_errors": [
"x-simple-workspace header is required."
]
}{
"detail": "Authentication credentials were not provided."
}Authorizations
Use header Authorization: Token <api_token>.
API tokens are obtained from the Piriod dashboard.
Headers
Workspace (account) identifier. Required for every request.
Whether to operate against test-mode data. Defaults to false.
Body
10064Country ID (e.g. CL, MX, CO).
State ID. Must belong to the chosen country.
ISO currency code. Defaults from the country if omitted.
1616646432Response
Customer created.
10064Show child attributes
Show child attributes
Show child attributes
Show child attributes
"cus_01H8XYZ123ABC"
ISO currency code (e.g. CLP, USD).
"CLP"
1616Account manager name (free text).
64External reference for the customer.
64Tax identifier. Required when the customer's country has tax regulation (e.g. Chile RUT, Mexico RFC, Colombia NIT) and matches the account's country.
32Country-specific tax configuration. Schema and required keys depend on the tax agency of the customer's country.
Arbitrary key/value metadata. Filterable via ?metadata__key=value.
Whether to email invoices to the customer.
Whether to email collection reminders to the customer.
Whether to email payment receipts to the customer.
active, archived, pending Show child attributes
Show child attributes
IDs of reusable payment sources currently chargeable or pending.
Show child attributes
Show child attributes
