curl --request PUT \
--url https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fiscal_year_id": "<string>",
"payload": {}
}
'import requests
url = "https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}"
payload = {
"fiscal_year_id": "<string>",
"payload": {}
}
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({fiscal_year_id: '<string>', payload: {}})
};
fetch('https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}', 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.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}",
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([
'fiscal_year_id' => '<string>',
'payload' => [
]
]),
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://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}"
payload := strings.NewReader("{\n \"fiscal_year_id\": \"<string>\",\n \"payload\": {}\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://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fiscal_year_id\": \"<string>\",\n \"payload\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}")
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 \"fiscal_year_id\": \"<string>\",\n \"payload\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"owner_type": "<string>",
"fiscal_year_id": "<string>",
"note_code": "<string>",
"payload": {},
"updated_by": "<string>",
"updated_by_type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Save a statement note (client account)
Saves, as a whole, what a member enters for a note that is filled in by hand, for one book and fiscal year; a later save replaces the previous content (client space and organization space).
curl --request PUT \
--url https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fiscal_year_id": "<string>",
"payload": {}
}
'import requests
url = "https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}"
payload = {
"fiscal_year_id": "<string>",
"payload": {}
}
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({fiscal_year_id: '<string>', payload: {}})
};
fetch('https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}', 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.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}",
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([
'fiscal_year_id' => '<string>',
'payload' => [
]
]),
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://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}"
payload := strings.NewReader("{\n \"fiscal_year_id\": \"<string>\",\n \"payload\": {}\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://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fiscal_year_id\": \"<string>\",\n \"payload\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/accounting/client/reports/statements/notes/{noteCode}")
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 \"fiscal_year_id\": \"<string>\",\n \"payload\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"owner_type": "<string>",
"fiscal_year_id": "<string>",
"note_code": "<string>",
"payload": {},
"updated_by": "<string>",
"updated_by_type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}journal_entries.viewreports, statement_note_inputs.update
Conditions
- The accounting module must be part of the organization’s plan.
- In the organization space, the caller must have access to the book.
- The fiscal_year_id is required and must be a fiscal year of the book.
- The note must be one filled in by hand (declarative mode); computed and sourced notes are refused with a business-rule error (note_not_declarative).
- The payload must not exceed 65536 bytes once encoded as JSON (UTF-8 unescaped); a larger payload is refused.
- The note code must exist in the catalogue, otherwise the call answers 404.
- Creates the stored entry of this note for the book and fiscal year on the first call; later calls replace its payload entirely, and the previous content is not kept.
- Records the caller as the last editor (updated_by and updated_by_type) and refreshes updated_at.
- Later reads of the notes list or the note view of the same book and year return the new content.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Code of the note in the statement note catalogue (for example 3A). Matched exactly; a code that is not in the catalogue answers 404. In the organization space the OpenAPI path repeats this name where the book identifier belongs: the first segment is the book identifier and the last is the note code.
Query Parameters
Response mode. Default none; none answers 204 No Content.
none, resource Comma-separated JSON keys of the root resource (id is always rendered). Available: id, owner_type, fiscal_year_id, note_code, payload, updated_by, updated_by_type, created_at, updated_at.
Comma-separated include paths, each optionally followed by its fields in parentheses: units(id,sku),units.uomUnit(id,name). Max depth 6, max 40 paths. Available: .
Body
Whether the note accepts input at all is decided by the service (note_not_declarative).
Identifier of the fiscal year (27-character KSUID string) the note belongs to. Required; it must be a fiscal year of the selected book.
Content of the note, entered by a member: a JSON object or array whose shape follows the note. Required. Its JSON encoding must not exceed 65536 bytes. It replaces the previous content of this note for the book and year.
Response
Resource (only with response=resource).
Identifier of the stored note entry (27-character KSUID string).
Kind of owner of the book the note belongs to, as stored on its accounting records.
Identifier of the fiscal year the note belongs to (27-character KSUID string).
Code of the note in the statement catalogue, as sent in the URL.
Content saved for the note, as sent in the request: a JSON object or array.
Identifier of the member or agent account who last saved the note (27-character KSUID string). Set by the server from the caller; may be null.
Kind of actor recorded in updated_by. Set by the server from the caller; may be null.
Date and time the record was created (ISO 8601, UTC).
Date and time the record was last changed (ISO 8601, UTC).