cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/items/ITEM-0001/notes" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--form-string 'note=Reorder when stock is low.' \
-F "file=@notes.txt"from exsited import build_client
client = build_client()
response = client.items.create_item_note(
"ITEM-0001", "Reorder when stock is low.", files={"file": open("notes.txt", "rb")}
)
print(response.data)
import {readFileSync} from 'node:fs';
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.items.createItemNote('ITEM-0001', 'Reorder when stock is low.', {
files: {file: ['notes.txt', readFileSync('notes.txt')]},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->items->createItemNote('ITEM-0001', 'Reorder when stock is low.', [
'file' => ['notes.txt', fopen('notes.txt', '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.items.items_dto.ItemsDto.NoteView;
import java.nio.file.Path;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<NoteView> response = client.items().createItemNote(
"ITEM-0001",
"Reorder when stock is low.",
Map.of("file", Path.of("notes.txt")),
RequestOptions.none());
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Items.CreateItemNoteAsync(
"ITEM-0001",
"Reorder when stock is low.",
new Dictionary<string, object?> { ["file"] = new object?[] { "notes.txt", File.ReadAllBytes("notes.txt") } });
Console.WriteLine(response.Json);
import 'dart:io';
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.items.createItemNote(
'ITEM-0001',
'Reorder when stock is low.',
files: {
'file': ['notes.txt', File('notes.txt').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("notes.txt")
if err != nil {
log.Fatal(err)
}
response, err := client.Items().CreateItemNote(context.Background(), "ITEM-0001", "Reorder when stock is low.", map[string]any{"file": []any{"notes.txt", file}}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"note": {
"object": "<string>",
"id": "<string>",
"content": "<string>",
"version": 123,
"href": "<string>",
"created_on": "<string>",
"created_by": {
"object": "<string>",
"name": "<string>",
"id": "<string>",
"email": "<string>",
"href": "<string>"
},
"item": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"attachments": [
{
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>",
"content_type": "<string>",
"filename": "<string>",
"size": 123,
"uuid": "<string>"
}
],
"watchers": [
{
"email": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"group": "<unknown>",
"user": "<unknown>",
"last_updated_on": "<string>",
"last_updated_by": {
"name": "<string>",
"object": "<string>"
}
}
}Items
Create an item note
Adds a note to an item, with optional files, and returns the note.
POST
/
items
/
{item_id}
/
notes
cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/items/ITEM-0001/notes" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--form-string 'note=Reorder when stock is low.' \
-F "file=@notes.txt"from exsited import build_client
client = build_client()
response = client.items.create_item_note(
"ITEM-0001", "Reorder when stock is low.", files={"file": open("notes.txt", "rb")}
)
print(response.data)
import {readFileSync} from 'node:fs';
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.items.createItemNote('ITEM-0001', 'Reorder when stock is low.', {
files: {file: ['notes.txt', readFileSync('notes.txt')]},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->items->createItemNote('ITEM-0001', 'Reorder when stock is low.', [
'file' => ['notes.txt', fopen('notes.txt', '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.items.items_dto.ItemsDto.NoteView;
import java.nio.file.Path;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<NoteView> response = client.items().createItemNote(
"ITEM-0001",
"Reorder when stock is low.",
Map.of("file", Path.of("notes.txt")),
RequestOptions.none());
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Items.CreateItemNoteAsync(
"ITEM-0001",
"Reorder when stock is low.",
new Dictionary<string, object?> { ["file"] = new object?[] { "notes.txt", File.ReadAllBytes("notes.txt") } });
Console.WriteLine(response.Json);
import 'dart:io';
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.items.createItemNote(
'ITEM-0001',
'Reorder when stock is low.',
files: {
'file': ['notes.txt', File('notes.txt').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("notes.txt")
if err != nil {
log.Fatal(err)
}
response, err := client.Items().CreateItemNote(context.Background(), "ITEM-0001", "Reorder when stock is low.", map[string]any{"file": []any{"notes.txt", file}}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"note": {
"object": "<string>",
"id": "<string>",
"content": "<string>",
"version": 123,
"href": "<string>",
"created_on": "<string>",
"created_by": {
"object": "<string>",
"name": "<string>",
"id": "<string>",
"email": "<string>",
"href": "<string>"
},
"item": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"attachments": [
{
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>",
"content_type": "<string>",
"filename": "<string>",
"size": 123,
"uuid": "<string>"
}
],
"watchers": [
{
"email": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"group": "<unknown>",
"user": "<unknown>",
"last_updated_on": "<string>",
"last_updated_by": {
"name": "<string>",
"object": "<string>"
}
}
}Send a multipart form with the text in the
note field. Add files as extra parts; they become the note’s attachments.
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 item's id, such as ITEM-0001. Not its uuid.
Body
multipart/form-data
Response
201 - application/json
The new note, under note.
Show child attributes
Show child attributes