Jentic OSThe workplace. An in-house AI platform for every employeeJentic OneSafe access. Agents reach your systems without holding keysJentic AIRThe foundation. Gets your existing platforms ready for AI
Pricing

GET STARTED

API DirectoryBrowse 10,000+ APIs ready for AI agent integrationDocumentationGuides and API reference

TOOLS

API ScoringCheck your AI readiness using our scorecardArazzo UIVisualize Arazzo workflows as interactive documentationArazzo EditorBuild and edit multi-step API workflows visually

COMMUNITY

GitHubOpen source projects and examplesOpen StandardsBuilt on open specs. Never locked in.
All ResourcesEverything in one placeBlogLatest articles and insightsTech Talk NewsletterAPIs, AI agents, architecture and strategyWebinarsLive sessions and on-demand recordingsReports & WhitepapersOriginal research on enterprise AI
About UsOur mission and teamCareersJoin our teamContactGet in touch
Try it now
Jentic OSJentic OneJentic AIR
Pricing
API DirectoryDocumentationAPI ScoringArazzo UIArazzo EditorGitHubOpen Standards
All ResourcesBlogTech Talk NewsletterWebinarsReports & Whitepapers
About UsCareersContact
Try it now
JenticJentic
Products
  • Jentic OS
  • Jentic One
  • Jentic AIR
For Developers
  • API Directory
  • Documentation
  • GitHub
Company
  • About Jentic
  • Careers
  • Contact Us
  • Trust Centre
ISO/IEC 27001:2022 certification badge issued by Prescient SecurityISO/IEC 27001:2022 certification badge issued by Prescient Security

Information Security Management System

Certified to ISO/IEC 27001:2022 by Prescient Security

AICPA SOC for Service Organizations logoAICPA SOC for Service Organizations logo

SOC 2® Type 1 report

Audited by Prescient Assurance

Terms & Conditions•Privacy Policy•
© 2026 Jentic Technology Ltd. All rights reserved.
2 Grattan Court East, Dublin, D02 VX86, Ireland
Switch to light modeSwitch to dark mode
APIs / Productivity / PenlyDoc API
PenlyDoc API logo

PenlyDoc API

55
AI ReadinessFoundational (C)55/100
See full scorecard
Official vendor OpenAPI document · agent-readyProductivityCollaborationbearer35 EndpointsREST

For Agents

Send PDF or DOCX documents and templates for e-signature, embed the signing page, track envelope status, download signed PDFs and audit trails, and verify a signed PDF.

Use for: I need to send the NDA template to a new contractor for signature, Get an embedded signing link so the customer signs inside our app, Find all envelopes that are still partially signed, Remind the signers who have not signed the lease yet

Not supported: Does not generate documents from data, store files long term as a document library, or handle payments. Use for sending, embedding, tracking, and verifying e-signatures only.

The PenlyDoc API sends documents for electronic signature from your own product, shows the signing page inside it, and returns the signed PDF. You create an envelope from PDF or DOCX files, or from a reusable template with roles and data fields, then send it, remind signers, void it, or duplicate it into a new draft. Each recipient can sign by email or through an embedded signing link, envelopes can be found by externalRef or status, and every envelope keeps a hash-chained audit trail. Account endpoints manage the webhook URL and its signing secret, delivery retries, branding with embed origins, and default reminder intervals, and a public verify endpoint checks a signed PDF without a key.

Jentic One on GithubView OpenAPI Document

Install Jentic One Beta

Connect the PenlyDoc API to your agent

Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the PenlyDoc 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.

1

Step 1: Jentic One Host machine

# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fpenlydoc.com%2Fpenlydoc" | sh
2

Step 2: Agent machine

# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fpenlydoc.com%2Fpenlydoc" | sh
jentic register       # connects your agent to your Jentic One instance

Jentic 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.

Capabilities

What an agent can do with PenlyDoc API.

Send a document for signature from a template by filling its roles with signer name and email and its data keys

Create an envelope from uploaded PDF or DOCX files and send it as a draft or straight away

Generate an embedded signing link for one recipient with a returnUrl so they sign inside your app

Find envelopes by externalRef or status such as SENT, PARTIALLY_SIGNED, or COMPLETED

Remind everyone who has not signed, void an envelope with a reason, or duplicate it into a new draft

Download the signed PDF and the hash-chained audit history once an envelope completes

Check whether a signed PDF is valid through the public verify endpoint, which needs no API key

Use Cases

Patterns agents use PenlyDoc API for, with concrete tasks.

★ Agent-sent agreements through Jentic

