For Agents
Link payroll and employment accounts, fetch user-permissioned identity, income, and transaction records, and manage webhooks and consent templates through HTTP basic auth.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Smile 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.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# 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 Smile API.
Create users and mint session payloads that drive the Smile Link account-linking flow
List supported payroll and employment data providers and inspect a single provider
Fetch identity, employment, income, transaction, and document records once a user has linked an account
Manage consent templates that govern what data scopes a user is asked to authorise
GET STARTED
Use for: I need to create a Smile user and start an account-linking session, Retrieve the latest income records for a linked account, List all payroll providers Smile supports in a given country, Set up a webhook for the 'account.linked' event
Not supported: Does not handle KYC document verification, payment disbursement, or credit scoring — use for user-permissioned employment, payroll, and income data linking only.
Smile API provides employment, payroll, and income data through user-permissioned account linking, primarily for fintech, lending, and HR-tech use cases in Asia. The platform's full API surface exposes 103 endpoints covering users, providers, accounts, consent templates, webhooks, tasks, invites, and detailed records such as identities, employments, incomes, transactions, and documents. It is the canonical surface for verifying applicant income, pre-filling onboarding flows from authoritative payroll sources, and monitoring continued account-linkage health.
Subscribe to webhooks for events such as account linked, refresh, or revoke
Generate account exports and disable monitoring on a per-account basis
Patterns agents use Smile API for, with concrete tasks.
★ Income verification for lending
Lenders verify applicant income by asking the borrower to link their payroll provider through Smile Link, then pulling normalised income and employment records via the API. This replaces document uploads and manual review with structured, source-of-truth payroll data, shortening the underwriting cycle.
Create a user, drive the linking flow, and once linked fetch the latest 6 months of income records for underwriting
Onboarding pre-fill from payroll
HR-tech and benefits platforms pre-fill onboarding forms with employer name, role, and pay frequency by reading the user's linked employment record. The /employments and /identities endpoints give a stable shape so the form can render fields consistently across providers.
On user usr_123, fetch the most recent employment record and pre-fill the onboarding form
Webhook-driven monitoring
Continuous-verification products subscribe to Smile webhooks for events like new income deposit or employment change and update the customer's risk profile in real time. The /webhooks endpoints handle subscription CRUD and the /tasks endpoint exposes background-refresh state when an account needs re-authentication.
Create a webhook on event 'income.received' pointing at our backend and verify the first delivery
AI agent for compliant data export
An AI agent connected through Jentic accepts an end-user request to download their data, calls /accounts/{id}/exports/generate, polls until ready, and returns the export URL. Jentic injects the basic-auth header so the agent never holds the raw API secret.
Generate an export for account acc_456 and return the download URL once the task completes
103 endpoints — smile api provides employment, payroll, and income data through user-permissioned account linking, primarily for fintech, lending, and hr-tech use cases in asia.
METHOD
PATH
DESCRIPTION
/users
Create a Smile user
/users/{id}/payload
Get session payload for Smile Link
/providers
List supported data providers
/accounts
List linked accounts
/accounts/{id}/exports/generate
Generate an account data export
/webhooks
Create a webhook subscription
/consentTemplates
Create a consent template
/users
Create a Smile user
/users/{id}/payload
Get session payload for Smile Link
/providers
List supported data providers
/accounts
List linked accounts
/accounts/{id}/exports/generate
Generate an account data export
Three things that make agents converge on Jentic-routed access.
Credential isolation
Smile client id and client secret are stored encrypted in the Jentic vault. Agents receive a scoped reference and the basic-auth header is constructed per request without exposing the raw secret.
Intent-based discovery
Agents search by intent such as 'fetch user income records' and Jentic returns the matching Smile operation along with its input schema.
Time to first call
Direct Smile integration: 3-5 days for the user, account, payload, and webhook lifecycle plus consent templates. Through Jentic: under an hour to search, load, and execute the core flows.
Alternatives and complements available in the Jentic catalogue.
Stripe API
Payment rails that often pair with Smile-verified income for lending or BNPL flows
Use Stripe to process the eventual disbursement and Smile to verify the borrower's income beforehand
Specific to using Smile API through Jentic.
What authentication does the Smile API use?
Smile API uses HTTP basic authentication with your client id and client secret. Through Jentic the credentials are stored encrypted in the vault and the basic-auth header is built per request, so the raw secret never enters agent context.
Can I fetch a user's income records once they have linked an account?
Yes. Once the user completes account linking, GET /incomes returns paged income records for that user across their accounts, and GET /incomes/{id} retrieves a specific record. The same pattern applies to /employments, /identities, /transactions, and /documents.
What are the rate limits for the Smile API?
The OpenAPI spec does not encode explicit rate limits. Practical guidance is to use webhooks for change-driven workflows rather than polling /accounts or /incomes in tight loops, and to back off on any 429 response with exponential delay before retrying.
How do I start the account-linking flow through Jentic?
Search Jentic for 'create smile user session', load the POST /users and GET /users/{id}/payload schemas, and execute them in sequence to receive the session payload Smile Link consumes on the front end. Jentic handles the basic-auth credential injection.
Can I subscribe to webhooks for linkage events?
Yes. POST /webhooks creates a subscription for events such as 'account.linked' or 'income.received', and DELETE /webhooks/{id} removes one. Pair this with /tasks to inspect background-refresh state for accounts that need re-authentication.
Is the Smile API free?
Smile offers a sandbox environment for development at no charge against sandbox.smileapi.io. Production usage at open.smileapi.io is metered and requires a commercial agreement; check getsmileapi.com or contact info@getsmileapi.com for current pricing tiers.
/webhooks
Create a webhook subscription
/consentTemplates
Create a consent template