For Agents
Manage intranet pages, widgets, records, search, people, and activity feed across 19 endpoints.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Papyrs API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Papyrs API.
Create, retrieve, update, and delete intranet pages
Manage page widgets including paragraphs, headings, and attachments
Upload and download file attachments
Retrieve form records from pages with pagination
GET STARTED
Use for: I need to create a new intranet page, Add a text box to a page, Upload a file attachment, Search the intranet for specific content
Not supported: Does not handle billing, site settings, or SSO configuration — use for content management, search, and activity stream only.
Jentic publishes the only available OpenAPI specification for Papyrs API, keeping it validated and agent-ready. The Papyrs API allows developers to integrate services and apps with Papyrs intranet, providing endpoints for managing pages, widgets (text boxes, headings, attachments), records, search, people, and activity feed. It powers intranet automation, content management, and team collaboration workflows.
Search the intranet for pages, comments, files, people, and forms
Manage people directory and user accounts
Post to activity stream and page discussions
Control page permissions and notifications
Patterns agents use Papyrs API for, with concrete tasks.
★ Intranet Page Management
Create and manage intranet pages with content widgets, layout, permissions, and notifications. POST /pages/create/ creates pages with title, json content (columns of widgets), optional layout, permissions map, and notifications. Essential for programmatic content management and page automation.
POST /pages/create/ with title, json array of widget columns, permissions, and notifications
Widget Content Management
Manage individual widgets (text boxes, headings, attachments) on pages. POST /page/{page_id}/paragraph/create/ adds text content, POST /attachment/create/ uploads files, and UPDATE endpoints modify existing widgets. Note that updating changes the widget ID.
POST /page/{page_id}/paragraph/create/?format=html with widget.val containing HTML or text content
Form Record Retrieval
Retrieve form submissions from pages with pagination. GET /pages/records/{page_id}/ returns arrays of form records with field-value pairs, supporting page and items_per_page parameters (1-250 items). Essential for collecting and processing user-submitted data.
GET /pages/records/{page_id}/?page=0&items_per_page=50 to retrieve paginated form records
Intranet Search
Search the intranet for pages, comments, form entries, people, or files using Papyrs' built-in search engine. GET /search/query/?q=keyword returns results with weight (relevance), category (Page, File, Contact, Form, Comment), description, and link.
GET /search/query/?q=budget to search for budget-related content across all categories
Agent-Driven Intranet Automation via Jentic
An AI agent managing team intranet operations can create pages, upload files, search content, and post updates through Jentic without exposing the auth_token in agent context. Jentic resolves intents like 'post to activity stream' to the right Papyrs endpoint.
Search Jentic for 'create intranet page', load the POST /pages/create/ schema, and execute
19 endpoints — jentic publishes the only available openapi specification for papyrs api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/pages/get/{page_id}/
Get page details with widgets
/pages/all/
Get all visible pages
/pages/create/
Create a new page
/pages/delete/{page_id}/
Delete a page
/pages/records/{page_id}/
List all records for a page
/page/{page_id}/paragraph/get/{widget_id}/
Get a paragraph widget
/page/{page_id}/paragraph/create/
Create a paragraph widget
/page/{page_id}/paragraph/update/{widget_id}/
Update a paragraph widget
/page/{page_id}/paragraph/delete/{widget_id}/
Delete a paragraph widget
/page/{page_id}/heading/get/{widget_id}/
Get a heading widget
/page/{page_id}/heading/create/
Create a heading widget
/page/{page_id}/attachment/get/{widget_id}/
Get an attachment widget
/page/{page_id}/attachment/create/
Upload a file attachment
/search/query/
Search the intranet
/people/all/
Get all people
/people/delete/{user_id}/
Delete a user
/feed/post/
Post to the Activity Stream
/feed/post/{page_id}/
Post to a page discussion
/pages/get/{page_id}/
Get page details with widgets
/pages/all/
Get all visible pages
/pages/create/
Create a new page
/pages/delete/{page_id}/
Delete a page
/pages/records/{page_id}/
List all records for a page
Three things that make agents converge on Jentic-routed access.
Credential isolation
Papyrs' auth_token is stored encrypted in the Jentic vault and injected at execution time. Agents receive scoped access — the raw token never enters agent context.
Intent-based discovery
Agents search by intent (e.g. 'create intranet page', 'upload file') and Jentic returns the matching Papyrs endpoint with the request schema pre-shaped for execution.
Time to first call
Direct Papyrs integration: 2-5 days including authentication setup, widget structure understanding, and rate limit handling. Through Jentic: under 1 hour once credentials are configured — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Notion API
All-in-one workspace with pages, databases, and collaboration features
Choose Notion API when the workflow requires database views and relations rather than traditional intranet pages
Confluence API
Enterprise wiki and collaboration platform with advanced permissions and spaces
Choose Confluence API when the workflow requires enterprise-grade wiki features with Jira integration
Specific to using Papyrs API through Jentic.
Why is there no official OpenAPI spec for Papyrs API?
Papyrs does not publish a complete OpenAPI specification for their API. Jentic generates and maintains this spec so that AI agents and developers can call Papyrs API via structured tooling. Get started at https://app.jentic.com/sign-up.
What authentication does the Papyrs API use?
The Papyrs API uses an API token passed as the auth_token query parameter. Through Jentic, the token is stored in the encrypted vault and injected at execution time so it never enters the agent's prompt context.
How do I create a page with content?
POST /pages/create/ accepts title, json (array of widget columns), optional layout, permissions, and notifications. The json field contains arrays of widgets with classname, id, and val properties defining the page content.
What happens when I update a widget?
When you POST to update endpoints like /page/{page_id}/paragraph/update/{widget_id}/, the widget ID changes. The response includes version_of_id containing the original widget ID before the update.
What are the rate limits?
Papyrs API has a default rate limit of 6 requests per 60 seconds. Exceeding this returns a 429 Too Many Requests error. Spread requests across time or use webhooks for real-time updates instead of polling.
Can I retrieve form submissions?
Yes. GET /pages/records/{page_id}/ returns all form records submitted on a page with pagination support (page and items_per_page parameters). Returns an array of records, each containing field-value pairs.
/page/{page_id}/paragraph/get/{widget_id}/
Get a paragraph widget
/page/{page_id}/paragraph/create/
Create a paragraph widget
/page/{page_id}/paragraph/update/{widget_id}/
Update a paragraph widget
/page/{page_id}/paragraph/delete/{widget_id}/
Delete a paragraph widget
/page/{page_id}/heading/get/{widget_id}/
Get a heading widget
/page/{page_id}/heading/create/
Create a heading widget
/page/{page_id}/attachment/get/{widget_id}/
Get an attachment widget
/page/{page_id}/attachment/create/
Upload a file attachment
/search/query/
Search the intranet
/people/all/
Get all people
/people/delete/{user_id}/
Delete a user
/feed/post/
Post to the Activity Stream
/feed/post/{page_id}/
Post to a page discussion