An operations agent finds the PenlyDoc template send operation through Jentic, fills the template's roles with the signer's name and email and its data keys with deal values, and sends the envelope with an externalRef pointing at the deal. It later searches by that externalRef to check status and downloads the signed PDF. Jentic injects the bearer key at call time, so the key stays on your server side as the PenlyDoc docs advise.

Call POST /v1/templates/{id}/envelopes with roles filled with name 'Jana Novak' and email 'jana@example.com', data containing the contract amount, externalRef 'deal-1042', and send true, then GET /v1/envelopes with externalRef 'deal-1042'

Embedded signing inside your product

To keep signers in your app, create a recipient with EMBEDDED delivery and request POST /v1/envelopes/{id}/recipients/{recipientId}/signing-url with a returnUrl when they are ready. The link is valid for an hour and should be requested on demand. Branding settings control the brand name, accent color, default language, and the embedOrigins allowed to frame the signing page.

Call POST /v1/envelopes/{id}/recipients/{recipientId}/signing-url with returnUrl 'https://app.example.com/signed' and return the signing URL to the frontend

Signature follow-up and record keeping

GET /v1/envelopes with status PARTIALLY_SIGNED or SENT lists envelopes waiting on signers, and POST /v1/envelopes/{id}/remind nudges everyone who has not signed. Once complete, GET /v1/envelopes/{id}/documents/signed returns the signed PDF and GET /v1/envelopes/{id}/audit returns the hash-chained history for the record.

List GET /v1/envelopes with status 'PARTIALLY_SIGNED', call POST /v1/envelopes/{id}/remind for each, and for COMPLETED envelopes download /v1/envelopes/{id}/documents/signed and /v1/envelopes/{id}/audit

Signed PDF verification

Anyone holding a signed PDF can check it with POST /api/verify by uploading the document. The endpoint needs no API key, so a support or compliance agent can confirm a document's signatures without account access.

Upload the received PDF to POST /api/verify in the document field and report whether its signatures check out

Key Endpoints

35 endpoints — the penlydoc api sends documents for electronic signature from your own product, shows the signing page inside it, and returns the signed pdf.

METHOD

PATH

DESCRIPTION

POST

/v1/templates/{id}/envelopes

Send a document from a template

POST

/v1/envelopes

Create an envelope from PDF or DOCX files

POST

/v1/envelopes/{id}/recipients/{recipientId}/signing-url

Get an embedded signing link

GET

/v1/envelopes

Find envelopes by externalRef or status

POST

/v1/envelopes/{id}/remind

Remind unsigned recipients

GET

/v1/envelopes/{id}/documents/signed

Download the signed PDF

GET

/v1/envelopes/{id}/audit

Hash-chained envelope history

POST

/api/verify

Check a signed PDF

POST

/v1/templates/{id}/envelopes

Send a document from a template

POST

/v1/envelopes

Create an envelope from PDF or DOCX files

POST

/v1/envelopes/{id}/recipients/{recipientId}/signing-url

Get an embedded signing link

GET

/v1/envelopes

Find envelopes by externalRef or status

POST

/v1/envelopes/{id}/remind

Remind unsigned recipients

GET

/v1/envelopes/{id}/documents/signed

Download the signed PDF

GET

/v1/envelopes/{id}/audit

Hash-chained envelope history

POST

/api/verify

Check a signed PDF

Jentic AI Readiness Score

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

P

PenlyDoc API

- Foundational (C)
55/100
99
Foundational Compliance
56
Developer Experience & Jentic Compatibility
32
AI-Readiness & Agent Experience
94
Agent Usability
60
Security
62
AI Discoverability
Powered by JenticScoring Framework 1.0.0 | Scoring Engine 0.4.2
Show dimension breakdown
99

Foundational Compliance

Base layer of spec validity and structural soundness.

Grade: A+Signals: 4
97%

Lint Results

Aggregated quality score from linter diagnostics, weighted by severity.

100%

Resolution Completeness

Percentage of `$ref` references that resolve successfully.

100%

Specification Validity

Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).

100%

Structural Integrity

Structural correctness score based on schema issues using logarithmic dampening.

56

Developer Experience & Jentic Compatibility

Clarity, completeness, and ingestion readiness for developers and tooling.

Grade: CSignals: 4
0%

Example Density

How richly the API is illustrated with examples.

100%

Example Validity

Percentage of examples that conform to their schemas.

25%

Response Coverage

Percentage of operations with complete response definitions (success, client error, server error).

100%

Tooling Readiness

Health of API ingestion, bundling, and resolution within Jentic pipelines.

32

AI-Readiness & Agent Experience

