Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| name | object | |
| merchantName | object | |
| status | string | |
| periodStart | object | |
| periodEnd | object | |
| updatedAt | string | |
| statementFiles | array | |
| summary | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/underly/json-schema/underly-analysis-schema.json",
"title": "Analysis",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/underly-openapi.json#/components/schemas/Analysis",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"merchantName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"pending",
"processing",
"completed",
"failed"
]
},
"periodStart": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"periodEnd": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"updatedAt": {
"type": "string"
},
"statementFiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"fileName": {
"type": "string"
},
"status": {
"type": "string"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"fileName",
"status",
"error"
]
}
},
"summary": {
"anyOf": [
{
"type": "object",
"properties": {
"currency": {
"type": "string"
},
"period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
}
},
"required": [
"start",
"end"
]
},
{
"type": "null"
}
]
},
"totals": {
"type": "object",
"properties": {
"grossDeposits": {
"type": "number"
},
"trueRevenue": {
"type": "number"
},
"averageMonthlyTrueRevenue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"averageMonthlyGrossDeposits": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"averageDailyBalance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"daysNegative": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"nsfCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"overdraftCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"existingMonthlyDebtService": {
"type": "number"
},
"existingDebtServiceShareOfRevenue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"grossDeposits",
"trueRevenue",
"averageMonthlyTrueRevenue",
"averageMonthlyGrossDeposits",
"averageDailyBalance",
"daysNegative",
"nsfCount",
"overdraftCount",
"existingMonthlyDebtService",
"existingDebtServiceShareOfRevenue"
]
},
"months": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"deposits": {
"type": "number"
},
"depositCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"withdrawals": {
"type": "number"
},
"trueRevenue": {
"type": "number"
},
"debtService": {
"type": "number"
},
"endBalance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"averageDailyBalance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"daysNegative": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"coveredDays": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"days": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"month",
"deposits",
"depositCount",
"withdrawals",
"trueRevenue",
"debtService",
"endBalance",
"averageDailyBalance",
"daysNegative",
"coveredDays",
"days"
]
}
},
"statements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"bankName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"accountNumberLast4": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"periodStart": {
"type": "string"
},
"periodEnd": {
"type": "string"
},
"openingBalance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"closingBalance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"transactionCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"bankName",
"accountNumberLast4",
"periodStart",
"periodEnd",
"openingBalance",
"closingBalance",
"transactionCount"
]
}
},
"positions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"funder": {
"type": "string"
},
"registryFunder": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"instrument": {
"type": "string"
},
"excluded": {
"type": "boolean"
},
"cadence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"paymentAmount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"monthlyRunRate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"observedTotal": {
"type": "number"
},
"debitCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"firstSeen": {
"type": "string"
},
"lastSeen": {
"type": "string"
}
},
"required": [
"id",
"funder",
"registryFunder",
"instrument",
"excluded",
"cadence",
"paymentAmount",
"monthlyRunRate",
"observedTotal",
"debitCount",
"firstSeen",
"lastSeen"
]
}
}
},
"required": [
"currency",
"period",
"totals",
"months",
"statements",
"positions"
]
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"merchantName",
"status",
"periodStart",
"periodEnd",
"updatedAt",
"statementFiles",
"summary"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/underly-analysis"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.