Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 4 Nov 2026. What's built · Install 0.2.0
jadpo
ReferenceConnecting and calling

External services

Connecting and calling

How an app reaches an outside service, such as a courier's API, in development, in tests and in production.

Connecting in app.jadpo

A connection is how your app reaches a database, a mail server or a provider's API.

Calling

Your app reaches an outside service through a connection, a named entry under connections: in app.jadpo that says which package to use.

Decoding

Providers often send values in odd forms: a date as Unix seconds, a number as text, money as a whole number of pence.

Several changing calls in one action

Some jobs need several calls that each change something at a provider, in order: create a customer, attach a card, start a subscription.

Packages from other Jadpo apps

Your app can call another Jadpo app's API through a package made from that app's OpenAPI document, exactly, with nothing to correct by hand.

Acting for each user: OAuth grants not built

Use a grant when your app acts at another service for each of its users or organisations: a user's Google Calendar, an organisation's Xero, a Slack workspace install.

Acting for a user at another service: OAuth grants not built

Signing in proves to your app who a person is.

Provider calls in development

In jadpo dev, every call to a provider is faked by default, so nothing leaves your machine and you need no credential.

Tests and fakes

In jadpo test, every package has a generated fake, so tests never call a provider.

Details

The exact rules, for when you hit an edge case.

How connections to packages are read

This is the detail behind Connecting in app.jadpo: which keys a connection to a package takes and needs, and what jadpo check writes about the hosts it reaches.

How provider calls are made

This is the detail behind Calling: which keys an operation takes, how its input is sent, who may call it, whether it may be sent again, and how its answer is classified and read.

Wire encodings, decoders and retries

This is the detail behind Decoding and Calling: the encodings a provider's fields can be sent in, a package's own decoders, which fields are decoded, and how retry: and timed_out: work.

Fakes and the development call log

This is the detail behind Tests and fakes and Provider calls in development: what a fake answers, how a script is used, and what the call log keeps.

The seam every outside call goes through

Every call that leaves your app's process, to a capability or to a provider, goes through one entry point in the runtime: the seam.

Markdown for agents: /docs/connecting-and-calling.md.Built from Jadpo main at 6cc3cb4.