70 lines
1.8 KiB
JSON
70 lines
1.8 KiB
JSON
{
|
|
"contract_version": "1.0",
|
|
"runtime_exposure": "unexposed",
|
|
"policy": {
|
|
"breaking_changes": ["remove_required_key", "change_required_type", "change_required_structure"],
|
|
"additive_changes": ["add_optional_field"]
|
|
},
|
|
"scopes": {
|
|
"health": {
|
|
"required": {
|
|
"success": "bool",
|
|
"server": "str",
|
|
"db_path": "str",
|
|
"schema_version": "str",
|
|
"active_transactions": "int"
|
|
}
|
|
},
|
|
"status": {
|
|
"required": {
|
|
"success": "bool",
|
|
"db_path": "str",
|
|
"exists": "bool",
|
|
"size_bytes": "int",
|
|
"mtime": "str",
|
|
"table_counts": {"type": "dict", "required": {"accounts": "int", "transactions": "int"}},
|
|
"aggregate_totals": {"type": "dict", "required": {"month": "str", "by_cashflow_kind": "dict"}}
|
|
}
|
|
},
|
|
"list": {
|
|
"required": {
|
|
"success": "bool",
|
|
"accounts": "list",
|
|
"count": "int"
|
|
},
|
|
"items": {
|
|
"accounts": {
|
|
"required": {
|
|
"id": "str",
|
|
"name": "str",
|
|
"type": "str",
|
|
"institution": "str",
|
|
"currency": "str",
|
|
"active": "bool",
|
|
"statement_status": "str",
|
|
"liquidity_bucket": "str"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"report": {
|
|
"required": {
|
|
"success": "bool",
|
|
"month": "str",
|
|
"income": "int",
|
|
"expenses": "int",
|
|
"net_cashflow": "int",
|
|
"savings_rate": ["float", "none"],
|
|
"by_type": "dict",
|
|
"by_cashflow_kind": "dict"
|
|
}
|
|
},
|
|
"mutation_success_envelope": {
|
|
"required": {
|
|
"success": "bool",
|
|
"account": {"type": "dict", "required": {"id": "str", "name": "str", "type": "str", "active": "bool"}}
|
|
}
|
|
}
|
|
}
|
|
}
|