Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MoonClerk 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://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmoonclerk.com%2Fmoonclerk" | shStep 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%2Fmoonclerk.com%2Fmoonclerk" | 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 MoonClerk API.
List payment forms with payment_volume and successful_checkout_count per form
Find customers by subscription status such as past_due or canceled, or by next payment date range
Read a customer's subscription plan, trial dates, next_payment_attempt, and discount
List payments for a customer, a form, a date range, or a status of successful, refunded, or failed
GET STARTED
Match MoonClerk records to Stripe through charge_reference, invoice_reference, and customer_reference
Read custom field responses a payer entered on the checkout form
Patterns agents use MoonClerk API for, with concrete tasks.
★ AI bookkeeping agent that reconciles MoonClerk payments
An agent closing the month needs every successful and refunded payment without a developer hand-coding the Token token= header and the required versioned Accept header. Through Jentic the agent searches for 'list MoonClerk payments in a date range', loads the payments operation with its input schema, and pages through results with count and offset. Your own Jentic One instance attaches the key at call time, and the agent gets amounts, fees, and refunds in cents with their currency.
Call GET /payments with date_from 2026-10-01, date_to 2026-10-31, status successful, and count 100, paging with offset, then total amount and fee by currency
Chasing past-due subscribers
Organisations collecting recurring donations or dues on MoonClerk need to know who has fallen behind. The customers list filters on subscription status, including past_due and unpaid, and each record includes the payer's email, the delinquent flag, and a management_url where the customer can update their card. A follow-up job can send those links to each past-due subscriber.
Call GET /customers with status past_due and count 100, then return each customer's name, email, and management_url
Forecasting upcoming renewals
Finance teams forecasting cash use the next payment attempt on each subscription. Filtering customers by next_payment_from and next_payment_to returns the subscribers due in a window, each with the plan amount, interval, and currency, so the expected inflow for that period can be summed.
Call GET /customers with next_payment_from 2026-11-10 and next_payment_to 2026-11-16 and sum each subscription plan amount by currency
Comparing payment form performance
A MoonClerk account often runs several payment forms, for example one per campaign or membership tier. The forms list returns each form's payment_volume and successful_checkout_count, and payments and customers can be filtered by form_id to drill into a single form.
Call GET /forms, rank forms by payment_volume, then call GET /payments with the top form_id to list its latest payments
6 endpoints — the moonclerk api reads the payment forms, customers, and payments in a moonclerk account, the recurring and one-time payment forms that run on stripe.
METHOD
PATH
DESCRIPTION
/payments
List payments
/payments/{id}
Get a payment
/customers
List customers
/customers/{id}
Get a customer
/forms
List payment forms
/forms/{id}
Get a payment form
/payments
List payments
/payments/{id}
Get a payment
/customers
List customers
/customers/{id}
Get a customer
/forms
List payment forms
/forms/{id}
Get a payment form
What agents get from Jentic-routed access to this vendor.
Setup
Wiring MoonClerk by hand means sending the key with the Token token= prefix in the Authorization header, adding the versioned Accept header to every call, and handling text/plain error bodies. Through Jentic you install once, import MoonClerk from the API Directory, store the key once, and your agent calls it.
Permission scoping
MoonClerk keys have no narrower scopes, so the rule layer is where access gets bounded. Record ids sit in the URL path, as in /customers/{id}, so a rule can pin your agent to one customer record or to just the form operations you pick.
Credential isolation
Your MoonClerk 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 'find past-due subscribers' or 'list refunded payments', and Jentic returns the matching MoonClerk operation with its input schema, including the status, date range, and paging parameters.
Alternatives and complements available in the Jentic catalogue.
Specific to using MoonClerk API through Jentic.
What authentication does the MoonClerk API use?
Per its OpenAPI spec, the MoonClerk API uses an apiKey scheme in the Authorization header, sent as Token token=YOUR_API_KEY. That prefix is not a Bearer token. Requests also need the Accept header application/vnd.moonclerk+json;version=1. The spec notes the key grants read access to all account data with no narrower scopes. Through Jentic the key is stored by your own Jentic One instance and attached at call time.
Can I create or update subscriptions with the MoonClerk API?
No. Every operation in the spec is a GET. Forms, plans, and pricing are configured in the MoonClerk interface. The API reads forms, customers, and payments, including each customer's subscription status and next payment attempt.
What are the rate limits for the MoonClerk API?
The OpenAPI spec does not publish a numeric limit. Exceeding it returns 429 Too Many Requests, and no RateLimit response headers are published, so reduce call frequency and retry later. See https://github.com/moonclerk/developer for the vendor's developer documentation.
Is there a MoonClerk MCP server?
You don't need an MCP server to give your agent MoonClerk. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent reads forms, customers, and payments on demand without another server's tool definitions in its context.
Can I limit what my agent is allowed to do with the MoonClerk API?
Yes. The MoonClerk key itself reads everything, so the narrowing happens in Jentic. Write a rule that allows only GET /forms and GET /forms/{id}, and a reporting agent can read form volumes without touching customer emails or payment details. Every call it makes is logged.
How do I find failed payments through Jentic?
Search Jentic for 'list failed MoonClerk payments', load the GET /payments operation, and execute it with status failed and a date_from and date_to range. Each result includes the payer email, amount in cents, and customer_id. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Read MoonClerk payment forms, customers with their subscription status, and payments with amounts, fees, refunds, and Stripe references. Read-only.
Use for: List all customers whose subscription is past due, Find all failed payments from last month, Get the next payment date for a subscriber, Check whether a payment was refunded
Not supported: Does not create charges, issue refunds, or change plans and pricing. Use for reading MoonClerk forms, customers, and payments only.
The MoonClerk API reads the payment forms, customers, and payments in a MoonClerk account, the recurring and one-time payment forms that run on Stripe. Customer records carry their subscription with plan, status, trial dates, and next payment attempt, along with the checkout, discount, and custom field responses captured on the form. Payments list amount, fee, amount refunded, status, coupon, and the Stripe charge and invoice references, and can be filtered by customer, date range, or status. Every operation is a GET; forms, plans, and pricing are configured in the MoonClerk interface rather than over the API.
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.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>