diff --git a/api-references/data/signal-iq/apis/reports.json b/api-references/data/signal-iq/apis/reports.json new file mode 100644 index 00000000..a9944fde --- /dev/null +++ b/api-references/data/signal-iq/apis/reports.json @@ -0,0 +1,655 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Signal IQ API", + "version": "1.0.0", + "description": "# Signal IQ report APIs\n\nUse these APIs to fetch Signal IQ reports after a flow reaches a successful terminal status and you have a `reportId`.\n\n## Authentication\n\nAll endpoints require:\n\n- `x-client-id`\n- `x-client-secret`\n- `x-product-instance-id`\n\n## Available APIs\n\n- **Setu JSON** \u2014 `GET /v1/insights/{reportId}`\n- **Setu Excel** \u2014 `GET /v1/insights/excel/{reportId}`\n" + }, + "tags": [ + { + "name": "Setu JSON", + "description": "Fetch insights as JSON using reportId" + }, + { + "name": "Setu Excel", + "description": "Fetch insights as Excel using reportId" + } + ], + "paths": { + "/v1/insights/{reportId}": { + "get": { + "tags": [ + "Setu JSON" + ], + "summary": "Setu JSON", + "description": "Fetch the Setu Insights report for a completed Signal IQ run as JSON. The indicators included in this response are configured per client during onboarding.", + "operationId": "get_signal_iq_insights_json", + "parameters": [ + { + "name": "reportId", + "in": "path", + "required": true, + "description": "The reportId from the terminal success webhook", + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "x-client-id", + "in": "header", + "required": true, + "description": "Client identifier", + "schema": { + "type": "string" + } + }, + { + "name": "x-client-secret", + "in": "header", + "required": true, + "description": "Client secret", + "schema": { + "type": "string" + } + }, + { + "name": "x-product-instance-id", + "in": "header", + "required": true, + "description": "Product instance identifier", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Insights JSON report", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "status": "Success", + "version": "0.132.3", + "statusDescription": null, + "body": { + "accounts": [ + { + "accountIdentifierKey": "TEST-DEMO-DEPOSIT-ACC-001", + "insights": [ + { + "indicatorName": "closing_balance", + "status": "success", + "value": 300055.45, + "error": null, + "meta": null + }, + { + "indicatorName": "total_credits", + "status": "success", + "value": 12, + "error": null, + "meta": null + }, + { + "indicatorName": "total_credits_value", + "status": "success", + "value": 615812.45, + "error": null, + "meta": null + }, + { + "indicatorName": "total_debits", + "status": "success", + "value": 38, + "error": null, + "meta": null + }, + { + "indicatorName": "total_debits_value", + "status": "success", + "value": 360757.0, + "error": null, + "meta": null + }, + { + "indicatorName": "total_income", + "status": "success", + "value": 600000.0, + "error": null, + "meta": null + } + ], + "status": "success", + "reason": "NA", + "fiType": "deposit" + }, + { + "accountIdentifierKey": "TEST-DEMO-DEPOSIT-ACC-002", + "insights": [ + { + "indicatorName": "closing_balance", + "status": "success", + "value": 135260.75, + "error": null, + "meta": null + }, + { + "indicatorName": "total_credits", + "status": "success", + "value": 12, + "error": null, + "meta": null + }, + { + "indicatorName": "total_credits_value", + "status": "success", + "value": 209198.75, + "error": null, + "meta": null + }, + { + "indicatorName": "total_debits", + "status": "success", + "value": 24, + "error": null, + "meta": null + }, + { + "indicatorName": "total_debits_value", + "status": "success", + "value": 95938.0, + "error": null, + "meta": null + }, + { + "indicatorName": "total_income", + "status": "success", + "value": 25000.0, + "error": null, + "meta": null + } + ], + "status": "success", + "reason": "NA", + "fiType": "deposit" + } + ], + "aggregatedInsights": [ + { + "indicatorName": "avg_running_balance_last_n_months", + "status": "success", + "value": 165561.5, + "error": null, + "meta": { + "refKey": "avg_running_balance_last_n_months", + "lastNMonths": null, + "offsetMonths": 0, + "aggregateFunction": "AVG", + "transactionType": null, + "transactionMode": null, + "transactionCategory": null, + "transactionSubcategory": null, + "transactionCategoryExclusions": null, + "transactionSubcategoryExclusions": null, + "startDate": null, + "endDate": null, + "periodicity": null, + "minAmount": null, + "groupBy": null, + "day": null, + "top": null, + "salaryType": null, + "amountVarianceThreshold": 0.2, + "dateVarianceDays": 7, + "minRecurringMonths": 4, + "minTransactionsCount": null, + "internalIndicatorName": "run_bal_last_n_mon" + }, + "aggregatedInsightMeta": null + }, + { + "indicatorName": "max_running_balance_last_n_months", + "status": "success", + "value": 348355.45, + "error": null, + "meta": { + "refKey": "max_running_balance_last_n_months", + "lastNMonths": null, + "offsetMonths": 0, + "aggregateFunction": "MAX", + "transactionType": null, + "transactionMode": null, + "transactionCategory": null, + "transactionSubcategory": null, + "transactionCategoryExclusions": null, + "transactionSubcategoryExclusions": null, + "startDate": null, + "endDate": null, + "periodicity": null, + "minAmount": null, + "groupBy": null, + "day": null, + "top": null, + "salaryType": null, + "amountVarianceThreshold": 0.2, + "dateVarianceDays": 7, + "minRecurringMonths": 4, + "minTransactionsCount": null, + "internalIndicatorName": "run_bal_last_n_mon" + }, + "aggregatedInsightMeta": null + }, + { + "indicatorName": "min_running_balance_last_n_months", + "status": "success", + "value": 72000.0, + "error": null, + "meta": { + "refKey": "min_running_balance_last_n_months", + "lastNMonths": null, + "offsetMonths": 0, + "aggregateFunction": "MIN", + "transactionType": null, + "transactionMode": null, + "transactionCategory": null, + "transactionSubcategory": null, + "transactionCategoryExclusions": null, + "transactionSubcategoryExclusions": null, + "startDate": null, + "endDate": null, + "periodicity": null, + "minAmount": null, + "groupBy": null, + "day": null, + "top": null, + "salaryType": null, + "amountVarianceThreshold": 0.2, + "dateVarianceDays": 7, + "minRecurringMonths": 4, + "minTransactionsCount": null, + "internalIndicatorName": "run_bal_last_n_mon" + }, + "aggregatedInsightMeta": null + }, + { + "indicatorName": "max_closing_balance_last_n_months", + "status": "success", + "value": 216835.45, + "error": null, + "meta": { + "refKey": "max_closing_balance_last_n_months", + "lastNMonths": null, + "offsetMonths": 0, + "aggregateFunction": "MAX", + "transactionType": null, + "transactionMode": null, + "transactionCategory": null, + "transactionSubcategory": null, + "transactionCategoryExclusions": null, + "transactionSubcategoryExclusions": null, + "startDate": "2026-04-23", + "endDate": "2026-07-21", + "periodicity": null, + "minAmount": null, + "groupBy": null, + "day": null, + "top": null, + "salaryType": null, + "amountVarianceThreshold": 0.2, + "dateVarianceDays": 7, + "minRecurringMonths": 4, + "minTransactionsCount": null, + "internalIndicatorName": "bal_end_last_n_mon" + }, + "aggregatedInsightMeta": null + }, + { + "indicatorName": "min_closing_balance_last_n_months", + "status": "success", + "value": 124550.75, + "error": null, + "meta": { + "refKey": "min_closing_balance_last_n_months", + "lastNMonths": null, + "offsetMonths": 0, + "aggregateFunction": "MIN", + "transactionType": null, + "transactionMode": null, + "transactionCategory": null, + "transactionSubcategory": null, + "transactionCategoryExclusions": null, + "transactionSubcategoryExclusions": null, + "startDate": "2026-04-23", + "endDate": "2026-07-21", + "periodicity": null, + "minAmount": null, + "groupBy": null, + "day": null, + "top": null, + "salaryType": null, + "amountVarianceThreshold": 0.2, + "dateVarianceDays": 7, + "minRecurringMonths": 4, + "minTransactionsCount": null, + "internalIndicatorName": "bal_end_last_n_mon" + }, + "aggregatedInsightMeta": null + } + ], + "additionalInfo": null + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/InvalidReportId" + }, + "401": { + "$ref": "#/components/responses/AuthenticationError" + }, + "404": { + "$ref": "#/components/responses/ReportNotFound" + }, + "422": { + "$ref": "#/components/responses/ValidationError" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + } + } + } + }, + "/v1/insights/excel/{reportId}": { + "get": { + "tags": [ + "Setu Excel" + ], + "summary": "Setu Excel", + "description": "Fetch the Setu Insights report for a completed Signal IQ run as Excel. The indicators included in this output are configured per client during onboarding.", + "operationId": "get_signal_iq_insights_excel", + "parameters": [ + { + "name": "reportId", + "in": "path", + "required": true, + "description": "The reportId from the terminal success webhook", + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "x-client-id", + "in": "header", + "required": true, + "description": "Client identifier", + "schema": { + "type": "string" + } + }, + { + "name": "x-client-secret", + "in": "header", + "required": true, + "description": "Client secret", + "schema": { + "type": "string" + } + }, + { + "name": "x-product-instance-id", + "in": "header", + "required": true, + "description": "Product instance identifier", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Excel report as base64-encoded JSON payload", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "success" + }, + "message": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "excel_base64": { + "type": "string", + "description": "Base64-encoded XLSX file" + }, + "filename": { + "type": "string" + } + } + } + } + }, + "example": { + "status": "success", + "message": "Excel file generated successfully", + "data": { + "excel_base64": "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", + "filename": "0f9372f9-06f4-4bf6-aa90-e9031c6b7b26.xlsx" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/InvalidReportId" + }, + "401": { + "$ref": "#/components/responses/AuthenticationError" + }, + "404": { + "$ref": "#/components/responses/ReportNotFound" + }, + "422": { + "$ref": "#/components/responses/ValidationError" + }, + "500": { + "$ref": "#/components/responses/InternalServerError" + } + } + } + } + }, + "components": { + "schemas": { + "ErrorResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string" + }, + "version": { + "type": "string" + }, + "txnid": { + "type": "string" + }, + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "details": { + "type": "object" + } + } + } + } + } + }, + "responses": { + "InvalidReportId": { + "description": "Invalid report id", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "InvalidReportId": { + "summary": "InvalidReportId", + "value": { + "timestamp": "2025-08-20 11:02:49.657", + "version": "0.78.1", + "txnid": "", + "error": { + "code": "api_invalid_ref_id", + "type": "validation", + "message": "Invalid report id", + "details": { + "param": "reportId", + "http_status": 400 + } + } + } + } + } + } + } + }, + "AuthenticationError": { + "description": "Authentication Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "AuthenticationError": { + "summary": "AuthenticationError", + "value": { + "timestamp": "2025-08-20 11:02:49.657", + "version": "0.78.1", + "txnid": "", + "error": { + "code": "auth_unauthorized", + "type": "auth", + "message": "Unable to fetch FIU config. Please pass `x-client-id`, `x-client-secret`, `x-product-account-id` headers properly.", + "details": { + "http_status": 401 + } + } + } + } + } + } + } + }, + "ReportNotFound": { + "description": "Report not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "ReportNotFound": { + "summary": "ReportNotFound", + "value": { + "timestamp": "2025-08-20 11:02:49.657", + "version": "0.78.1", + "txnid": "", + "error": { + "code": "api_report_not_found", + "type": "validation", + "message": "Unable to find report with id: 293ee9b4-58ad-4e97-9df5-afc65a8b5970", + "details": { + "param": "reportId", + "http_status": 404 + } + } + } + } + } + } + } + }, + "ValidationError": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "ValidationError": { + "summary": "ValidationError", + "value": { + "timestamp": "2025-08-20 11:02:49.657", + "version": "0.78.1", + "txnid": "", + "error": { + "code": "api_validation_error", + "type": "validation", + "message": "Request validation failed", + "details": { + "total_errors": 1, + "error_message": [ + "field required -> refId" + ] + } + } + } + } + } + } + } + }, + "InternalServerError": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "InternalServerError": { + "summary": "InternalServerError", + "value": { + "timestamp": "2025-08-20 11:02:49.657", + "version": "0.78.1", + "txnid": "", + "error": { + "code": "internal_error", + "type": "internal", + "message": "Internal Server Error", + "details": { + "http_status": 500 + } + } + } + } + } + } + } + } + } + } +} diff --git a/api-references/data/signal-iq/apis/upload-statement.json b/api-references/data/signal-iq/apis/upload-statement.json new file mode 100644 index 00000000..43e90e7d --- /dev/null +++ b/api-references/data/signal-iq/apis/upload-statement.json @@ -0,0 +1,791 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Signal IQ PDF APIs", + "version": "1.0.0", + "description": "# PDF APIs\n\nAPIs for the Signal IQ PDF Flow - upload a bank-statement PDF, list supported banks, and check upload status.\n\nOn a successful upload you receive an `uploadId` immediately. Persist it - every later webhook for that statement carries the same `uploadId`. Each successful upload creates a **new** `uploadId` and starts a **new** processing job.\n\n## Authentication\n\nPass these headers on every call. Credentials are issued during onboarding.\n\n- `x-client-id`\n- `x-client-secret`\n- `x-product-instance-id`\n\nMissing or invalid credentials return `401` with `auth_unauthorized`.\n\n## Available APIs\n\n- **Upload Statement** - `POST /v1/pdf`\n- **List supported banks** - `GET /v1/pdf/supported-banks`\n- **Get upload status** - `GET /v1/pdf/{uploadId}`\n\n## After a successful upload\n\nThe upload call only accepts the file and returns `uploadId`. Processing continues asynchronously.\n\n- Do not poll this API for parse completion.\n- Wait for lifecycle webhooks on your onboarded webhook URL.\n- See the [PDF Flow](/data/signal-iq/pdf-flow) page for stages, notification schemas, fraud and statement-validation gates, and BSP codes on webhooks.\n- After `INSIGHTS_CREATION_SUCCESSFUL`, use `reportId` with the [report APIs](/data/signal-iq/apis/reports/api-reference) to fetch outputs.\n" + }, + "tags": [ + { + "name": "Upload Statement", + "description": "Upload a bank-statement PDF and receive an uploadId" + }, + { + "name": "Supported banks", + "description": "List supported bank names for the optional bankName field" + }, + { + "name": "Upload status", + "description": "Fetch status for a previously accepted uploadId" + } + ], + "paths": { + "/v1/pdf": { + "post": { + "tags": [ + "Upload Statement" + ], + "summary": "Upload Statement", + "description": "Upload a bank-statement PDF as `multipart/form-data`. On success you receive HTTP 202 with `id` (= `uploadId`). Persist it and wait for webhooks. Do not poll for parse completion. Each successful upload creates a new `uploadId` and starts a new processing job.", + "operationId": "upload_signal_iq_pdf_statement", + "parameters": [ + { + "name": "x-client-id", + "in": "header", + "required": true, + "description": "Client identifier issued during onboarding", + "schema": { + "type": "string" + } + }, + { + "name": "x-client-secret", + "in": "header", + "required": true, + "description": "Client secret issued during onboarding", + "schema": { + "type": "string" + } + }, + { + "name": "x-product-instance-id", + "in": "header", + "required": true, + "description": "Product instance identifier issued during onboarding", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "required": [ + "file" + ], + "properties": { + "file": { + "type": "string", + "format": "binary", + "description": "Bank statement PDF" + }, + "bankName": { + "type": "string", + "description": "Optional bank name hint (for example, HDFC Bank). Improves detection when provided.", + "example": "HDFC Bank" + }, + "startMonth": { + "type": "string", + "description": "Optional statement range hint" + }, + "endMonth": { + "type": "string", + "description": "Optional statement range hint" + }, + "password": { + "type": "string", + "description": "Required only if the PDF is password-protected" + } + } + } + } + } + }, + "responses": { + "202": { + "description": "Upload accepted. Processing has started. Persist `id` as uploadId.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean" + }, + "id": { + "type": "string", + "format": "uuid", + "description": "uploadId - correlate all later webhooks" + }, + "message": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "PROCESSING" + }, + "uploadId": { + "type": "string", + "format": "uuid" + } + } + }, + "traceId": { + "type": "string", + "format": "uuid", + "description": "Support / tracing id when present" + } + } + }, + "example": { + "success": true, + "id": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "message": "PDF Parser request is being processed", + "data": { + "status": "PROCESSING", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af" + }, + "traceId": "da8163fe-eeb5-4a2b-857e-a67fdaaecd93" + } + } + } + }, + "400": { + "description": "Upload rejected or client not configured", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "pdf_upload_rejected_bsp_103": { + "summary": "pdf_upload_rejected - BSP-103 file too large", + "value": { + "error": { + "code": "pdf_upload_rejected", + "type": "validation", + "message": "upload failed 400: ... BSP-103 ..." + } + } + }, + "pdf_upload_rejected_bsp_104": { + "summary": "pdf_upload_rejected - BSP-104 unsupported format", + "value": { + "error": { + "code": "pdf_upload_rejected", + "type": "validation", + "message": "upload failed 400: ... BSP-104 ..." + } + } + }, + "pdf_upload_rejected_bsp_106": { + "summary": "pdf_upload_rejected - BSP-106 password required", + "value": { + "error": { + "code": "pdf_upload_rejected", + "type": "validation", + "message": "upload failed 400: ... BSP-106 ..." + } + } + }, + "pdf_upload_rejected_bsp_107": { + "summary": "pdf_upload_rejected - BSP-107 wrong password", + "value": { + "error": { + "code": "pdf_upload_rejected", + "type": "validation", + "message": "upload failed 400: ... BSP-107 ..." + } + } + }, + "fiu_not_configured": { + "summary": "fiu_not_configured", + "value": { + "error": { + "code": "fiu_not_configured", + "type": "validation", + "message": "Client is not onboarded for PDF upload routing" + } + } + } + } + } + } + }, + "401": { + "description": "Missing or invalid credentials", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "example": { + "error": { + "code": "auth_unauthorized", + "type": "auth", + "message": "Unable to authenticate request. Pass x-client-id, x-client-secret, and x-product-instance-id headers correctly." + } + } + } + } + }, + "422": { + "description": "Empty or missing file", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "example": { + "error": { + "code": "api_validation_error", + "type": "validation", + "message": "file is required and must be a non-empty PDF" + } + } + } + } + }, + "500": { + "description": "Service misconfiguration", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "example": { + "error": { + "code": "config_invalid", + "type": "internal", + "message": "Service configuration is invalid. Contact Setu support." + } + } + } + } + }, + "502": { + "description": "Upstream or config temporarily unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "pdf_upload_failed": { + "summary": "pdf_upload_failed", + "value": { + "error": { + "code": "pdf_upload_failed", + "type": "internal", + "message": "Upload failed. Retry the request." + } + } + }, + "config_unavailable": { + "summary": "config_unavailable", + "value": { + "error": { + "code": "config_unavailable", + "type": "internal", + "message": "Configuration temporarily unavailable. Retry the request." + } + } + } + } + } + } + }, + "503": { + "description": "Orchestration temporarily unavailable", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "example": { + "error": { + "code": "temporal_unavailable", + "type": "internal", + "message": "Orchestration temporarily unavailable. Retry the request." + } + } + } + } + } + } + } + }, + "/v1/pdf/supported-banks": { + "get": { + "tags": [ + "Supported banks" + ], + "summary": "List supported banks", + "description": "List supported bank names you can pass as the optional `bankName` field on upload.", + "operationId": "list_signal_iq_pdf_supported_banks", + "parameters": [ + { + "name": "x-client-id", + "in": "header", + "required": true, + "description": "Client identifier issued during onboarding", + "schema": { + "type": "string" + } + }, + { + "name": "x-client-secret", + "in": "header", + "required": true, + "description": "Client secret issued during onboarding", + "schema": { + "type": "string" + } + }, + { + "name": "x-product-instance-id", + "in": "header", + "required": true, + "description": "Product instance identifier issued during onboarding", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Supported bank names", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "success": true, + "data": [ + "HDFC Bank", + "ICICI Bank", + "State Bank of India" + ] + } + } + } + }, + "401": { + "description": "Missing or invalid credentials", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "example": { + "error": { + "code": "auth_unauthorized", + "type": "auth", + "message": "Unable to authenticate request. Pass x-client-id, x-client-secret, and x-product-instance-id headers correctly." + } + } + } + } + } + } + } + }, + "/v1/pdf/{uploadId}": { + "get": { + "tags": [ + "Upload status" + ], + "summary": "Get upload status", + "description": "Fetch status for a previously accepted `uploadId`.", + "operationId": "get_signal_iq_pdf_upload_status", + "parameters": [ + { + "name": "uploadId", + "in": "path", + "required": true, + "description": "The uploadId returned by POST /v1/pdf", + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "x-client-id", + "in": "header", + "required": true, + "description": "Client identifier issued during onboarding", + "schema": { + "type": "string" + } + }, + { + "name": "x-client-secret", + "in": "header", + "required": true, + "description": "Client secret issued during onboarding", + "schema": { + "type": "string" + } + }, + { + "name": "x-product-instance-id", + "in": "header", + "required": true, + "description": "Product instance identifier issued during onboarding", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Upload status / parse report", + "content": { + "application/json": { + "schema": { + "type": "object" + }, + "example": { + "success": true, + "id": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "data": { + "status": "PROCESSING", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af" + } + } + } + } + }, + "401": { + "description": "Missing or invalid credentials", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "example": { + "error": { + "code": "auth_unauthorized", + "type": "auth", + "message": "Unable to authenticate request. Pass x-client-id, x-client-secret, and x-product-instance-id headers correctly." + } + } + } + } + }, + "404": { + "description": "Upload not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "example": { + "error": { + "code": "api_validation_error", + "type": "validation", + "message": "uploadId not found" + } + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "ErrorResponse": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "auth", + "validation", + "internal" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "type", + "message" + ] + } + }, + "required": [ + "error" + ] + } + } + } +} diff --git a/content/data/signal-iq/aa-flow.mdx b/content/data/signal-iq/aa-flow.mdx new file mode 100644 index 00000000..4def93fa --- /dev/null +++ b/content/data/signal-iq/aa-flow.mdx @@ -0,0 +1,212 @@ +--- +sidebar_title: AA Flow +page_title: Signal IQ - AA Flow +order: 1 +visible_in_sidebar: true +--- + +## AA Flow + +The AA Flow is for clients who use both Setu's Account Aggregator and Setu Insights. Once a customer's financial (FI) data is ready on the AA side, Signal IQ automatically takes over and drives everything through to insights and outputs. + + + You do not call any Signal IQ API to start this flow. The handoff from Account Aggregator to Signal IQ happens automatically. Your integration points are the webhook endpoint where you receive status updates, and the output APIs you call with the `reportId` after success. + + +
+ +This page explains what happens inside the flow, the exact notifications you will receive, and the output schemas you integrate against. + +
+ +### How the flow starts + +1. You create an Account Aggregator consent request and redirect your customer to the consent URL. Your customer reviews and approves the request on the AA screens. See Setu's Account Aggregator consent flow for how to do this. +2. Once the AA data session starts, Signal IQ is triggered automatically for that session. +3. From that handoff point onward, Signal IQ owns the orchestration end to end - processing, progress notifications, insights generation and output coordination. + +You do not need to call any Signal IQ API to start this flow. The trigger is handled on the AA flow. + +
+ +### What happens inside + +Once the flow is triggered, Signal IQ moves through these lifecycle stages. You are kept informed at each important step via webhook (see [Notifications](#notifications-you-receive) below). + +1. **Consent lifecycle** - consent status changes are forwarded to you. +2. **Data fetch** - FI data is retrieved (or its failure is reported). +3. **Data block creation** - the fetched data is prepared for analysis inside Setu Insights. +4. **Insights generation started** - the insights job is accepted. +5. **Insights generation success / failure** - the report is produced, or the failure is reported. +6. **Report availability** - the `reportId` is handed to you for output retrieval. + + + Reliability is handled for you - transient errors are retried automatically, duplicate AA triggers for the same session are de-duplicated (so data is never processed twice), and internal failures are recovered without data loss. You only ever see the clean, final outcome for each stage. + + +
+ +### Notifications you receive + +Every notification is delivered as an HTTP `POST` to your configured webhook URL, and is wrapped in the same envelope - + + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "" + } +}`} + + +The `data.status` field tells you which stage was reached. The correlation field in this flow is `consentId`. + +#### Full catalogue + +| # | Stage | `data.status` | +|---|-------|---------------| +| 1 | Consent lifecycle | `CONSENT_ACTIVE` / `CONSENT_PENDING` / `CONSENT_REJECTED` / `CONSENT_REVOKED` / `CONSENT_PAUSED` / `CONSENT_EXPIRED` | +| 2 | AA data fetch failed | `FI_DATA_FETCH_FAILED` | +| 3 | Data block created | `FI_DATA_BLOCK_CREATION_SUCCESS` / `FI_DATA_BLOCK_CREATION_FAILED` | +| 4 | Insights job started | `INSIGHTS_CREATION_STARTED` | +| 5 | Insights done | `INSIGHTS_CREATION_SUCCESSFUL` | +| 6 | Insights failed | `INSIGHTS_CREATION_FAILED` | + +
+ +Treat `INSIGHTS_CREATION_SUCCESSFUL` as terminal success, and `FI_DATA_FETCH_FAILED`, `FI_DATA_BLOCK_CREATION_FAILED` and `INSIGHTS_CREATION_FAILED` as terminal failures. + +#### Examples of every schema + + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "CONSENT_ACTIVE", + "consentId": "9dee34fe-8449-4f80-914e-b9725f3585cd" + } +}`} + + ), + }, + { + key: "fetch-failed", + label: "Data fetch failed", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "FI_DATA_FETCH_FAILED", + "consentId": "9dee34fe-8449-4f80-914e-b9725f3585cd", + "errorCode": "FIP_TIMEOUT", + "errorMessage": "Bank did not respond" + } +}`} + + ), + }, + { + key: "data-block", + label: "Data block created", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "FI_DATA_BLOCK_CREATION_SUCCESS", + "consentId": "9dee34fe-8449-4f80-914e-b9725f3585cd", + "dataIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"] + } +}`} + + ), + }, + { + key: "insights-started", + label: "Insights started", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "INSIGHTS_CREATION_STARTED", + "consentId": "9dee34fe-8449-4f80-914e-b9725f3585cd", + "reportId": "7f3e4d5c-1111-2222-3333-444455556666", + "datablockId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" + } +}`} + + ), + }, + { + key: "insights-success", + label: "Insights successful", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "INSIGHTS_CREATION_SUCCESSFUL", + "consentId": "9dee34fe-8449-4f80-914e-b9725f3585cd", + "reportId": "7f3e4d5c-1111-2222-3333-444455556666", + "datablockId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" + } +}`} + + ), + }, + { + key: "insights-failed", + label: "Insights failed", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "INSIGHTS_CREATION_FAILED", + "consentId": "9dee34fe-8449-4f80-914e-b9725f3585cd", + "reportId": "7f3e4d5c-1111-2222-3333-444455556666", + "datablockId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" + } +}`} + + ), + }, + ]} +/> + +#### Notifications are configurable + +Step-by-step notifications can be tailored to you. A client who does not want intermediate updates can have them switched off entirely - the pipeline runs identically, just silently - or can choose to receive only specific stages. This is set up during onboarding. + +#### Webhook delivery + +When Signal IQ posts a notification to your webhook - + +| Your webhook responds | Behaviour | +|-----------------------|-----------| +| `2xx` | Delivered - the flow continues | +| `4xx` | Treated as a permanent configuration/auth problem - not retried | +| `5xx` / timeout / network error | Retried up to 3 times with exponential backoff. If those still fail, retried once more at end of day | + +
+ +### Getting your outputs + +On `INSIGHTS_CREATION_SUCCESSFUL`, use the `reportId` from the webhook to fetch your configured outputs. See the API reference for how to fetch results. + + + diff --git a/content/data/signal-iq/api-reference.mdx b/content/data/signal-iq/api-reference.mdx new file mode 100644 index 00000000..7a55df59 --- /dev/null +++ b/content/data/signal-iq/api-reference.mdx @@ -0,0 +1,13 @@ +--- +sidebar_title: API reference +page_title: Signal IQ - API reference +order: 5 +visible_in_sidebar: true +--- + +## API reference + +Signal IQ APIs are grouped by what you are doing in the flow. + +- PDF APIs - upload a bank-statement PDF, list supported banks, and check upload status. +- Reports - fetch Setu JSON or Excel outputs after you have a `reportId`. diff --git a/content/data/signal-iq/apis.mdx b/content/data/signal-iq/apis.mdx new file mode 100644 index 00000000..59a2a724 --- /dev/null +++ b/content/data/signal-iq/apis.mdx @@ -0,0 +1,6 @@ +--- +sidebar_title: API reference +page_title: Signal IQ - API reference +order: 5 +visible_in_sidebar: false +--- diff --git a/content/data/signal-iq/apis/reports.mdx b/content/data/signal-iq/apis/reports.mdx new file mode 100644 index 00000000..794e013b --- /dev/null +++ b/content/data/signal-iq/apis/reports.mdx @@ -0,0 +1,6 @@ +--- +sidebar_title: Reports +page_title: Signal IQ - Reports API reference +order: 2 +visible_in_sidebar: false +--- diff --git a/content/data/signal-iq/apis/reports/api-reference.mdx b/content/data/signal-iq/apis/reports/api-reference.mdx new file mode 100644 index 00000000..2a001b31 --- /dev/null +++ b/content/data/signal-iq/apis/reports/api-reference.mdx @@ -0,0 +1,6 @@ +--- +sidebar_title: Reports +page_title: Signal IQ - Reports API reference +order: 1 +visible_in_sidebar: false +--- diff --git a/content/data/signal-iq/apis/upload-statement.mdx b/content/data/signal-iq/apis/upload-statement.mdx new file mode 100644 index 00000000..260f5a66 --- /dev/null +++ b/content/data/signal-iq/apis/upload-statement.mdx @@ -0,0 +1,6 @@ +--- +sidebar_title: PDF APIs +page_title: Signal IQ - PDF APIs +order: 1 +visible_in_sidebar: false +--- diff --git a/content/data/signal-iq/apis/upload-statement/api-reference.mdx b/content/data/signal-iq/apis/upload-statement/api-reference.mdx new file mode 100644 index 00000000..260f5a66 --- /dev/null +++ b/content/data/signal-iq/apis/upload-statement/api-reference.mdx @@ -0,0 +1,6 @@ +--- +sidebar_title: PDF APIs +page_title: Signal IQ - PDF APIs +order: 1 +visible_in_sidebar: false +--- diff --git a/content/data/signal-iq/bring-your-own-fi-data.mdx b/content/data/signal-iq/bring-your-own-fi-data.mdx new file mode 100644 index 00000000..82d6f37e --- /dev/null +++ b/content/data/signal-iq/bring-your-own-fi-data.mdx @@ -0,0 +1,55 @@ +--- +sidebar_title: Bring Your Own FI Data +page_title: Signal IQ - Bring Your Own FI Data +order: 4 +visible_in_sidebar: true +--- + +## Bring Your Own FI Data + +This flow is for clients who already have financial (FI) data - for example, from their own account aggregator, or from any third-party source - and want to run it through Signal IQ without going through Setu's Account Aggregator or the PDF path. + + + You send your FI data to Signal IQ via API. From that point on, Signal IQ owns orchestration, stage notifications, insights generation and output availability via `reportId` - the same experience as every other flow. + + +You get the same Signal IQ experience - orchestration, stage notifications, configurable outputs and polling - even when the data does not originate from one of Signal IQ's built-in input channels. + +
+ +### How it works + +1. **You send your FI data** directly to Signal IQ via API. +2. Signal IQ runs the same orchestration model as every other flow - + - **validate** the incoming data, + - **transform** it to the standard format if required (see the note below), + - **ingest** it into Setu Insights, + - **generate insights**, + - **send stage notifications** to your webhook, and + - **hand you a `reportId`** so you can fetch configured outputs via API. + +
+ +### A note on data format + +Setu Insights expects FI data in the standard ReBIT-aligned shape (the same schema used across the Account Aggregator ecosystem). + +If your payload is not already in that shape, a client-specific transformation step can be added to map your schema into the structure Setu Insights accepts - so you are never blocked from using Signal IQ with your existing data sources. + + + ReBIT (Reserve Bank Information Technology) publishes the technical standards for the Account Aggregator framework, including the schema in which financial data is represented. + + +
+ +### Notifications + +The lifecycle notifications for this flow follow the same model as the other flows - you receive stage updates on your webhook, and a terminal success notification carries the `reportId`. Notification schemas match the PDF Flow notifications. + +
+ +### Getting your outputs + +On `INSIGHTS_CREATION_SUCCESSFUL`, use the `reportId` from the webhook to fetch your configured outputs. See the API reference for how to fetch results. + + diff --git a/content/data/signal-iq/overview.mdx b/content/data/signal-iq/overview.mdx new file mode 100644 index 00000000..9e63fc96 --- /dev/null +++ b/content/data/signal-iq/overview.mdx @@ -0,0 +1,252 @@ +--- +sidebar_title: Overview +page_title: Signal IQ overview +order: 0 +visible_in_sidebar: true +--- + +## Signal IQ + +Signal IQ is an orchestration product that turns a multi-step financial-data pipeline into a single, managed flow. You integrate once, and Signal IQ coordinates everything from raw financial data to ready-to-use insights and output files - keeping you informed with webhook updates at every important stage. + +Under the hood, Signal IQ brings together Setu's Account Aggregator, bank-statement PDF parsing, and Setu Insights - so you don't have to stitch these systems together yourself. + + + In short - Signal IQ turns multi-step data-processing chains into one managed product flow. + + +
+ + + WHY SIGNAL IQ + + + + What Signal IQ solves + + + + Signal IQ replaces a fragile multi-system integration with one orchestrated product flow. + + +
+ + + + + + WITHOUT AN ORCHESTRATOR + + + You stitch it together + + + Multiple APIs called in sequence. + + + Retries handled across systems. + + + State tracked step by step. + + + Outputs coordinated manually. + + + + + + + WITH SIGNAL IQ + + + You integrate once + + + Single orchestration entry point. + + + Webhooks at every stage. + + + Terminal status with a `reportId`. + + + Fetch outputs anytime via API. + + + + + +
+ + + + + + SINGLE ENTRY POINT + + + One integration + + + Start the full pipeline from one touchpoint. + + + Signal IQ coordinates every internal step for you. + + + + + + + STAGE-BY-STAGE VISIBILITY + + + Live progress + + + Webhooks at consent, fetch, insights, and delivery. + + + No need to poll internal systems yourself. + + + + + + + + + + OUTPUT DELIVERY + + + Outputs delivered + + + Get a `reportId` when the flow completes. + + + Fetch JSON, Excel, XML via API. + + + + + + + OUTPUT FETCH + + + Outputs on demand + + + Call the output APIs with `reportId`. + + + Re-fetch anytime - no webhook dependency. + + + + + +
+ +### Core principles + +- **Single-flow experience** - you never orchestrate the internal steps manually. +- **Transparent progress** - every important stage is communicated through a webhook update. +- **Configurable outputs** - output types are configured per client (for example, insights JSON, custom JSON formats, XML, Excel). +- **Reliable completion** - Signal IQ owns retries, failure handling, de-duplication and controlled recovery. + +
+ +### Choose your flow + +Signal IQ supports different entry points depending on where your data comes from. The orchestration model, notifications and outputs stay consistent across all of them - only the way the flow starts changes. + + + + +

