Scannen, Tekenen & AI Chat
Mobile App
De mobiele app koppelt zich per QR-code met uw account en brengt scanner, handtekening, chat en documenten naar de telefoon.
Publishable Keys
Een Publishable Key (po_pk_) mag in de frontend staan: scope-beperkt, origin-gebonden en budget-gemaximeerd.
Voor Claude-artifacts, ChatGPT Canvas, Grok en elke eigen web-app.
Direct vanuit de browser
U bouwt in Claude Artifacts, ChatGPT Canvas of Grok een PDF-naar-tekst-app. Zonder backend bleef de API-aanroep uit: CORS blokkeert, een geheime sleutel zou zichtbaar zijn in de broncode, en een open sleutel belast uw account. Precis dit gat vullen Publishable Keys.
Een prompt die elke AI-Canvas verandert in een echte, door API ondersteunde demo — zonder backend.
Lees deze API doc:
https://api.paperoffice.ai/latest/docs/llms-full.txt Bouw een single-file React-app (Claude Artifact / ChatGPT Canvas / Grok):
De gebruiker uploadt een PDF, de app roept
/job/add/paperoffice_aiocr___generate direct vanuit de browser
aan en toont de geëxtraheerde tekst. Auth: Bearer po_pk_MY_PUBLISHABLE_KEY (vraag de gebruiker om de sleutel).
Gebruik processing_lane=instant voor synchronisatie resultaten. De Origin-header wordt ingesteld door de browser. Het dashboard biedt presets voor scopes en budget. Origins blijven leeg — voer de Origin-header uit de browser-devtools in, kopieer vervolgens de sleutel naar uw prompt.
const form = new FormData();form.append("file_1", fileInput.files[0]);form.append("processing_lane", "instant");form.append("client_wait", "true");const response = await fetch("https://api.paperoffice.ai/latest/job/add/paperoffice_aiocr___generate", { method: "POST", headers: { Authorization: "Bearer po_pk_YOUR_PUBLISHABLE_KEY" }, body: form,});console.log(await response.json()); curl -X POST "https://api.paperoffice.ai/latest/job/add/paperoffice_aiocr___generate" \ -H "Authorization: Bearer po_pk_YOUR_PUBLISHABLE_KEY" \ -H "Origin: https://app.example.com" \ -F "file_1=@invoice.pdf" \ -F "processing_lane=instant" \ -F "client_wait=true" Eerste aanroep
De aanroep gaat naar POST /latest/job/add/{pipeline} — hetzelfde eindpunt als met een Secret Key. Nieuw zijn alleen het key-type en de Origin-header die de browser automatisch meesturent.
fetch zet de Origin-header zelf in. Scripts buiten de browser (cURL, Node) moeten deze expliciet versturen — anders antwoordt API met 403 ORIGIN_HEADER_REQUIRED.
Met processing_lane=instant en client_wait=true houdt API de verbinding open en levert het resultaat direct in het antwoord.
402 BUDGET_EXHAUSTED, 403 DOMAIN_NOT_ALLOWED, 403 SCOPE_NOT_GRANTED, 429 RATE_LIMIT_EXCEEDED — elke limiet geeft een eigen code terug.
Beveiligingsmatrix
Scope-beperkt, origin-gebonden, budget-gemaximeerd, altijd herroepbaar. Elke controle wordt server-side afgedwongen — daarom mag de sleutel in de frontend-code staan.
Keys bereiken alleen de endpointgroepen die u expliciet vrijgeeft: ocr:read, llm:generate, translate:text en meer. Aanroepen buiten de scope leveren HTTP 403 op.
Elke aanvraag moet een Origin-header bevatten die past bij de allow-list van de key (exacte host of subdomain-wildcard). Past deze niet, dan levert API HTTP 403 op.
Er is geen aparte minutenlimiet alleen voor po_pk_. De normale token-rate-limieten van het account gelden; het verbruik wordt gemaximeerd door het lifetime-budget.
Elke sleutel heeft een lifetime-budget. Is dit opgebruikt, dan levert API HTTP 402 BUDGET_EXHAUSTED — het verbruik stopt daar, niet pas bij de afrekening.
Sleutels kunnen op elk moment worden ingetrokken in het account. Een ingetrokken sleutel wordt niet langer geaccepteerd door API.
HTTP DELETE evenals account-login, sleutelbeheer, OAuth, partner-admin, betalingsmutatie en wachtwoord-crack blijven voor elke po_pk_ permanent geblokkeerd. Gedocumenteerde product-APIs — inclusief POST-verwijdering, webhooks, billing-lezen en CRM — zijn toegestaan.
Sleutelhiërarchie
Secret Key voor de server, Publishable Key voor de browser — plus een User Token voor gebruikersgerelateerde, rate-limited toegang.
| Voorvoegsel | Type | Toepassing | Browserveilig | Standaardscope |
|---|---|---|---|---|
poai_ | API-sleutel | Server-naar-server, rechten van het aanmakende account | Nee | Alle eindpunten binnen plan en rechten |
po_ut_ | User Token | Gebruikersgebonden, Tier-beperkt | Nee | Tier-gebaseerd |
po_pk_ | Publishable Key | Browser / AI canvas (Claude, ChatGPT, Grok) | Yes | Scope-lijst |
Drie presets
Elke preset is afgestemd op een specifieke use-case — veilige defaults, gecureerde scopes, realistische budgetten. Alles altijd aanpasbaar in het dashboard.
DEFAULT Veilig lezen Standaard rechten voor eenvoudige demo's en interne tools: OCR, LLM, Translate, Documents, Search.
Machtigingsbereiken (scopes)
Met deze preset startenAIDEMO AI-speeltuin Aanbevolen Voor Claude Artifacts, ChatGPT Canvas en Grok-demos. Alles wat u nodig heeft om AI-demos live te zetten.
Machtigingsbereiken (scopes)
Met deze preset startenWIDGET Openbare website Voor contactformulieren, chatwidgets en boekingsknoppen op de eigen bedrijfswebsite.
Machtigingsbereiken (scopes)
Met deze preset startenEerste API-aanroep
Sleutel maken, llms-full.txt openen, prompt invoegen — uw app roept API direct aan vanuit Claude, ChatGPT of Grok.
Veelgestelde vragen
poai_ (API-sleutel) is voor server-naar-serverintegratie — deze werkt met de rechten van het account die deze aanmaakt en behoort nooit in de browser. po_pk_ (Publishable Key) is gebouwd voor browsercode: scope-beperkt, oorsprong-gebonden, budget-beperkt. Dezelfde API, ander veiligheidsprofiel.
Dat is de klassieke weg — maar deze vereist nog steeds een backend. AI-artifacts (Claude, ChatGPT, Grok) zijn ontworpen voor gebruik zonder eigen backend. Publishable Keys maken dit mogelijk zonder uw Secret Key prijs te geven: de grenzen worden serverzijdwijze afgedwongen.
Ja. De aanroep gebeurt direct vanuit de browser, de browser zet zelf de Origin-header. PaperOffice levert geen vendor-allow-list; u voert de Origin in bij het aanmaken van de sleutel uit de devtools.
De schade blijft beperkt: de Origin-lock blokkeert gebruik op vreemde domeinen, het budget-limiet stopt het verbruik, het rate-limit remt geautomatiseerde toegang. Intrekken van de sleutel in uw account — daarna accepteert API deze niet meer.
Ja. Bij het aanmaken van de sleutel voegt u elke Origin toe aan de Allow-List — als exacte host of als subdomain-wildcard. Het WIDGET-preset is precies daarvoor gebouwd: registreer uw eigen domein en embed chat-, boekings- of contactwidgets zonder backend.
Bij het aanmaken kiest u een Lifetime-limiet; de presets hebben elk een standaardwaarde. Wanneer de limiet is bereikt, retourneert API HTTP 402 BUDGET_EXHAUSTED. U kunt de waarde op elk moment aanpassen in uw account.
Nee. De Publishable Key is een extra beschikingslaag rond uw bestaande account: hij beperkt scopes, origins en budget. Welk plan bij uw setup past, toont de prijsopzet.
HTTP DELETE evenals account-login, gebruiker-admin, sleutelbeheer, OAuth, partner-admin, Stripe-checkout en wachtwoord-crack zijn permanent geblokkeerd. Gedocumenteerde product-APIs zijn toegestaan, waaronder POST-verwijdering, webhooks, billing-lezen, import en CRM. Workspace verwijderen, prullenbak legen en Legal-Hold-vrijgave blijven UI-only (403 UI_ONLY_ENDPOINT).
Bedrijfsvoering en vertrouwen
Contracten, veiligheid, ondersteuning en limieten, allemaal op één plek gelinkt.
Volgende halte
De aanbevolen volgende stap in de developer-funnel en twee passende vertakkingen.
AI-DMS
Documenten. Intelligentie. Echte impact.
PaperOffice AI is het AI-DMS. Vier functiegebieden op één DMS-fundament, bereikbaar via drie toegangen.
Functies, modules en voordelen in overzicht.
Documenten vastleggen, organiseren, zoeken en samen bewerken.
Naadloos integreren in uw systemen en AI-workflows.
Geen installatie, binnen enkele seconden klaar.
Zoek alle tools