Observability API 1.0.0

Observability API — OpenAPI 3.1.0 contract published by Fenergo for the transaction-monitoring service of the Fen-X SaaS platform, carrying 7 path(s) and 7 operation(s). Harvested verbatim from Fenergo's own published specification endpoint.

Operations 7

GET /api/v1/transactions/summary Transaction Ingestion Status By Dates #
GET /api/v1/transactions/events Transaction Ingestion Status By Modifications #
GET /api/v1/transactions/failed-modifications Failed Modifications Per Date #
GET /api/v1/batch-transactions/batches Batch Transactions Batches #
GET /api/v1/rules/execution Rules Execution Summary #
POST /api/v1/data-export/trigger Request Report #
GET /api/v1/data-export/{job_id} Get Report Status #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tm-observability-api-spec"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

fenergo-tm-observability-api-spec-openapi.json Raw ↑
{
    "openapi": "3.1.0",
    "info": {
        "title": "Observability API",
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://api.fenergox.com/tm/observability"
        }
    ],
    "paths": {
        "/api/v1/transactions/summary": {
            "get": {
                "tags": [
                    "Transactions"
                ],
                "summary": "Transaction Ingestion Status By Dates",
                "description": "Returns the status of transaction requests, categorizing them as successful or failed,\nand grouping the results by date on which the requests were made.",
                "operationId": "transaction_ingestion_status_by_dates_api_v1_transactions_summary_get",
                "parameters": [
                    {
                        "name": "start_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The start date from which the metrics should be generated.",
                            "title": "Start Date"
                        },
                        "description": "The start date from which the metrics should be generated."
                    },
                    {
                        "name": "end_date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The end date upto which the metrics should be generated.",
                            "title": "End Date"
                        },
                        "description": "The end date upto which the metrics should be generated."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionIngestionByDate"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/transactions/events": {
            "get": {
                "tags": [
                    "Transactions"
                ],
                "summary": "Transaction Ingestion Status By Modifications",
                "description": "Returns the events for the requested modification external ids.",
                "operationId": "transaction_ingestion_status_by_modifications_api_v1_transactions_events_get",
                "parameters": [
                    {
                        "name": "modification_external_ids",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The modification_external_ids for which the details should be returned.",
                            "title": "Modification External Ids"
                        },
                        "description": "The modification_external_ids for which the details should be returned."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionIngestionByModifications"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/transactions/failed-modifications": {
            "get": {
                "tags": [
                    "Transactions"
                ],
                "summary": "Failed Modifications Per Date",
                "description": "Returns the list of failed modifications for the requested date.",
                "operationId": "failed_modifications_per_date_api_v1_transactions_failed_modifications_get",
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The date for which the list of failed modifications should be returned.",
                            "title": "Date"
                        },
                        "description": "The date for which the list of failed modifications should be returned."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResponseFailedModifications"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/batch-transactions/batches": {
            "get": {
                "tags": [
                    "Batch Transactions"
                ],
                "summary": "Batch Transactions Batches",
                "description": "Returns batch transaction information either by batch IDs or by date range.\n\nUse either 'ids' parameter OR both 'start_date' and 'end_date' parameters.",
                "operationId": "batch_transactions_batches_api_v1_batch_transactions_batches_get",
                "parameters": [
                    {
                        "name": "ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Comma-separated batch IDs to retrieve details for.",
                            "title": "Ids"
                        },
                        "description": "Comma-separated batch IDs to retrieve details for."
                    },
                    {
                        "name": "start_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "The start date from which the metrics should be generated.",
                            "title": "Start Date"
                        },
                        "description": "The start date from which the metrics should be generated."
                    },
                    {
                        "name": "end_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "The end date up to which the metrics should be generated.",
                            "title": "End Date"
                        },
                        "description": "The end date up to which the metrics should be generated."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response with batch transaction details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/BatchDetail"
                                            }
                                        },
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/BatchTransactionsByDateResponse"
                                            }
                                        }
                                    ],
                                    "title": "Response Batch Transactions Batches Api V1 Batch Transactions Batches Get"
                                },
                                "examples": {
                                    "by_ids": {
                                        "summary": "Batch details retrieved by batch IDs",
                                        "value": [
                                            {
                                                "batch_id": "batch-123",
                                                "status": "completed",
                                                "ingest_start": "2023-10-01T10:00:00Z",
                                                "ingest_end": "2023-10-01T10:15:00Z",
                                                "duration_seconds": 900,
                                                "reject_on_invalid": true,
                                                "counts": {
                                                    "total": 1000,
                                                    "accepted": 950,
                                                    "invalid": 50
                                                },
                                                "exports": {
                                                    "s3_location": "s3://bucket/path/to/batch-123"
                                                }
                                            }
                                        ]
                                    },
                                    "by_date_range": {
                                        "summary": "Batch transactions grouped by date",
                                        "value": [
                                            {
                                                "date": "2023-10-01",
                                                "count": 1,
                                                "batches": [
                                                    {
                                                        "batch_id": "batch-123",
                                                        "status": "completed",
                                                        "ingest_start": "2023-10-01T10:00:00Z",
                                                        "ingest_end": "2023-10-01T10:15:00Z",
                                                        "duration_seconds": 900,
                                                        "reject_on_invalid": true,
                                                        "counts": {
                                                            "total": 1000,
                                                            "accepted": 950,
                                                            "invalid": 50
                                                        }
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameter combination",
                        "content": {
                            "application/json": {
                                "example": {
                                    "message": "Invalid parameters. Provide either 'ids' OR both 'start_date' and 'end_date'."
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rules/execution": {
            "get": {
                "summary": "Rules Execution Summary",
                "description": "Returns rule execution information either by rule IDs, execution ID, or by date range.\n\nUse either 'ids' parameter, 'execution_id' parameter, OR both 'start_date' and 'end_date' parameters.",
                "operationId": "rules_execution_api_v1_rules_execution_get",
                "parameters": [
                    {
                        "name": "ids",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Comma-separated Rule IDs to retrieve details for.",
                            "title": "Ids"
                        },
                        "description": "Comma-separated Rule IDs to retrieve details for."
                    },
                    {
                        "name": "execution_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Execution ID to retrieve a summary for.",
                            "title": "Execution Id"
                        },
                        "description": "Execution ID to retrieve a summary for."
                    },
                    {
                        "name": "start_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "The start date from which the metrics should be generated.",
                            "title": "Start Date"
                        },
                        "description": "The start date from which the metrics should be generated."
                    },
                    {
                        "name": "end_date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "The end date up to which the metrics should be generated.",
                            "title": "End Date"
                        },
                        "description": "The end date up to which the metrics should be generated."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response with rule execution details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/RuleExecutionDetail"
                                            },
                                            "title": "Rule execution by rule ID(s) filter"
                                        },
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/RuleExecutionsByDateResponse"
                                            },
                                            "title": "Rule execution by dates filter"
                                        },
                                        {
                                            "$ref": "#/components/schemas/RuleExecutionByExecutionIDSummary",
                                            "title": "Rule execution by execution ID filter"
                                        }
                                    ],
                                    "title": "Response Rules Execution Api V1 Rules Execution Get"
                                },
                                "examples": {
                                    "by_ids": {
                                        "summary": "Rule execution details retrieved by rule IDs",
                                        "value": [
                                            {
                                                "rule_id": "rule-123",
                                                "status": "completed",
                                                "rule_alias": "High Risk Transaction Rule",
                                                "rule_description": "This rule checks for high risk transactions.",
                                                "total_alerts_received": 25,
                                                "unique_alerts_after_deduplication": 20,
                                                "rule_effective_date": "2023-10-01",
                                                "execution_id": "exec-456"
                                            }
                                        ]
                                    },
                                    "by_date_range": {
                                        "summary": "Rule executions grouped by date",
                                        "value": [
                                            {
                                                "requested_run_date": "2023-10-01",
                                                "count": 1,
                                                "rules": [
                                                    {
                                                        "rule_id": "rule-123",
                                                        "status": "completed",
                                                        "rule_alias": "High Risk Transaction Rule",
                                                        "rule_description": "This rule checks for high risk transactions.",
                                                        "total_alerts_received": 25,
                                                        "unique_alerts_after_deduplication": 20,
                                                        "rule_effective_date": "2023-10-01",
                                                        "execution_id": "exec-456"
                                                    }
                                                ]
                                            }
                                        ]
                                    },
                                    "by_execution_id": {
                                        "summary": "Completed run \u2013 some rules failed (partially_failed, is_complete: true)",
                                        "value": {
                                            "execution_id": "exec-456",
                                            "requested_run_date": "2026-03-15",
                                            "rule_effective_date": "2026-03-15",
                                            "overall_status": "partially_failed",
                                            "is_complete": true,
                                            "total_rules": 12,
                                            "completion_percent": 100.0,
                                            "progress": {
                                                "requested_rules": 0,
                                                "started_rules": 0,
                                                "succeeded_rules": 10,
                                                "failed_rules": 2
                                            },
                                            "alerts": {
                                                "total_alerts_received": 245,
                                                "unique_alerts_after_deduplication": 198
                                            },
                                            "timing": {
                                                "first_event_at": "2026-03-15T00:01:12",
                                                "last_event_at": "2026-03-15T00:08:44",
                                                "duration_seconds": 452
                                            },
                                            "rules": [
                                                {
                                                    "rule_id": "rule-001",
                                                    "status": "succeeded",
                                                    "rule_alias": "High Risk Transaction Rule",
                                                    "rule_description": "Flags transactions above risk threshold.",
                                                    "total_alerts_received": 120,
                                                    "unique_alerts_after_deduplication": 98
                                                },
                                                {
                                                    "rule_id": "rule-002",
                                                    "status": "failed",
                                                    "rule_alias": "Velocity Check Rule",
                                                    "total_alerts_received": 0,
                                                    "unique_alerts_after_deduplication": 0
                                                }
                                            ]
                                        }
                                    },
                                    "by_execution_id_in_progress_with_failures": {
                                        "summary": "Running with failures (in_progress_with_failures, is_complete: false)",
                                        "value": {
                                            "execution_id": "exec-789",
                                            "requested_run_date": "2026-03-15",
                                            "rule_effective_date": "2026-03-15",
                                            "overall_status": "in_progress_with_failures",
                                            "is_complete": false,
                                            "total_rules": 12,
                                            "completion_percent": 50.0,
                                            "progress": {
                                                "requested_rules": 0,
                                                "started_rules": 5,
                                                "succeeded_rules": 5,
                                                "failed_rules": 2
                                            },
                                            "alerts": {
                                                "total_alerts_received": 120,
                                                "unique_alerts_after_deduplication": 98
                                            },
                                            "timing": {
                                                "first_event_at": "2026-03-15T00:01:12",
                                                "last_event_at": "2026-03-15T00:05:00",
                                                "duration_seconds": 228
                                            },
                                            "rules": [
                                                {
                                                    "rule_id": "rule-001",
                                                    "status": "succeeded",
                                                    "rule_alias": "High Risk Transaction Rule",
                                                    "rule_description": "Flags transactions above risk threshold.",
                                                    "total_alerts_received": 120,
                                                    "unique_alerts_after_deduplication": 98
                                                },
                                                {
                                                    "rule_id": "rule-002",
                                                    "status": "failed",
                                                    "rule_alias": "Velocity Check Rule",
                                                    "total_alerts_received": 0,
                                                    "unique_alerts_after_deduplication": 0
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameter combination",
                        "content": {
                            "application/json": {
                                "example": {
                                    "message": "Invalid parameters. Provide either 'ids', 'execution_id', OR both 'start_date' and 'end_date'."
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/data-export/trigger": {
            "post": {
                "tags": [
                    "Data Export"
                ],
                "summary": "Request Report",
                "description": "Request a transaction report for a specific date. Reports are generated asynchronously \u2014 you will receive a job ID straight away and can check its status until the report is ready to download. Each report contains all modification external IDs ingested on the requested date, available as a downloadable JSON file.",
                "operationId": "request_report_api_v1_data_export_trigger_post",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReportTriggerRequest"
                            },
                            "example": {
                                "report_date": "2026-03-04"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Report request accepted \u2014 use the returned job_id to check progress.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReportTriggerResponse"
                                },
                                "examples": {
                                    "success": {
                                        "summary": "Report job created",
                                        "value": {
                                            "job_id": "7a4a2375-4467-4816-b48f-ccf8a3998c2e"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request \u2014 check that the date is correctly formatted and within the allowed range.",
                        "content": {
                            "application/json": {
                                "examples": {
                                    "invalid_format": {
                                        "summary": "Date format is incorrect",
                                        "value": {
                                            "message": "report_date must be in YYYY-MM-DD format"
                                        }
                                    },
                                    "date_out_of_range": {
                

# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-tm-observability-api-spec-openapi.json