po_sk_ Server a server Chiave segreta
- Accesso completo nell'ambito dell'account
- Non consegnare mai nel codice del browser
- Nessun header Origin necessario
- Bloccato per MCP
Autenticazione e Chiavi
Ogni endpoint del prodotto PaperOffice-API richiede l'intestazione Authorization: Bearer. Nessun flusso OAuth, nessun refresh.
Due tipi di token, dieci ambiti di autorizzazione, limiti di frequenza documentati.
curl -X POST "https://api.paperoffice.ai/latest/job/add/workflow" \ -H "Authorization: Bearer po_ut_YOUR_API_KEY" \ -F "[email protected]" \ -F "idp_collection=invoice" \ -F "model=basic-pro-max" import requestsresponse = requests.post( "https://api.paperoffice.ai/latest/job/add/workflow", headers={"Authorization": "Bearer po_ut_YOUR_API_KEY"}, files={"file_1": open("invoice.pdf", "rb")}, data={"idp_collection": "invoice", "model": "basic-pro-max"},)print(response.json()) const form = new FormData();form.append("file_1", new Blob([await readFile("invoice.pdf")]), "invoice.pdf");form.append("idp_collection", "invoice");form.append("model", "basic-pro-max");const response = await fetch("https://api.paperoffice.ai/latest/job/add/workflow", { method: "POST", headers: { Authorization: "Bearer po_ut_YOUR_API_KEY" }, body: form,});console.log(await response.json()); Primo avvio
Il percorso verso /latest/job/add/ è il nome del job della coda: solitamente nella forma handler___command (ad esempio paperoffice_aiocr___generate); per IDP strutturato si utilizza il workflow della propria pipeline.
Authorization: Bearer po_ut_… — un endpoint di prodotto non ha bisogno di altro. po_sk_ e po_ut_ non inviano l'intestazione Origin.
handler___command con tre trattini bassi; workflow è l'eccezione con uno slug dedicato. La notazione puntata risponde a API con HTTP 400 JOB_CONFIG_INVALID.
client_wait è true per impostazione predefinita: API mantiene la connessione e restituisce il risultato inline. Se la finestra temporale non è sufficiente, viene restituito HTTP 202 con job_id e poll_url per GET /latest/job/get/{job_id}.
Per idp_collection=invoice, basic-pro-max è il modello consigliato: l'OCR-first limita comunque le raccolte stampate con posizioni a basic-pro-max; un model=premium inviato verrà restituito come model: basic-pro-max.
Tipi di token
Entrambi devono essere inviati al server. Vengono creati, ruotati e revocati nell'app sotto Account → API.
po_sk_ Server a server po_ut_ Utente Le chiamate dirette dal browser non passano attraverso questi due token, ma utilizzano la chiave pubblicabile po_pk_ — vincolata alla provenienza, con budget e limiti di frequenza. Visualizzare le chiavi pubblicabili
Autorizzazioni
Un token utente include esattamente le aree che gli vengono assegnate al momento della creazione. Se manca un'area, la risposta sarà API con HTTP 403.
documenti Caricamento, Download, elaborazione
spazi_di_lavoro Gestione cartelle e struttura
lavori_ai OCR, IDP, estrazione
fatturazione Lettura utilizzo e saldo conto
utenti Gestisci i membri del team
webhook Ricevi eventi
knowledge_base Database delle conoscenze e FAQ
agenti Configurare gli agenti IDP
workflow Creare automazioni
conformità Audit, GDPR, archiviazione
Limiti di frequenza
Il conteggio avviene per token; senza Bearer per indirizzo IP. I valori seguenti sono i minimi documentati che si applicano a ogni tariffa.
Gli header RateLimit-* e X-RateLimit-* di ogni risposta indicano quanto rimane disponibile nella finestra corrente.
La API risponde con RATE_LIMIT_EXCEEDED. Ripetere la chiamata dopo il tempo indicato nell'header Retry-After.
Le tariffe a pagamento si trovano al di sopra di questi valori minimi. Quale tariffa ha quale ambito è indicato nella pagina dei prezzi.
Sicurezza
Sei meccanismi che entrano in azione durante l'esercizio — ciascuno con un codice di stato verificabile o una posizione nell'app.
Le chiavi vengono create, elencate, ruotate e revocate nell'app sotto Account → API. Un token revocato risponde con HTTP 401 TOKEN_NOT_FOUND.
I token scaduti o errati restituiscono HTTP 401 INVALID_TOKEN. Le chiavi pubblicabili scadono al più tardi dopo 365 giorni.
I limiti di frequenza sono calcolati per token, non per account. Una chiave compromessa non influisce sull'intera attività.
Le chiavi pubblicabili richiedono ad ogni richiesta un Origin dalla allowlist; altrimenti l'API risponde con 403 ORIGIN_HEADER_REQUIRED o DOMAIN_NOT_ALLOWED.
Ogni risposta fatturata include un blocco _billing; la valutazione per chiamata fornisce GET /latest/billing/usage-detail.
Il login all'account, la gestione delle chiavi, OAuth, l'amministrazione dei partner, le modifiche ai pagamenti e il cracking delle password sono bloccati per le chiavi del browser. Il prodotto APIs con lettura della fatturazione e webhook è consentito. Eliminare Workspace, svuotare il cestino e revocare la Legal Hold è possibile solo nell'app (403 UI_ONLY_ENDPOINT).
Guardi come funziona una chiamata con token Bearer nella pratica — nel video.
Approfondimenti
Le pagine che coprono l'operatività intorno all'autenticazione.
Iniziare ora
Nell'app, crei la chiave in Account → API. La prima chiamata è descritta passo per passo nella Prima chiamata API.
Operazioni e fiducia
Contratti, sicurezza, supporto e limiti, tutti linkati in un unico luogo.
Prossima fermata
Il prossimo passo consigliato nel funnel degli sviluppatori e due diramazioni pertinenti.