cURL
curl -X PATCH "$EXSITED_BASE_URL/api/v4/purchase_invoices/PI-0001/notes/note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--form-string 'note=<p>Goods received in full.</p>' \
-F "file=@delivery-note.pdf"from exsited import build_client
client = build_client()
response = client.purchase_invoices.update_purchase_invoice_note(
"PI-0001",
"note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a",
"<p>Goods received in full.</p>",
files={"file": open("delivery-note.pdf", "rb")},
)
print(response.data)
import {readFileSync} from 'node:fs';
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.purchaseInvoices.updatePurchaseInvoiceNote(
'PI-0001',
'note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a',
'<p>Goods received in full.</p>',
{files: {file: ['delivery-note.pdf', readFileSync('delivery-note.pdf')]}},
);
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->purchaseInvoices->updatePurchaseInvoiceNote(
'PI-0001',
'note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a',
'<p>Goods received in full.</p>',
['file' => ['delivery-note.pdf', fopen('delivery-note.pdf', 'r')]],
);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.client.RequestOptions;
import com.exsited.resources.purchase_invoices.purchase_invoices_dto.PurchaseInvoicesDto.PurchaseInvoiceNoteUpdated;
import java.nio.file.Path;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<PurchaseInvoiceNoteUpdated> response = client.purchaseInvoices().updatePurchaseInvoiceNote(
"PI-0001",
"note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a",
"<p>Goods received in full.</p>",
Map.of("file", Path.of("delivery-note.pdf")),
RequestOptions.none());
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.PurchaseInvoices.UpdatePurchaseInvoiceNoteAsync(
"PI-0001",
"note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a",
"<p>Goods received in full.</p>",
new Dictionary<string, object?> { ["file"] = new object?[] { "delivery-note.pdf", File.ReadAllBytes("delivery-note.pdf") } });
Console.WriteLine(response.Json);
import 'dart:io';
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.purchaseInvoices.updatePurchaseInvoiceNote(
'PI-0001',
'note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a',
'<p>Goods received in full.</p>',
files: {
'file': [
'delivery-note.pdf',
File('delivery-note.pdf').readAsBytesSync(),
],
},
);
print(response.map);
import (
"context"
"fmt"
"log"
"os"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
file, err := os.ReadFile("delivery-note.pdf")
if err != nil {
log.Fatal(err)
}
response, err := client.PurchaseInvoices().UpdatePurchaseInvoiceNote(context.Background(), "PI-0001", "note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a", "<p>Goods received in full.</p>", map[string]any{"file": []any{"delivery-note.pdf", file}}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"note": {
"attachments": [
"<unknown>"
],
"content": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"created_on": "<string>",
"group": "<unknown>",
"href": "<string>",
"id": "<string>",
"last_updated_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<string>",
"object": "<string>",
"purchase_invoice": {
"href": "<string>",
"id": "<string>",
"object": "<string>"
},
"user": "<unknown>",
"version": 123,
"watchers": [
"<unknown>"
]
}
}Purchase invoices
Update a purchase invoice note
Replaces the text of a purchase invoice note and returns it under note.
PATCH
/
purchase_invoices
/
{purchase_invoice_id}
/
notes
/
{note_id}
cURL
curl -X PATCH "$EXSITED_BASE_URL/api/v4/purchase_invoices/PI-0001/notes/note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--form-string 'note=<p>Goods received in full.</p>' \
-F "file=@delivery-note.pdf"from exsited import build_client
client = build_client()
response = client.purchase_invoices.update_purchase_invoice_note(
"PI-0001",
"note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a",
"<p>Goods received in full.</p>",
files={"file": open("delivery-note.pdf", "rb")},
)
print(response.data)
import {readFileSync} from 'node:fs';
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.purchaseInvoices.updatePurchaseInvoiceNote(
'PI-0001',
'note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a',
'<p>Goods received in full.</p>',
{files: {file: ['delivery-note.pdf', readFileSync('delivery-note.pdf')]}},
);
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->purchaseInvoices->updatePurchaseInvoiceNote(
'PI-0001',
'note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a',
'<p>Goods received in full.</p>',
['file' => ['delivery-note.pdf', fopen('delivery-note.pdf', 'r')]],
);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.client.RequestOptions;
import com.exsited.resources.purchase_invoices.purchase_invoices_dto.PurchaseInvoicesDto.PurchaseInvoiceNoteUpdated;
import java.nio.file.Path;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<PurchaseInvoiceNoteUpdated> response = client.purchaseInvoices().updatePurchaseInvoiceNote(
"PI-0001",
"note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a",
"<p>Goods received in full.</p>",
Map.of("file", Path.of("delivery-note.pdf")),
RequestOptions.none());
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.PurchaseInvoices.UpdatePurchaseInvoiceNoteAsync(
"PI-0001",
"note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a",
"<p>Goods received in full.</p>",
new Dictionary<string, object?> { ["file"] = new object?[] { "delivery-note.pdf", File.ReadAllBytes("delivery-note.pdf") } });
Console.WriteLine(response.Json);
import 'dart:io';
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.purchaseInvoices.updatePurchaseInvoiceNote(
'PI-0001',
'note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a',
'<p>Goods received in full.</p>',
files: {
'file': [
'delivery-note.pdf',
File('delivery-note.pdf').readAsBytesSync(),
],
},
);
print(response.map);
import (
"context"
"fmt"
"log"
"os"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
file, err := os.ReadFile("delivery-note.pdf")
if err != nil {
log.Fatal(err)
}
response, err := client.PurchaseInvoices().UpdatePurchaseInvoiceNote(context.Background(), "PI-0001", "note_8d1e2f3a4b5c4d6e8f9a0b1c2d3e4f5a", "<p>Goods received in full.</p>", map[string]any{"file": []any{"delivery-note.pdf", file}}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"note": {
"attachments": [
"<unknown>"
],
"content": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"created_on": "<string>",
"group": "<unknown>",
"href": "<string>",
"id": "<string>",
"last_updated_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<string>",
"object": "<string>",
"purchase_invoice": {
"href": "<string>",
"id": "<string>",
"object": "<string>"
},
"user": "<unknown>",
"version": 123,
"watchers": [
"<unknown>"
]
}
}Changes the note’s text. Send a multipart form with the new text as the
note field and, optionally, a file to attach. The updated note comes back under note.
The SDK samples get their client from credentials your app registers once when it starts, as shown in Authentication. To try the call here, click Try it, set
host to your Exsited API host name and paste an access token from Get an access token.Authorizations
An access token from POST /api/v4/oauth2/token. The SDKs get and renew it for you.
Path Parameters
The purchase invoice's id.
The note's id, from the note create or the notes list.
Body
multipart/form-data
Response
200 - application/json
The updated note, under note.
Show child attributes
Show child attributes