Semantic breadth, depth, and agent comprehension for AI systems.

Grade: FSignals: 4
9%

Description Coverage

Coverage of descriptions across API elements.

0%

Error Standardization

Coverage of RFC 9457 Problem Details for error responses.

63%

OperationId Quality

Coverage, uniqueness, and casing consistency of operationIds for AI inference.

56%

Summary Coverage

Coverage of summaries across operations/tags/info.

94

Agent Usability

Functional utility, complexity comfort, and AI orchestration readiness.

Grade: A+Signals: 1
94%

Complexity Comfort

Agent comfort level based on API operational and structural complexity.

60

Security

Trust, risk posture, and security compliance.

Grade: B-Signals: 1
60%

Authentication Strength

Average quality of security schemes based on authentication method strength (weakest link for OAuth2).

62

AI Discoverability

Findability, semantic richness, and reasoning readiness.

Grade: B-Signals: 1
62%

Descriptive Richness

Clarity and depth of descriptions across API elements.

View full reportHow the score is calculatedMore about the dimensions

Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

Score your own APIScoring CLI agent skill
npx @jentic/api-scorecard-cli score <openapi-url>

Why Jentic?

What agents get from Jentic-routed access to this vendor.

Setup

Wiring PenlyDoc by hand means keeping its bearer key server-side, uploading PDF or DOCX files as multipart parts, sending Idempotency-Key headers, and verifying webhook signatures yourself. Through Jentic you install once, import PenlyDoc from the API Directory, store the key once, and your agent calls it.

Permission scoping

PenlyDoc puts the envelope id and template id in the URL path (/v1/envelopes/{id}/... and /v1/templates/{id}/...), so a rule can pin your agent to one template for sending or one envelope for follow-up. You choose the operations it may call, so destructive ones like voiding or permanently deleting an envelope are not included unless you add them.

Credential isolation

Your PenlyDoc API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.

Intent-based discovery

Agents search Jentic by intent such as 'send a document for signature' or 'download the signed PDF', and Jentic returns the matching PenlyDoc operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

Related APIs

Alternatives and complements available in the Jentic catalogue.

Alternative

BoldSign API

→

E-signature API with templates, embedded signing, and status tracking

Choose BoldSign when the account already runs on BoldSign or needs its team and brand management features.

Alternative

SignWell API

→

E-signature documents, templates, and signing links

Choose SignWell when signing workflows are already set up there.

Alternative

PandaDoc API

→

Document generation, proposals, and e-signature in one platform

Choose PandaDoc when the agent must also build quotes or proposals with pricing tables before signing.

Complementary

pdfs.build API

→

Renders PDFs from templates with JSON data

Use pdfs.build to generate the contract PDF first, then send it through PenlyDoc for signature.

FAQs

Specific to using PenlyDoc API through Jentic.

What authentication does the PenlyDoc API use?

Per its OpenAPI spec, the PenlyDoc API takes an API key (for example sk_live_...) as an HTTP bearer token in the Authorization header, created under Console and Developers. The signed PDF check at POST /api/verify is declared with no security requirement. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's context.

Can signers sign inside my own app?

Yes. Set a recipient's delivery to EMBEDDED, then request POST /v1/envelopes/{id}/recipients/{recipientId}/signing-url with an optional returnUrl when the signer is ready. The link is valid for one hour, so request it on demand. Allow your domain in the embedOrigins branding setting so the page can be framed.

How do I send a template for signature through Jentic?

Search Jentic for 'send a document for signature', load the schema for POST /v1/templates/{id}/envelopes, and pass roles with each signer's name and email plus any data values, with send set to true. An Idempotency-Key header guards against duplicate sends on retry. To run it on your own infrastructure, install Jentic One from its GitHub repo.

What are the rate limits for the PenlyDoc API?

The OpenAPI spec does not specify request rate limits. GET /v1/me returns a sendLimit object describing your account's sending allowance. Check https://penlydoc.com/docs for current limits.

Is there a PenlyDoc MCP server?

You don't need an MCP server to give your agent the PenlyDoc API. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls it. Operations are discovered on demand, so no extra tool definitions sit in the agent's context.

Can I limit what my agent is allowed to do with the PenlyDoc API?

Yes. For example, write a rule that allows only GET /v1/envelopes, GET /v1/envelopes/{id}, and POST /v1/envelopes/{id}/remind, so a follow-up agent can find pending envelopes and nudge signers but cannot send new documents, void envelopes, or delete them. Every call it makes is logged by your Jentic One instance.

GET STARTED

Start building with PenlyDoc API

Explore with Jentic One
View OpenAPI Document