ACCOUNT AGGREGATOR

+ AA Flow +

For journeys that use Setu's Account Aggregator to source financial data, combined with Setu Insights.

+ Explore the AA Flow -> +
+
+
+ + + + +

BANK STATEMENT PDF

+ PDF Flow +

For journeys that start from a bank-statement PDF. Upload a statement and Signal IQ handles the rest.

+ Explore the PDF Flow -> +
+
+
+ + + + +

YOUR OWN DATA

+ Bring Your Own FI Data +

For clients who already have financial data from their own account aggregator or a third-party source.

+ Explore Bring Your Own FI Data -> +
+
+
+ +
+ +### The experience is the same across every flow + +No matter which flow you use, the client-facing experience is consistent - + +1. **The flow is triggered** - either automatically (AA Flow) or by a single API call from you (PDF Flow, Bring Your Own FI Data). +2. **Webhook status updates are sent** at each key milestone documented in that flow. +3. **On success, you receive `INSIGHTS_CREATION_SUCCESSFUL`** with a `reportId`. +4. **You fetch configured outputs** using that `reportId`. + +
+ +### Outputs + +This is the same across every Signal IQ flow. + +**Webhooks = status only.** Notifications tell you where the pipeline is. They do not carry the report body by default. When insights succeed, the terminal webhook (`INSIGHTS_CREATION_SUCCESSFUL`) includes a `reportId` - that is your handoff token. + +**Outputs are configured during onboarding.** Depending on your setup, you may fetch insights JSON, custom JSON formats, XML, Excel, and so on. + +**Fetch via API.** Pass the `reportId` to the API reference endpoints for the format you need. You can re-fetch anytime for reconciliation. + + + If you want the report payload included in the `INSIGHTS_CREATION_SUCCESSFUL` webhook, that can be customised during onboarding. + + +
+ +### Before you start + +During onboarding you share the details Signal IQ needs to run the flow for you. + +| You provide | Used for | +|-------------|----------| +| **Webhook URL** | Where all lifecycle notifications are delivered | +| **Insights template** | Which insights are generated for you | +| **Output formats** | Which outputs you want to fetch (JSON, Excel, XML, and so on) | + +
+ +If configuration is missing or incomplete, the flow does not start. + + + + diff --git a/content/data/signal-iq/pdf-flow.mdx b/content/data/signal-iq/pdf-flow.mdx new file mode 100644 index 00000000..c93e2b46 --- /dev/null +++ b/content/data/signal-iq/pdf-flow.mdx @@ -0,0 +1,290 @@ +--- +sidebar_title: PDF Flow +page_title: Signal IQ - PDF Flow +order: 2 +visible_in_sidebar: true +--- + +## PDF Flow + +The PDF Flow is for clients whose journey starts from a bank-statement PDF. You upload the statement with a single API call, and Signal IQ takes care of parsing, checks, ingestion, insights generation and output delivery. + + + The correlation id for this flow is the uploadId, returned by the upload API. Every webhook you receive for a statement carries the same uploadId, so persist it. + + +
+ +### Upload + +You upload a bank-statement PDF with a single API call. On success you receive an `uploadId` immediately. + +See API Reference - PDF APIs for the full request, response, and error contract. + +
+ +### What happens inside + +Once the upload is accepted, Signal IQ moves through these stages. You are kept informed at each important step via webhook (see [Notifications](#notifications-you-receive) below). + +1. **Parse** - the statement is parsed. If parsing fails, the flow ends and you receive `PDF_PARSE_FAILED`. +2. **Fraud check** - a separate fraud gate runs. If it blocks, nothing enters Setu Insights and you receive `PDF_FRAUD_DETECTED`. +3. **Statement validation** - a separate statement-validation gate runs. If it blocks, nothing enters Setu Insights and you receive `STATEMENT_VALIDATION_FAILED`. +4. **PDF parse success** - if both gates pass, parsing succeeded (`PDF_PARSE_SUCCESS`). +5. **Data block creation** - the parsed data is prepared for analysis inside Setu Insights (`FI_DATA_BLOCK_CREATION_SUCCESS`). +6. **Insights generation started** - the insights job is accepted (`INSIGHTS_CREATION_STARTED`). A `reportId` is issued at this stage. +7. **Insights generation success / failure** - the report is produced (`INSIGHTS_CREATION_SUCCESSFUL`), or the failure is reported (`INSIGHTS_CREATION_FAILED`). +8. **Report availability** - on success, use the `reportId` from the webhook to fetch your configured outputs. + +Fraud and statement validation are two separate gates. Details for each are in [Fraud gate](#fraud-gate) and [Statement-validation gate](#statement-validation-gate) below. + +
+ +### Notifications you receive + +Every notification is delivered as an HTTP `POST` to your configured webhook URL, and is wrapped in the same envelope. The correlation field in this flow is `uploadId`. + + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af" + } +}`} + + +#### Full catalogue + +| # | Stage | data.status | Terminal | +|---|-------|-------------|----------| +| 1 | Parse failed | `PDF_PARSE_FAILED` | Yes | +| 2 | Fraud blocked | `PDF_FRAUD_DETECTED` | Yes | +| 3 | Validation blocked | `STATEMENT_VALIDATION_FAILED` | Yes | +| 4 | PDF parse success | `PDF_PARSE_SUCCESS` | No | +| 5 | Data block created | `FI_DATA_BLOCK_CREATION_SUCCESS` | No | +| 6 | Insights started | `INSIGHTS_CREATION_STARTED` | No | +| 7 | Insights done | `INSIGHTS_CREATION_SUCCESSFUL` | Yes | +| 8 | Insights failed | `INSIGHTS_CREATION_FAILED` | Yes | + +
+ +Treat `INSIGHTS_CREATION_SUCCESSFUL` as terminal success, and statuses 1, 2, 3 and 8 as terminal failures. + +#### Notification error codes + +Structured `errorCode` / `errorMessage` appear on terminal failure webhooks such as `PDF_PARSE_FAILED`. Fraud and statement-validation blocks do not use BSP codes. + +#### On PDF_PARSE_FAILED + +| Code | Meaning | Recommended action | +|------|---------|-------------------| +| BSP-105 | Bank format could not be detected | Verify or omit `bankName`, then resubmit | +| BSP-201 | Scanned PDF - no OCR path available | Retry later or contact support | +| BSP-202 | No transactions found in expected date range | Verify the statement is non-empty / correct period | +| BSP-203 | Insufficient customer data | Use a complete statement with account holder info | +| BSP-204 | Analysis on hold (cannot be retried automatically) | Resubmit. Contact support if it recurs | +| BSP-205 | Processing timed out | Resubmit | +| BSP-206 | All parsing paths unavailable / failed at submit | Retry after a short delay | +| BSP-501 | Internal error during parsing | Contact support with `uploadId` | +| BSP-502 | Parsing path unhealthy or unavailable | Retry after a short delay | + +#### Examples of every schema + + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "PDF_PARSE_FAILED", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "errorCode": "BSP-105", + "errorMessage": "Unable to detect bank statement format. Please verify the bank name and resubmit." + } +}`} + + ), + }, + { + key: "fraud", + label: "Fraud detected", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "PDF_FRAUD_DETECTED", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "fraudSignals": { + "overall": "IRREGULARITY_DETECTED", + "checks": [], + "vendorScore": null + } + } +}`} + + ), + }, + { + key: "validation", + label: "Validation failed", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "STATEMENT_VALIDATION_FAILED", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "statementValidation": { + "status": "FAIL", + "issues": [] + } + } +}`} + + ), + }, + { + key: "parse-success", + label: "Parse success", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "PDF_PARSE_SUCCESS", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af" + } +}`} + + ), + }, + { + key: "data-block", + label: "Data block created", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "FI_DATA_BLOCK_CREATION_SUCCESS", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "dataIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"] + } +}`} + + ), + }, + { + key: "insights-started", + label: "Insights started", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "INSIGHTS_CREATION_STARTED", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "reportId": "7f3e4d5c-1111-2222-3333-444455556666" + } +}`} + + ), + }, + { + key: "insights-success", + label: "Insights successful", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "INSIGHTS_CREATION_SUCCESSFUL", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "reportId": "7f3e4d5c-1111-2222-3333-444455556666" + } +}`} + + ), + }, + { + key: "insights-failed", + label: "Insights failed", + content: ( + +{`{ + "type": "AUTO_DI_STATUS", + "data": { + "status": "INSIGHTS_CREATION_FAILED", + "uploadId": "fb12d1a2-1e5c-4c63-aa54-d5f1d2ec19af", + "errorCode": "BSP-501", + "errorMessage": "Insights computation failed. Please contact support with the uploadId." + } +}`} + + ), + }, + ]} +/> + +Step-by-step notifications are configurable per client. They can be switched off entirely, or limited to specific stages. This is set up during onboarding. + +#### Webhook delivery + +When Signal IQ posts a notification to your webhook, handlers must be idempotent and key off `uploadId`. + +| Your webhook responds | Behaviour | +|-----------------------|-----------| +| `2xx` | Delivered - the flow continues | +| `4xx` | Treated as a config or auth problem - not retried | +| `5xx` / timeout / network error | Retried up to 3 times with exponential backoff. If those still fail, retried once more at end of day | + +
+ +### Fraud gate + +Blocks when `fraudSignals.overall` is `FRAUD` or `IRREGULARITY_DETECTED`. Notification: `PDF_FRAUD_DETECTED`. Nothing is ingested into Setu Insights. + +The raw `fraudSignals` object is forwarded so you can apply your own risk policy. + +| overall value | Meaning | Does Signal IQ block? | +|---------------|---------|------------------------| +| `FRAUD` | Fraud checks concluded the statement shows fraud indicators | Yes - terminal `PDF_FRAUD_DETECTED` | +| `IRREGULARITY_DETECTED` | Fraud checks found irregularities or anomalies that are not a clean pass. Treat this as a risk signal, not necessarily conclusive fraud | Yes - terminal `PDF_FRAUD_DETECTED` | + +
+ +- Signal IQ treats `FRAUD` and `IRREGULARITY_DETECTED` the same for this flow: both stop processing before insights. +- The webhook still includes the full `fraudSignals` object (`overall`, `checks`, `vendorScore`) so you can handle the two values differently in your own systems if needed. +- If `overall` is neither value above, the fraud gate does not block. +- `checks` is an array of individual check results when present. `vendorScore` may be a number or `null` - use it only as supporting context. + +
+ +### Statement-validation gate + +Blocks when `statementValidation` is present and `statementValidation.status` is not `PASS`. Notification: `STATEMENT_VALIDATION_FAILED`. Nothing is ingested into Setu Insights. + +The raw `statementValidation` object is forwarded so you can apply your own risk policy. + +A missing `statementValidation` field is not treated as a failure. The statement-validation gate only blocks when the object is present and its status is not `PASS`. + +
+ +### Getting your outputs + +On `INSIGHTS_CREATION_SUCCESSFUL`, use the `reportId` from the webhook to fetch your configured outputs. See the API reference for how to fetch results. + + + diff --git a/content/endpoints.json b/content/endpoints.json index 08d01f1c..d4af293f 100644 --- a/content/endpoints.json +++ b/content/endpoints.json @@ -17,7 +17,10 @@ "name": "BBPS BillPay", "path": "billpay", "order": 1, - "versions": ["v1", "v2"], + "versions": [ + "v1", + "v2" + ], "default_version": "v2", "visible_in_sidebar": true }, @@ -75,7 +78,10 @@ "name": "AA Gateway", "path": "account-aggregator", "order": 4, - "versions": ["v1", "v2"], + "versions": [ + "v1", + "v2" + ], "default_version": "v2", "visible_in_sidebar": true }, @@ -89,10 +95,20 @@ "name": "Insights", "path": "insights", "order": 5, - "versions": ["v1", "v2", "v3"], + "versions": [ + "v1", + "v2", + "v3" + ], "default_version": "v3", "visible_in_sidebar": true }, + { + "name": "Signal IQ", + "path": "signal-iq", + "order": 6, + "visible_in_sidebar": true + }, { "name": "ULI", "path": "uli", @@ -129,7 +145,10 @@ "name": "The Bridge", "path": "bridge", "order": 0, - "versions": ["v1", "v2"], + "versions": [ + "v1", + "v2" + ], "default_version": "v2", "visible_in_sidebar": true } diff --git a/content/menuItems.json b/content/menuItems.json index af17f371..e3b482c5 100644 --- a/content/menuItems.json +++ b/content/menuItems.json @@ -1 +1 @@ -{"home":[{"name":"Payments","path":"payments","order":0,"visible_in_sidebar":true,"api_reference":true,"children":[{"name":"BBPS BillCollect","path":"bbps","order":0,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS API reference","path":"api-reference","order":9},{"name":"Axis BBPS","visible_in_sidebar":false,"page_title":"Axis BBPS API Approach Document","path":"axis","order":10},{"name":"Bill Structure","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure","path":"bill-structure","order":5,"children":[{"name":"Special cases","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure special cases","path":"special-cases","order":1}]},{"name":"Go live","visible_in_sidebar":true,"page_title":"BBPS - Go live","path":"go-live","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BBPS - Notifications","path":"notifications","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS - Overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS - Quickstart","path":"quickstart","order":2,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"api-integration","order":2,"children":[{"name":"Fetch & Pay","visible_in_sidebar":true,"page_title":"API integration - Fetch & Pay","path":"fetch-pay","order":1},{"name":"Validate & Pay","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"validate-pay","order":2}]},{"name":"No-code CSV","visible_in_sidebar":true,"page_title":"BBPS - No-code CSV","path":"no-code-integration","order":1},{"name":"Share bills","visible_in_sidebar":false,"page_title":"BBPS - Share bills","path":"share-biils","order":1}]},{"name":"Reports API","visible_in_sidebar":true,"page_title":"BBPS - Reports API","path":"reports","order":6},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"BBPS - Additional Resources","path":"resources","order":8,"children":[{"name":"Errors","visible_in_sidebar":true,"page_title":"BBPS error codes","path":"errors","order":4},{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"BBPS OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]}]},{"name":"BBPS BillPay","path":"billpay","order":1,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":9},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"FX Retail","visible_in_sidebar":true,"page_title":"BBPS COU - FX Retail (Forex category)","path":"fx-retail","order":8},{"name":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":6},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":10},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"Paying Bills","path":"paying-bills","order":4,"children":[{"name":"Paying for options","visible_in_sidebar":true,"page_title":"Paying for alternative options","path":"bill-payment-options","order":4},{"name":"Passing CCF","visible_in_sidebar":true,"page_title":"Customer Convenience Fee (CCF) Integration Guide","path":"customer-convenience-fee","order":3},{"name":"Paying multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":6},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"quickstart","order":1},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Passing Remitter Details","path":"remittance_flows_guide","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":7},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":5},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":3}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"path":"mcp","children":[{"name":"Integration Guide","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments - Integration Guide","path":"integration-guide","order":1},{"name":"Tools and Prompts","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments - Tools and Prompts","path":"tools-and-prompts","order":2}]},{"name":"Prepaid Recharge","visible_in_sidebar":true,"page_title":"BBPS Billpay Prepaid Recharge APIs","path":"mobile-prepaid-recharge","order":3,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge quickstart","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge Webhooks","path":"webhooks","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":5},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":false,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Remitter Details For Bill Payments Integration Guide","path":"remitter-details","order":4},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":5},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Deprecated APIs","visible_in_sidebar":false,"page_title":"BBPS COU - API integration (deprecated)","path":"deprecated","order":4,"children":[{"name":"Mock environment","visible_in_sidebar":false,"page_title":"BBPS Billpay Mock environment","path":"mock-environment","order":2},{"name":"Polling","visible_in_sidebar":false,"page_title":"BBPS Billpay polling","path":"polling","order":2}]},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":3},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":4}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":4},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":true,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]}]}]},{"name":"WhatsApp Collect","path":"whatsapp-collect","order":3,"visible_in_sidebar":true,"children":[{"name":"API Integration","visible_in_sidebar":true,"page_title":"WhatsApp Collect API Integration","path":"api-integration","order":3},{"name":"API reference","visible_in_sidebar":true,"page_title":"WhatsApp Collect API reference","path":"api-reference","order":5},{"name":"Error codes","visible_in_sidebar":true,"page_title":"WhatsApp Collect error codes","path":"errors","order":4},{"name":"Collection journey","visible_in_sidebar":true,"page_title":"WhatsApp Collect Journey","path":"journey","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"WhatsApp Collect Overview","path":"overview","order":0},{"name":"Collection reminders","visible_in_sidebar":true,"page_title":"WhatsApp Collect reminders","path":"reminders","order":2}]},{"name":"UPI DeepLinks","path":"upi-deeplinks","order":4,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Deeplinks API reference","path":"api-reference","order":8},{"name":"Notifications","visible_in_sidebar":true,"page_title":"UPI Deeplinks Notifications","path":"notifications","order":6},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Deeplinks Overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Deeplinks quickstart","path":"quickstart","order":1,"children":[{"name":"Go Live","visible_in_sidebar":true,"page_title":"UPI Deeplinks go live","path":"go-live","order":1}]},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Deeplinks Refunds","path":"refunds","order":4},{"name":"Reports API","visible_in_sidebar":true,"page_title":"UPI Deeplinks Reports API","path":"reports","order":5},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"UPI Deeplinks additonal resources","path":"resources","order":6,"children":[{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"UPI Deeplinks OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]},{"name":"SDKs","visible_in_sidebar":true,"page_title":"UPI Deeplinks SDKs","path":"sdks","order":3},{"name":"Third party verification","visible_in_sidebar":true,"page_title":"UPI Deeplinks third party verification","path":"third-party-verification","order":3}]},{"name":"UPI Setu","path":"umap","order":7,"visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"UPI Setu - API integration","path":"api-integration","order":2,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for merchants","path":"merchants","order":2}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Setu - API reference","path":"api-reference","order":8},{"name":"UPI mandates","visible_in_sidebar":true,"page_title":"UPI mandates","path":"mandates","order":4,"children":[{"name":"Mandate operations","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Mandate operations","path":"generic","order":5,"children":[{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Pause","path":"pause","order":3},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Revoke","path":"revoke","order":2},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Unpause","path":"unpause","order":4},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Update","path":"update","order":1}]},{"name":"OneShot","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - OneShot","path":"one-shot","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create One Time Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute One Time Mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send One Time Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Recur","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Recur","path":"recur","order":3,"children":[{"name":"Check payment status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create recurring mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send Recurring Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Reserve","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Reserve","path":"reserve","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create Reserve Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute Reserve Mandate","path":"execute","order":3}]},{"name":"ReservePlus","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - ReservePlus","path":"reserve-plus","order":4,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create single block multi-debit","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute single block multi-debit","path":"execute","order":2}]}]},{"name":"Merchant on-boarding","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant onboarding","path":"merchant-onboarding","order":2,"children":[{"name":"Check VPA availability","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Check VPA availability","path":"check-vpa-availability-api","order":2},{"name":"Setup a merchant","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Setup merchant","path":"create-merchant-api","order":1},{"name":"Registering VPA","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Registering a VPA","path":"create-vpa-api","order":3}]},{"name":"Notifications and alerts","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts","path":"notifications","order":7,"children":[{"name":"VPA verification","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Customer VPA verification","path":"customer-vpa-verification","order":6},{"name":"Mandates","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandates","path":"mandates","order":3,"children":[{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Creation of mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate execution","path":"execute","order":7},{"name":"Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate pre-debit notifications","path":"notify","order":6},{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Pausing mandate","path":"pause","order":4},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Revoking mandate","path":"revoke","order":3},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Unpausing mandate","path":"unpause","order":5},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Updating mandate","path":"update","order":2}]},{"name":"Payments","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Payments","path":"payments","order":2},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Refunds","path":"refunds","order":4},{"name":"Verify signature","visible_in_sidebar":true,"page_title":"UMAP - Events and notifications","path":"verify-signature","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Setu - Overview","path":"overview","order":0},{"name":"UPI payments","visible_in_sidebar":true,"page_title":"UPI payments","path":"payments","order":3,"children":[{"name":"Collect","visible_in_sidebar":true,"page_title":"UPI payments - Collect","path":"collect","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Collect request - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create collect request","path":"create-collect-request","order":2},{"name":"Verify customer VPA","visible_in_sidebar":true,"page_title":"UPI Setu payments - Verify customer VPA","path":"verify-customer-vpa-api","order":1}]},{"name":"Flash","visible_in_sidebar":true,"page_title":"UPI payments - Flash","path":"flash","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Intent/QR - Check payment status","path":"check-status","order":2},{"name":"Dynamic QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Dynamic QR","path":"create-dqr","order":1},{"name":"Static QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Static QR","path":"create-sqr","order":1}]},{"name":"TPV","visible_in_sidebar":true,"page_title":"UPI payments - TPV","path":"tpv","order":3,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - TPV - Check payment status","path":"check-status","order":2},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - Create TPV API","path":"create-tpv","order":1},{"name":"Payments","visible_in_sidebar":true,"page_title":"UMAP - Notifications and alerts - Payments","path":"life-cycle","order":1}]}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart","path":"quickstart","order":1,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for merchants","path":"merchants","order":2}]},{"name":"Refunds and disputes","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes","path":"refunds-disputes","order":6,"children":[{"name":"Check refund status","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Check refund status API","path":"check-refund-status-api","order":2},{"name":"Create refund","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Create refund API","path":"create-refund-api","order":1},{"name":"Fetch dispute","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Fetch dispute API","path":"fetch-dispute-api","order":3}]},{"name":"Transaction Monitoring","visible_in_sidebar":false,"page_title":"UPI Setu - Transaction Monitoring","path":"transaction-monitoring","order":5,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status API","path":"check-status-api","order":1},{"name":"Check status history","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status sistory API","path":"check-status-history-api","order":2},{"name":"Fetch payment","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Fetch payment API","path":"fetch-payment-api","order":3}]}]}]},{"name":"Data","path":"data","order":1,"visible_in_sidebar":true,"children":[{"name":"KYC","path":"kyc","order":0,"visible_in_sidebar":true,"children":[{"name":"Secure Data Add-On","visible_in_sidebar":true,"page_title":"Setu Encrypted APIs","path":"encryption","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu KYC Overview","path":"overview","order":1}]},{"name":"PAN verification","path":"pan","order":0,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"PAN verification API reference","path":"api-reference","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":0}]},{"name":"Aadhaar eSign","path":"esign","order":2,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Aadhaar eSign API reference","path":"api-reference","order":9},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Aadhaar eSign error codes","path":"error-codes","order":8},{"name":"eStamp overview","visible_in_sidebar":true,"page_title":"eStamp overview","path":"estamp","order":2},{"name":"Flexible eSign guide","visible_in_sidebar":true,"page_title":"Integration guide with flexible signature coordinates","path":"flexi-esign","order":4},{"name":"eSign Name Match","visible_in_sidebar":true,"page_title":"Aadhaar eSign Name Match","path":"name-match","order":6},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Aadhaar eSign Notifications","path":"notifications","order":7},{"name":"Overview","visible_in_sidebar":true,"page_title":"Aadhaar eSign overview","path":"overview","order":1},{"name":"PDF templates","visible_in_sidebar":true,"page_title":"Integration guide with pdf templating API's","path":"pdf-templating","order":5},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Aadhaar eSign integration guide","path":"quickstart","order":3}]},{"name":"DigiLocker","path":"digilocker","order":3,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Digilocker API reference","path":"api-reference","order":3},{"name":"Error codes","visible_in_sidebar":true,"page_title":"DigiLocker error codes","path":"error-codes","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"Digilocker overview","path":"overview","order":0},{"name":"Pull Driving Licence","visible_in_sidebar":true,"page_title":"Digilocker Quickstart","path":"pulldrivinglicense","order":2},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Digilocker quickstart","path":"quickstart","order":1}]},{"name":"AA Gateway","path":"account-aggregator","order":4,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Account Availability","visible_in_sidebar":true,"page_title":"Account Aggregator Account Availability","path":"account-availability-apis","order":5},{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Multi AA gateway","visible_in_sidebar":true,"page_title":"Account Aggregator multi-AA gateway","path":"multi-aa-gateway","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator Consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"End-to-end encryption","visible_in_sidebar":false,"page_title":"Account Aggregator End-to-end encryption","path":"encryption","order":1},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Get started","visible_in_sidebar":false,"page_title":"Account Aggregator getting started","path":"get-started","order":0},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Migration guide","visible_in_sidebar":true,"page_title":"Account Aggregator Migration Guide","path":"migration-guide","order":6,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-flow","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Account Aggregator Postman integration","path":"postman","order":2},{"name":"Quickstart","visible_in_sidebar":false,"page_title":"Account Aggregator quickstart","path":"quickstart-v1","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"name":"Request signing","visible_in_sidebar":false,"page_title":"Account Aggregator Request signing","path":"request-signing","order":1}]}]},{"name":"Bank account verification","path":"bav","order":5,"visible_in_sidebar":false,"children":[{"name":"Bundled BAV","visible_in_sidebar":true,"page_title":"Bundled Bank Account Verification","path":"bundled-bav","order":2,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Bundled BAV API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"Bundled BAV API reference","path":"api-reference","order":3},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for Bundled BAV","path":"quickstart","order":1}]},{"name":"Penny drop","visible_in_sidebar":true,"page_title":"BAV using penny drop","path":"penny-drop","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BAV API integration","path":"api-integration","order":1,"children":[{"name":"Async API","visible_in_sidebar":true,"page_title":"BAV Async API integration","path":"async","order":2},{"path":"bav-codes"},{"name":"Sync API","visible_in_sidebar":true,"page_title":"BAV Sync API integration","path":"sync","order":1}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV API reference","path":"api-reference","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BAV Async Penny drop Notifications","path":"notifications","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BAV quickstart","path":"quickstart","order":0}]},{"name":"Reverse Penny drop","visible_in_sidebar":true,"page_title":"BAV using reverse penny drop","path":"reverse-penny-drop","order":3,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"RPD API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV RPD API reference","path":"api-reference","order":4},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for reverse penny drop","path":"quickstart","order":1},{"name":"Webhook Auth","visible_in_sidebar":true,"page_title":"Webhook Authentication","path":"webhook-authentication","order":3}]}]},{"name":"Insights","path":"insights","order":5,"versions":["v1","v2","v3"],"default_version":"v3","visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Setu Insights error codes","path":"error-code","order":5},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]},{"path":"v1","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]}]},{"path":"v2","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1}]}]},{"name":"ULI","path":"uli","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"GST verification","path":"gst","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"Match APIs","path":"match-apis","order":7,"visible_in_sidebar":false,"children":[{"name":"Name match","visible_in_sidebar":true,"page_title":"Name match APIs","path":"name-match","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Name Match API reference","path":"api-reference","order":4},{"name":"Examples","visible_in_sidebar":true,"page_title":"Name Match API response examples","path":"examples","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Name Match API overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Name Match API quickstart","path":"quickstart","order":2}]}]},{"name":"eKYC","path":"ekyc","order":8,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"eKYC API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":1}]}]},{"name":"Dev tools","path":"dev-tools","order":2,"visible_in_sidebar":true,"children":[{"name":"The Bridge","path":"bridge","order":0,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"Analytics and reports","visible_in_sidebar":true,"page_title":"Bridge analytics and reports","path":"analytics-and-reports","order":3},{"name":"Configure products","visible_in_sidebar":true,"page_title":"Bridge explore and configure products","path":"explore-and-configure-products","order":2},{"name":"Glossary","visible_in_sidebar":true,"page_title":"Bridge glossary","path":"glossary","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Settings","visible_in_sidebar":true,"page_title":"Bridge settings","path":"settings","order":4},{"name":"User profile","visible_in_sidebar":true,"page_title":"Bridge user profile","path":"user-profile","order":5},{"path":"v1","children":[{"name":"Bridge configuration","visible_in_sidebar":false,"page_title":"Bridge configuration","path":"configure","order":6},{"name":"Generate Token","visible_in_sidebar":false,"page_title":"Bridge generate token","path":"generate-token","order":4},{"name":"Org settings","visible_in_sidebar":true,"page_title":"Bridge org settings","path":"org-settings","order":3,"children":[{"name":"API keys","visible_in_sidebar":true,"page_title":"API keys","path":"api-keys","order":2,"children":[{"name":"JWT Auth","visible_in_sidebar":false,"page_title":"JWT Auth","path":"jwt-auth","order":3},{"name":"JWT","visible_in_sidebar":true,"page_title":"JWT","path":"jwt","order":1},{"name":"OAuth","visible_in_sidebar":true,"page_title":"OAuth","path":"oauth","order":2}]},{"name":"People","visible_in_sidebar":true,"page_title":"People","path":"people","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Reports","visible_in_sidebar":true,"page_title":"Bridge reports","path":"reports","order":1,"children":[{"name":"Types","visible_in_sidebar":false,"page_title":"Report types","path":"types","order":1}]},{"name":"Reports API","visible_in_sidebar":false,"page_title":"Reports API","path":"reports-api","order":5}]}]}]},{"name":"Sample Category","path":"sample-category","order":3,"visible_in_sidebar":false,"children":[{"name":"Sample Product","path":"sample-product","order":0,"visible_in_sidebar":false,"children":[{"name":"Sample Page","visible_in_sidebar":false,"page_title":"Docs sample page","path":"sample-page","order":0}]}]}]} \ No newline at end of file +{"home":[{"name":"Payments","path":"payments","order":0,"visible_in_sidebar":true,"api_reference":true,"children":[{"name":"BBPS BillCollect","path":"bbps","order":0,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS API reference","path":"api-reference","order":9},{"name":"Axis BBPS","visible_in_sidebar":false,"page_title":"Axis BBPS API Approach Document","path":"axis","order":10},{"name":"Bill Structure","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure","path":"bill-structure","order":5,"children":[{"name":"Special cases","visible_in_sidebar":true,"page_title":"BBPS - Bill Structure special cases","path":"special-cases","order":1}]},{"name":"Go live","visible_in_sidebar":true,"page_title":"BBPS - Go live","path":"go-live","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BBPS - Notifications","path":"notifications","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS - Overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS - Quickstart","path":"quickstart","order":2,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"api-integration","order":2,"children":[{"name":"Fetch & Pay","visible_in_sidebar":true,"page_title":"API integration - Fetch & Pay","path":"fetch-pay","order":1},{"name":"Validate & Pay","visible_in_sidebar":true,"page_title":"BBPS - API integration","path":"validate-pay","order":2}]},{"name":"No-code CSV","visible_in_sidebar":true,"page_title":"BBPS - No-code CSV","path":"no-code-integration","order":1},{"name":"Share bills","visible_in_sidebar":false,"page_title":"BBPS - Share bills","path":"share-biils","order":1}]},{"name":"Reports API","visible_in_sidebar":true,"page_title":"BBPS - Reports API","path":"reports","order":6},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"BBPS - Additional Resources","path":"resources","order":8,"children":[{"name":"Errors","visible_in_sidebar":true,"page_title":"BBPS error codes","path":"errors","order":4},{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"BBPS OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]}]},{"name":"BBPS BillPay","path":"billpay","order":1,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":9},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"FX Retail","visible_in_sidebar":true,"page_title":"BBPS COU - FX Retail (Forex category)","path":"fx-retail","order":8},{"name":"Harmonization of TAT","visible_in_sidebar":true,"page_title":"Harmonization Of TAT (Disputes API)","path":"harmonization_of_tat","order":6},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":10},{"name":"Paying Bills","visible_in_sidebar":true,"page_title":"Paying Bills","path":"paying-bills","order":4,"children":[{"name":"Paying for options","visible_in_sidebar":true,"page_title":"Paying for alternative options","path":"bill-payment-options","order":4},{"name":"Passing CCF","visible_in_sidebar":true,"page_title":"Customer Convenience Fee (CCF) Integration Guide","path":"customer-convenience-fee","order":3},{"name":"Paying multiple bills","visible_in_sidebar":true,"page_title":"Paying for multiple bills","path":"multi-bill-processing","order":5},{"name":"Paying for plans","visible_in_sidebar":true,"page_title":"Paying for plans","path":"plan-mdm-integration","order":6},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Bill Payment Integration Guide","path":"quickstart","order":1},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Passing Remitter Details","path":"remittance_flows_guide","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Integrating with UPMS","visible_in_sidebar":true,"page_title":"BBPS COU - Integrating with UPMS","path":"upms","order":7},{"name":"Migration Guide to v2","visible_in_sidebar":true,"page_title":"BBPS COU - Migration Guide to v2","path":"v2-migration","order":5},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":3}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"path":"mcp","children":[{"name":"Integration Guide","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments - Integration Guide","path":"integration-guide","order":1},{"name":"Tools and Prompts","visible_in_sidebar":false,"page_title":"MCP Server for Bill Payments - Tools and Prompts","path":"tools-and-prompts","order":2}]},{"name":"Prepaid Recharge","visible_in_sidebar":true,"page_title":"BBPS Billpay Prepaid Recharge APIs","path":"mobile-prepaid-recharge","order":3,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge quickstart","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"Mobile Prepaid Recharge Webhooks","path":"webhooks","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":5},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":false,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Remitter Details","visible_in_sidebar":true,"page_title":"Remitter Details For Bill Payments Integration Guide","path":"remitter-details","order":4},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BBPS Billpay API integration","path":"api-integration","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"COU Direct Connectivity API reference","path":"api-reference","order":5},{"name":"List of APIs","visible_in_sidebar":true,"page_title":"BBPS COU - List of APIs","path":"apis","order":2},{"name":"Deprecated APIs","visible_in_sidebar":false,"page_title":"BBPS COU - API integration (deprecated)","path":"deprecated","order":4,"children":[{"name":"Mock environment","visible_in_sidebar":false,"page_title":"BBPS Billpay Mock environment","path":"mock-environment","order":2},{"name":"Polling","visible_in_sidebar":false,"page_title":"BBPS Billpay polling","path":"polling","order":2}]},{"name":"Objects","visible_in_sidebar":true,"page_title":"BBPS COU - Objects","path":"objects","order":3},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS COU - API integration","path":"quickstart","order":1},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS COU - Webhooks","path":"webhooks","order":4}]},{"name":"API reference","visible_in_sidebar":false,"page_title":"BillPay API reference","path":"api-reference","order":5},{"name":"Overview","visible_in_sidebar":true,"page_title":"BBPS Billpay Overview","path":"overview","order":0},{"name":"Pre-built screens","visible_in_sidebar":true,"page_title":"BBPS Billpay pre-built screens","path":"pre-built-screens","order":2,"children":[{"name":"API reference","visible_in_sidebar":false,"page_title":"BBPS Billpay API reference","path":"api-reference-wl","order":4},{"name":"API reference","visible_in_sidebar":true,"page_title":"BBPS Billpay API reference","path":"api-reference","order":4},{"name":"Custom payment","visible_in_sidebar":true,"page_title":"BBPS Billpay custom payment","path":"custom-payment","order":2,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay android integration for custom payment","path":"android","order":3},{"name":"Required APIs","visible_in_sidebar":true,"page_title":"BBPS Billpay APIs for custom payment","path":"apis","order":1},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross-platform integration for custom payment","path":"cross-platform","order":3},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration for custom payment","path":"iOS","order":4},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website integration for custom payment","path":"website","order":2}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BBPS Billpay Quickstart","path":"quickstart","order":1,"children":[{"name":"Android","visible_in_sidebar":true,"page_title":"BBPS Billpay Android integration","path":"android","order":2},{"name":"API","visible_in_sidebar":true,"page_title":"BBPS Billpay API","path":"api","order":2},{"name":"Cross platform","visible_in_sidebar":true,"page_title":"BBPS Billpay cross platform integration","path":"cross-platform","order":4},{"name":"iOS","visible_in_sidebar":true,"page_title":"BBPS Billpay iOS integration","path":"iOS","order":3},{"name":"Website","visible_in_sidebar":true,"page_title":"BBPS Billpay website","path":"website","order":1}]},{"name":"Webhooks","visible_in_sidebar":true,"page_title":"BBPS Billpay webhooks","path":"webhooks","order":2}]}]}]},{"name":"WhatsApp Collect","path":"whatsapp-collect","order":3,"visible_in_sidebar":true,"children":[{"name":"API Integration","visible_in_sidebar":true,"page_title":"WhatsApp Collect API Integration","path":"api-integration","order":3},{"name":"API reference","visible_in_sidebar":true,"page_title":"WhatsApp Collect API reference","path":"api-reference","order":5},{"name":"Error codes","visible_in_sidebar":true,"page_title":"WhatsApp Collect error codes","path":"errors","order":4},{"name":"Collection journey","visible_in_sidebar":true,"page_title":"WhatsApp Collect Journey","path":"journey","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"WhatsApp Collect Overview","path":"overview","order":0},{"name":"Collection reminders","visible_in_sidebar":true,"page_title":"WhatsApp Collect reminders","path":"reminders","order":2}]},{"name":"UPI DeepLinks","path":"upi-deeplinks","order":4,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Deeplinks API reference","path":"api-reference","order":8},{"name":"Notifications","visible_in_sidebar":true,"page_title":"UPI Deeplinks Notifications","path":"notifications","order":6},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Deeplinks Overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Deeplinks quickstart","path":"quickstart","order":1,"children":[{"name":"Go Live","visible_in_sidebar":true,"page_title":"UPI Deeplinks go live","path":"go-live","order":1}]},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Deeplinks Refunds","path":"refunds","order":4},{"name":"Reports API","visible_in_sidebar":true,"page_title":"UPI Deeplinks Reports API","path":"reports","order":5},{"name":"Additional resources","visible_in_sidebar":true,"page_title":"UPI Deeplinks additonal resources","path":"resources","order":6,"children":[{"name":"JWT authentication","visible_in_sidebar":true,"page_title":"UPI Deeplinks JWT authentication","path":"jwt","order":2},{"name":"OAuth 2.0","visible_in_sidebar":true,"page_title":"UPI Deeplinks OAuth 2.0","path":"oauth","order":1},{"name":"Settlement object","visible_in_sidebar":true,"page_title":"UPI Deeplinks settlement object","path":"settlement-object","order":3}]},{"name":"SDKs","visible_in_sidebar":true,"page_title":"UPI Deeplinks SDKs","path":"sdks","order":3},{"name":"Third party verification","visible_in_sidebar":true,"page_title":"UPI Deeplinks third party verification","path":"third-party-verification","order":3}]},{"name":"UPI Setu","path":"umap","order":7,"visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"UPI Setu - API integration","path":"api-integration","order":2,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - API integration for merchants","path":"merchants","order":2}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"UPI Setu - API reference","path":"api-reference","order":8},{"name":"UPI mandates","visible_in_sidebar":true,"page_title":"UPI mandates","path":"mandates","order":4,"children":[{"name":"Mandate operations","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Mandate operations","path":"generic","order":5,"children":[{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Pause","path":"pause","order":3},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Revoke","path":"revoke","order":2},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Unpause","path":"unpause","order":4},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Update","path":"update","order":1}]},{"name":"OneShot","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - OneShot","path":"one-shot","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create One Time Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute One Time Mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send One Time Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Recur","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Recur","path":"recur","order":3,"children":[{"name":"Check payment status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create recurring mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute mandate","path":"execute","order":3},{"name":"Pre Debit Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Send Recurring Mandate Pre Debit Notification","path":"pre-debit-notify","order":2}]},{"name":"Reserve","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Reserve","path":"reserve","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":4},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create Reserve Mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute Reserve Mandate","path":"execute","order":3}]},{"name":"ReservePlus","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - ReservePlus","path":"reserve-plus","order":4,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Create single block multi-debit","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Mandates - Execute single block multi-debit","path":"execute","order":2}]}]},{"name":"Merchant on-boarding","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant onboarding","path":"merchant-onboarding","order":2,"children":[{"name":"Check VPA availability","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Check VPA availability","path":"check-vpa-availability-api","order":2},{"name":"Setup a merchant","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Setup merchant","path":"create-merchant-api","order":1},{"name":"Registering VPA","visible_in_sidebar":true,"page_title":"UPI Setu - Merchant on-boarding - Registering a VPA","path":"create-vpa-api","order":3}]},{"name":"Notifications and alerts","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts","path":"notifications","order":7,"children":[{"name":"VPA verification","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Customer VPA verification","path":"customer-vpa-verification","order":6},{"name":"Mandates","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandates","path":"mandates","order":3,"children":[{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Creation of mandate","path":"create","order":1},{"name":"Execute","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate execution","path":"execute","order":7},{"name":"Notify","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Mandate pre-debit notifications","path":"notify","order":6},{"name":"Pause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Pausing mandate","path":"pause","order":4},{"name":"Revoke","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Revoking mandate","path":"revoke","order":3},{"name":"Unpause","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Unpausing mandate","path":"unpause","order":5},{"name":"Update","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Updating mandate","path":"update","order":2}]},{"name":"Payments","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Payments","path":"payments","order":2},{"name":"Refunds","visible_in_sidebar":true,"page_title":"UPI Setu - Notifications and alerts - Refunds","path":"refunds","order":4},{"name":"Verify signature","visible_in_sidebar":true,"page_title":"UMAP - Events and notifications","path":"verify-signature","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"UPI Setu - Overview","path":"overview","order":0},{"name":"UPI payments","visible_in_sidebar":true,"page_title":"UPI payments","path":"payments","order":3,"children":[{"name":"Collect","visible_in_sidebar":true,"page_title":"UPI payments - Collect","path":"collect","order":2,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Collect request - Check payment status","path":"check-status","order":3},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create collect request","path":"create-collect-request","order":2},{"name":"Verify customer VPA","visible_in_sidebar":true,"page_title":"UPI Setu payments - Verify customer VPA","path":"verify-customer-vpa-api","order":1}]},{"name":"Flash","visible_in_sidebar":true,"page_title":"UPI payments - Flash","path":"flash","order":1,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu payments - Intent/QR - Check payment status","path":"check-status","order":2},{"name":"Dynamic QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Dynamic QR","path":"create-dqr","order":1},{"name":"Static QR","visible_in_sidebar":true,"page_title":"UPI Setu payments - Create Static QR","path":"create-sqr","order":1}]},{"name":"TPV","visible_in_sidebar":true,"page_title":"UPI payments - TPV","path":"tpv","order":3,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - TPV - Check payment status","path":"check-status","order":2},{"name":"Create","visible_in_sidebar":true,"page_title":"UPI Setu - Payments - Create TPV API","path":"create-tpv","order":1},{"name":"Payments","visible_in_sidebar":true,"page_title":"UMAP - Notifications and alerts - Payments","path":"life-cycle","order":1}]}]},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart","path":"quickstart","order":1,"children":[{"name":"Aggregators","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for aggregators","path":"aggregators","order":1},{"name":"Merchants","visible_in_sidebar":true,"page_title":"UPI Setu - Quickstart for merchants","path":"merchants","order":2}]},{"name":"Refunds and disputes","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes","path":"refunds-disputes","order":6,"children":[{"name":"Check refund status","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Check refund status API","path":"check-refund-status-api","order":2},{"name":"Create refund","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Create refund API","path":"create-refund-api","order":1},{"name":"Fetch dispute","visible_in_sidebar":true,"page_title":"UPI Setu - Refunds and disputes - Fetch dispute API","path":"fetch-dispute-api","order":3}]},{"name":"Transaction Monitoring","visible_in_sidebar":false,"page_title":"UPI Setu - Transaction Monitoring","path":"transaction-monitoring","order":5,"children":[{"name":"Check status","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status API","path":"check-status-api","order":1},{"name":"Check status history","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Check status sistory API","path":"check-status-history-api","order":2},{"name":"Fetch payment","visible_in_sidebar":true,"page_title":"UPI Setu - Transaction monitoring - Fetch payment API","path":"fetch-payment-api","order":3}]}]}]},{"name":"Data","path":"data","order":1,"visible_in_sidebar":true,"children":[{"name":"KYC","path":"kyc","order":0,"visible_in_sidebar":true,"children":[{"name":"Secure Data Add-On","visible_in_sidebar":true,"page_title":"Setu Encrypted APIs","path":"encryption","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu KYC Overview","path":"overview","order":1}]},{"name":"PAN verification","path":"pan","order":0,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"PAN verification API reference","path":"api-reference","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":0}]},{"name":"Aadhaar eSign","path":"esign","order":2,"visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Aadhaar eSign API reference","path":"api-reference","order":9},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Aadhaar eSign error codes","path":"error-codes","order":8},{"name":"eStamp overview","visible_in_sidebar":true,"page_title":"eStamp overview","path":"estamp","order":2},{"name":"Flexible eSign guide","visible_in_sidebar":true,"page_title":"Integration guide with flexible signature coordinates","path":"flexi-esign","order":4},{"name":"eSign Name Match","visible_in_sidebar":true,"page_title":"Aadhaar eSign Name Match","path":"name-match","order":6},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Aadhaar eSign Notifications","path":"notifications","order":7},{"name":"Overview","visible_in_sidebar":true,"page_title":"Aadhaar eSign overview","path":"overview","order":1},{"name":"PDF templates","visible_in_sidebar":true,"page_title":"Integration guide with pdf templating API's","path":"pdf-templating","order":5},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Aadhaar eSign integration guide","path":"quickstart","order":3}]},{"name":"DigiLocker","path":"digilocker","order":3,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Digilocker API reference","path":"api-reference","order":3},{"name":"Error codes","visible_in_sidebar":true,"page_title":"DigiLocker error codes","path":"error-codes","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"Digilocker overview","path":"overview","order":0},{"name":"Pull Driving Licence","visible_in_sidebar":true,"page_title":"Digilocker Quickstart","path":"pulldrivinglicense","order":2},{"name":"Integration guide","visible_in_sidebar":true,"page_title":"Digilocker quickstart","path":"quickstart","order":1}]},{"name":"AA Gateway","path":"account-aggregator","order":4,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Account Availability","visible_in_sidebar":true,"page_title":"Account Aggregator Account Availability","path":"account-availability-apis","order":5},{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Multi AA gateway","visible_in_sidebar":true,"page_title":"Account Aggregator multi-AA gateway","path":"multi-aa-gateway","order":2},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"path":"v1","children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Account Aggregator API integration","path":"api-integration","order":3,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-apis","order":2},{"name":"Active FIPs","visible_in_sidebar":true,"page_title":"Account Aggregator Active FIPs","path":"fip-apis","order":4},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"Account Aggregator API reference","path":"api-reference","order":10},{"name":"Consent object","visible_in_sidebar":true,"page_title":"Account Aggregator Consent object","path":"consent-object","order":4},{"name":"Embed Setu screens","visible_in_sidebar":true,"page_title":"Account Aggregator Embed Setu screens","path":"embed-setu-aa","order":7},{"name":"End-to-end encryption","visible_in_sidebar":false,"page_title":"Account Aggregator End-to-end encryption","path":"encryption","order":1},{"name":"FI data types","visible_in_sidebar":true,"page_title":"Account Aggregator FI data types","path":"fi-data-types","order":5},{"name":"Get started","visible_in_sidebar":false,"page_title":"Account Aggregator getting started","path":"get-started","order":0},{"name":"Licenses and go live","visible_in_sidebar":true,"page_title":"Account Aggregator license and go live process","path":"licenses-and-go-live","order":8,"children":[{"name":"Go live","visible_in_sidebar":true,"page_title":"FIU go live process","path":"go-live","order":2},{"name":"Licenses","visible_in_sidebar":true,"page_title":"Licenses required to participate in AA","path":"licenses","order":1},{"name":"Participants in AA","visible_in_sidebar":true,"page_title":"Participants in AA","path":"participants-in-aa","order":0}]},{"name":"Migration guide","visible_in_sidebar":true,"page_title":"Account Aggregator Migration Guide","path":"migration-guide","order":6,"children":[{"name":"Consent flow","visible_in_sidebar":true,"page_title":"Account Aggregator Consent flow","path":"consent-flow","order":1},{"name":"Data flow","visible_in_sidebar":true,"page_title":"Account Aggregator Data flow","path":"data-flow","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Account Aggregator Notifications","path":"notifications","order":3}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Account Aggregator overview","path":"overview","order":0},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Account Aggregator Postman integration","path":"postman","order":2},{"name":"Quickstart","visible_in_sidebar":false,"page_title":"Account Aggregator quickstart","path":"quickstart-v1","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Account Aggregator quickstart","path":"quickstart","order":1},{"name":"Request signing","visible_in_sidebar":false,"page_title":"Account Aggregator Request signing","path":"request-signing","order":1}]}]},{"name":"Bank account verification","path":"bav","order":5,"visible_in_sidebar":false,"children":[{"name":"Bundled BAV","visible_in_sidebar":true,"page_title":"Bundled Bank Account Verification","path":"bundled-bav","order":2,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Bundled BAV API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"Bundled BAV API reference","path":"api-reference","order":3},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for Bundled BAV","path":"quickstart","order":1}]},{"name":"Penny drop","visible_in_sidebar":true,"page_title":"BAV using penny drop","path":"penny-drop","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"BAV API integration","path":"api-integration","order":1,"children":[{"name":"Async API","visible_in_sidebar":true,"page_title":"BAV Async API integration","path":"async","order":2},{"path":"bav-codes"},{"name":"Sync API","visible_in_sidebar":true,"page_title":"BAV Sync API integration","path":"sync","order":1}]},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV API reference","path":"api-reference","order":3},{"name":"Notifications","visible_in_sidebar":true,"page_title":"BAV Async Penny drop Notifications","path":"notifications","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"BAV quickstart","path":"quickstart","order":0}]},{"name":"Reverse Penny drop","visible_in_sidebar":true,"page_title":"BAV using reverse penny drop","path":"reverse-penny-drop","order":3,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"RPD API integration","path":"api-integration","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"BAV RPD API reference","path":"api-reference","order":4},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Quickstart for reverse penny drop","path":"quickstart","order":1},{"name":"Webhook Auth","visible_in_sidebar":true,"page_title":"Webhook Authentication","path":"webhook-authentication","order":3}]}]},{"name":"Insights","path":"insights","order":5,"versions":["v1","v2","v3"],"default_version":"v3","visible_in_sidebar":true,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"Error codes","visible_in_sidebar":true,"page_title":"Setu Insights error codes","path":"error-code","order":5},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]},{"path":"v1","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1,"children":[{"name":"API integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"api-integration","order":1},{"name":"Postman integration","visible_in_sidebar":true,"page_title":"Setu Insights Postman integration","path":"postman","order":0}]}]},{"path":"v2","children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Setu Insights API reference","path":"api-reference","order":4},{"name":"List of insights","visible_in_sidebar":true,"page_title":"All Setu insights","path":"insights","order":2},{"name":"Notifications","visible_in_sidebar":true,"page_title":"Setu Insights notifications","path":"notifications","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Setu Insights overview","path":"overview","order":0},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Setu Insights quickstart","path":"quickstart","order":1}]}]},{"name":"Signal IQ","path":"signal-iq","order":6,"visible_in_sidebar":true,"children":[{"name":"AA Flow","visible_in_sidebar":true,"page_title":"Signal IQ - AA Flow","path":"aa-flow","order":1},{"name":"Bring Your Own FI Data","visible_in_sidebar":true,"page_title":"Signal IQ - Bring Your Own FI Data","path":"bring-your-own-fi-data","order":4},{"name":"Overview","visible_in_sidebar":true,"page_title":"Signal IQ overview","path":"overview","order":0},{"name":"PDF Flow","visible_in_sidebar":true,"page_title":"Signal IQ - PDF Flow","path":"pdf-flow","order":2},{"name":"API reference","visible_in_sidebar":true,"page_title":"Signal IQ - API reference","path":"api-reference","order":5},{"path":"apis","children":[{"name":"PDF APIs","visible_in_sidebar":false,"page_title":"Signal IQ - PDF APIs","path":"upload-statement","order":1,"children":[{"name":"PDF APIs","visible_in_sidebar":false,"page_title":"Signal IQ - PDF APIs","path":"api-reference","order":1}]},{"name":"Reports","visible_in_sidebar":false,"page_title":"Signal IQ - Reports API reference","path":"reports","order":2,"children":[{"name":"Reports","visible_in_sidebar":false,"page_title":"Signal IQ - Reports API reference","path":"api-reference","order":1}]}]}]},{"name":"ULI","path":"uli","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"GST verification","path":"gst","order":6,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"GSTIN verification API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"GST Verification quickstart","path":"quickstart","order":1}]},{"name":"Match APIs","path":"match-apis","order":7,"visible_in_sidebar":false,"children":[{"name":"Name match","visible_in_sidebar":true,"page_title":"Name match APIs","path":"name-match","order":1,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"Name Match API reference","path":"api-reference","order":4},{"name":"Examples","visible_in_sidebar":true,"page_title":"Name Match API response examples","path":"examples","order":3},{"name":"Overview","visible_in_sidebar":true,"page_title":"Name Match API overview","path":"overview","order":1},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"Name Match API quickstart","path":"quickstart","order":2}]}]},{"name":"eKYC","path":"ekyc","order":8,"visible_in_sidebar":false,"children":[{"name":"API reference","visible_in_sidebar":true,"page_title":"eKYC API reference","path":"api-reference","order":2},{"name":"Quickstart","visible_in_sidebar":true,"page_title":"PAN verification quickstart","path":"quickstart","order":1}]}]},{"name":"Dev tools","path":"dev-tools","order":2,"visible_in_sidebar":true,"children":[{"name":"The Bridge","path":"bridge","order":0,"versions":["v1","v2"],"default_version":"v2","visible_in_sidebar":true,"children":[{"name":"Analytics and reports","visible_in_sidebar":true,"page_title":"Bridge analytics and reports","path":"analytics-and-reports","order":3},{"name":"Configure products","visible_in_sidebar":true,"page_title":"Bridge explore and configure products","path":"explore-and-configure-products","order":2},{"name":"Glossary","visible_in_sidebar":true,"page_title":"Bridge glossary","path":"glossary","order":1},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Settings","visible_in_sidebar":true,"page_title":"Bridge settings","path":"settings","order":4},{"name":"User profile","visible_in_sidebar":true,"page_title":"Bridge user profile","path":"user-profile","order":5},{"path":"v1","children":[{"name":"Bridge configuration","visible_in_sidebar":false,"page_title":"Bridge configuration","path":"configure","order":6},{"name":"Generate Token","visible_in_sidebar":false,"page_title":"Bridge generate token","path":"generate-token","order":4},{"name":"Org settings","visible_in_sidebar":true,"page_title":"Bridge org settings","path":"org-settings","order":3,"children":[{"name":"API keys","visible_in_sidebar":true,"page_title":"API keys","path":"api-keys","order":2,"children":[{"name":"JWT Auth","visible_in_sidebar":false,"page_title":"JWT Auth","path":"jwt-auth","order":3},{"name":"JWT","visible_in_sidebar":true,"page_title":"JWT","path":"jwt","order":1},{"name":"OAuth","visible_in_sidebar":true,"page_title":"OAuth","path":"oauth","order":2}]},{"name":"People","visible_in_sidebar":true,"page_title":"People","path":"people","order":1}]},{"name":"Overview","visible_in_sidebar":true,"page_title":"Bridge overview","path":"overview","order":0},{"name":"Reports","visible_in_sidebar":true,"page_title":"Bridge reports","path":"reports","order":1,"children":[{"name":"Types","visible_in_sidebar":false,"page_title":"Report types","path":"types","order":1}]},{"name":"Reports API","visible_in_sidebar":false,"page_title":"Reports API","path":"reports-api","order":5}]}]}]},{"name":"Sample Category","path":"sample-category","order":3,"visible_in_sidebar":false,"children":[{"name":"Sample Product","path":"sample-product","order":0,"visible_in_sidebar":false,"children":[{"name":"Sample Page","visible_in_sidebar":false,"page_title":"Docs sample page","path":"sample-page","order":0}]}]}]} diff --git a/content/redirects.json b/content/redirects.json index 6d1f2318..ad5b76c6 100644 --- a/content/redirects.json +++ b/content/redirects.json @@ -128,5 +128,31 @@ "/sample-category/sample-product": "/sample-category/sample-product/sample-page", "/docs-components": "/sample-category/sample-product/sample-page", "/setu-bot": "/", - "/payments/billpay/mcp": "/payments/billpay/mcp/integration-guide" + "/payments/billpay/mcp": "/payments/billpay/mcp/integration-guide", + "/data/signal-iq": "/data/signal-iq/overview", + "/data/signal-iq/siq-api": "/data/signal-iq/apis", + "/data/signal-iq/siq-api/api-reference": "/data/signal-iq/apis", + "/data/signal-iq/api-reference": "/data/signal-iq/apis", + "/data/signal-iq/api-reference/json": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/api-reference/excel": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/api-reference/xml": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/output-apis": "/data/signal-iq/apis", + "/data/signal-iq/output-apis/json": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/output-apis/excel": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/output-apis/xml": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/output-apis/json/api-reference": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/output-apis/excel/api-reference": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/output-apis/xml/api-reference": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/outputs": "/data/signal-iq/apis", + "/data/signal-iq/outputs/api-reference": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/upload-statement": "/data/signal-iq/apis/upload-statement/api-reference", + "/data/signal-iq/upload-statement/api-reference": "/data/signal-iq/apis/upload-statement/api-reference", + "/data/signal-iq/report-apis/upload-statement": "/data/signal-iq/apis/upload-statement/api-reference", + "/data/signal-iq/report-apis/api-reference": "/data/signal-iq/apis", + "/data/signal-iq/report-apis/reports": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/report-apis": "/data/signal-iq/apis", + "/data/signal-iq/report-apis/reports/api-reference": "/data/signal-iq/apis/reports/api-reference", + "/data/signal-iq/report-apis/upload-statement/api-reference": "/data/signal-iq/apis/upload-statement/api-reference", + "/data/signal-iq/apis/api-reference": "/data/signal-iq/apis", + "/data/signal-iq/apis": "/data/signal-iq/api-reference" }