Internalize runs multi-step HTTP checks against your API on a schedule, and pages you when one fails.
A flow is a list of requests, for example log in, create an order, pay and clean up, with checks on each response. We run it every few minutes from our regions, or a runner inside your network runs it. When a check fails you see the request, the response body and the check that broke, and the incident shows up on your status page.

What a flow is
Each step is an HTTP request. A step can use values captured from earlier steps and check what comes back. You build flows in the editor or import them from cURL, Postman or OpenAPI, and you can export any flow as JSON. This is one, exported and trimmed to two steps.
{
"version": 1,
"flow": {
"name": "Card payment end-to-end",
"schedule": "*/5 * * * *",
"steps": [
{
"name": "Create a payment intent",
"method": "POST",
"url": "{{env.BASE_URL}}/v1/payment_intents",
"headers": { "Authorization": "Bearer {{env.API_KEY}}" },
"body": "{\"amount\": 4900, \"currency\": \"NOK\"}",
"captures": [{ "name": "intent_id", "path": "id" }],
"assertions": [{ "type": "status_code", "expected": 201 }]
},
{
"name": "Capture the payment",
"method": "POST",
"url": "{{env.BASE_URL}}/v1/payment_intents/{{captures.intent_id}}/capture",
"assertions": [
{ "type": "status_code", "expected": 201 },
{ "type": "response_time", "maxMs": 2000 },
{ "type": "condition", "left": "{{response.body.status}}",
"operator": "equals", "right": "succeeded" }
]
}
]
}
} - Checks the status code, the response time, or any value in the body. A failed check shows what it expected and what came back.
- Runs from our regions or from your own. The self-hosted runner connects out over a WebSocket, so it reaches services with no public address.
- You decide when to be alerted: after a number of failed runs in a row, or when an SLO burns too fast. Alerts go out by email, Slack, Discord or webhook, and escalate if nobody acknowledges them.
- Link a flow to a status page component, and its incident opens and closes with the flow.
- Cron jobs get the same treatment. Your job calls a URL when it finishes, and a late call raises an alert.
Pricing
Pay monthly or yearly. Self-hosted runners come with Enterprise.
| Plan | Flows | Steps per flow | Cron monitors | Shortest interval | Run history | Price | Choose |
|---|---|---|---|---|---|---|---|
| Starter | 2 | 3 | 1 | 1 h | 24 hours | Free | Start free |
| Hobby | 10 | 5 | 8 | 5 min | 7 days | Loading | Choose Hobby |
| Pro | 100 | 15 | 50 | 1 min | 30 days | Loading | Choose Pro |
| Enterprise | Unlimited | Unlimited | Unlimited | 30 s | 90 days | Ask us | Email sales |