Add note to a document
curl --request POST \
--url https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"comment": "<string>",
"file_path": "<string>",
"file_name": "<string>"
}
'import requests
url = "https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes"
payload = {
"comment": "<string>",
"file_path": "<string>",
"file_name": "<string>"
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({comment: '<string>', file_path: '<string>', file_name: '<string>'})
};
fetch('https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes', 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.prod.payana.cloud/public/api/v1/documents/{reference}/notes",
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([
'comment' => '<string>',
'file_path' => '<string>',
'file_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$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.prod.payana.cloud/public/api/v1/documents/{reference}/notes"
payload := strings.NewReader("{\n \"comment\": \"<string>\",\n \"file_path\": \"<string>\",\n \"file_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<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.prod.payana.cloud/public/api/v1/documents/{reference}/notes")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"comment\": \"<string>\",\n \"file_path\": \"<string>\",\n \"file_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"comment\": \"<string>\",\n \"file_path\": \"<string>\",\n \"file_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"comment": "Documento revisado y aprobado por el área contable.",
"file_path": "https://storage.payana.cloud/documents/notes/soporte.pdf",
"file_name": "soporte.pdf",
"created_by": {
"name": "Integración ERP"
},
"created_at": "2026-06-12T13:05:00.000+00:00",
"updated_at": "2026-06-12T13:05:00.000+00:00"
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}Documentos
Add Document Note
Agrega una nota con comentario y/o archivo adjunto a un documento.
POST
/
documents
/
{reference}
/
notes
Add note to a document
curl --request POST \
--url https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"comment": "<string>",
"file_path": "<string>",
"file_name": "<string>"
}
'import requests
url = "https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes"
payload = {
"comment": "<string>",
"file_path": "<string>",
"file_name": "<string>"
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({comment: '<string>', file_path: '<string>', file_name: '<string>'})
};
fetch('https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes', 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.prod.payana.cloud/public/api/v1/documents/{reference}/notes",
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([
'comment' => '<string>',
'file_path' => '<string>',
'file_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$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.prod.payana.cloud/public/api/v1/documents/{reference}/notes"
payload := strings.NewReader("{\n \"comment\": \"<string>\",\n \"file_path\": \"<string>\",\n \"file_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<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.prod.payana.cloud/public/api/v1/documents/{reference}/notes")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"comment\": \"<string>\",\n \"file_path\": \"<string>\",\n \"file_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.payana.cloud/public/api/v1/documents/{reference}/notes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"comment\": \"<string>\",\n \"file_path\": \"<string>\",\n \"file_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"comment": "Documento revisado y aprobado por el área contable.",
"file_path": "https://storage.payana.cloud/documents/notes/soporte.pdf",
"file_name": "soporte.pdf",
"created_by": {
"name": "Integración ERP"
},
"created_at": "2026-06-12T13:05:00.000+00:00",
"updated_at": "2026-06-12T13:05:00.000+00:00"
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The request contains invalid data",
"details": {
"amount": [
"Amount must be greater than 0"
],
"beneficiary_id": [
"Beneficiary does not exist"
]
}
}
}Authorizations
API key provista por Payana.
Path Parameters
Referencia interna del documento en Payana (UUID, ej. aaea7db4-647c-4d92-9f86-89e34a68e1aa).
Body
application/jsonmultipart/form-data
Cuerpo para crear una nota en formato JSON. Debe incluir al menos comment o file_path.
Comentario de texto de la nota.
Maximum string length:
5000URL pública (http/https) de un archivo ya alojado. Extensiones permitidas: pdf, jpg, jpeg, png.
Maximum string length:
2048Nombre del archivo. Si se provee, file_path es obligatorio. Si se omite, se infiere desde file_path.
Maximum string length:
255Response
Note created
Nota pública de un documento (comentario y/o archivo adjunto).
Comentario de texto de la nota.
URL del archivo adjunto, si la nota tiene uno.
Nombre del archivo adjunto, si la nota tiene uno.
Autor de la nota.
Show child attributes
Show child attributes
⌘I