{ "openapi": "3.0.3", "info": { "title": "Swagger OfficeCore - OpenAPI 3.0", "description": "This is a Simbrella FirstAdvance BackOffice Server with the OpenAPI 3.0 specification. \n\n\nSome useful links:\n- [Web Simulated Demo Page](https://digifi-salaryloan.chiefsoft.net/)\n- [Web Management Support Portal](https://digifi-office.chiefsoft.net/auth/login)", "termsOfService": "http://swagger.io/terms/", "contact": { "email": "support@chiefsoft.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "1.0.11" }, "servers": [ { "url": "http://localhost:4700" } ], "tags": [ { "name": "Authorize", "description": "This feature will be used for authorizing customers.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "AuthorizeRefresh", "description": "This feature will be used for refreshing authorized customers.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "EligibilityCheck", "description": "Eligibility Check Request", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "SelectOffer", "description": "This method is used the send the offer the customer selected to Simbrella.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "ProvideLoan", "description": "Provide Loan Request.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "LoanStatus", "description": "Loan Information Request.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "Repayment", "description": "Repayment Request.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "Loans", "description": "Get all loans with optional filtering.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } }, { "name": "Transactions", "description": "Get all transactions with optional filtering.", "externalDocs": { "description": "Find out more", "url": "https://www.simbrellang.net" } } ], "paths": { "/Authorize": { "post": { "tags": [ "Authorize" ], "summary": "Authorize a user", "description": "Authorize a user with credentials", "operationId": "authorize", "requestBody": { "description": "User credentials", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthorizeRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthorizeResponse" } } } }, "400": { "description": "Invalid request" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal server error" } } } }, "/AuthorizeRefresh": { "post": { "tags": [ "AuthorizeRefresh" ], "summary": "Refresh authorization token", "description": "Refresh an expired authorization token", "operationId": "authorizeRefresh", "requestBody": { "description": "Refresh token", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthorizeRefreshRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthorizeRefreshResponse" } } } }, "400": { "description": "Invalid request" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal server error" } } } }, "/loans": { "get": { "tags": [ "Loans" ], "summary": "Get all loans with optional filtering", "description": "Retrieve loans with various filter options including customer ID, account ID, status, etc.", "operationId": "getLoans", "parameters": [ { "name": "customer_id", "in": "query", "description": "Filter by customer ID", "required": false, "schema": { "type": "string" }, "example": "CUST123" }, { "name": "account_id", "in": "query", "description": "Filter by account ID", "required": false, "schema": { "type": "string" }, "example": "ACC456" }, { "name": "status", "in": "query", "description": "Filter by loan status", "required": false, "schema": { "type": "string" }, "example": "active" }, { "name": "offer_id", "in": "query", "description": "Filter by offer ID", "required": false, "schema": { "type": "string" }, "example": "OFFER789" }, { "name": "product_id", "in": "query", "description": "Filter by product ID", "required": false, "schema": { "type": "string" }, "example": "PROD101" }, { "name": "start_date", "in": "query", "description": "Filter by start date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-01-01T00:00:00Z" }, { "name": "end_date", "in": "query", "description": "Filter by end date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-12-31T23:59:59Z" }, { "name": "due_before", "in": "query", "description": "Filter loans due before this date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-12-31T23:59:59Z" }, { "name": "due_after", "in": "query", "description": "Filter loans due after this date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-01-01T00:00:00Z" } ], "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoansResponse" } } } }, "400": { "description": "Invalid request" }, "500": { "description": "Internal server error" } } } }, "/transactions": { "get": { "tags": [ "Transactions" ], "summary": "Get all transactions with optional filtering", "description": "Retrieve transactions with various filter options including account ID, type, channel, etc.", "operationId": "getTransactions", "parameters": [ { "name": "account_id", "in": "query", "description": "Filter by account ID", "required": false, "schema": { "type": "string" }, "example": "ACC456" }, { "name": "type", "in": "query", "description": "Filter by transaction type", "required": false, "schema": { "type": "string" }, "example": "PAYMENT" }, { "name": "channel", "in": "query", "description": "Filter by channel", "required": false, "schema": { "type": "string" }, "example": "MOBILE" }, { "name": "start_date", "in": "query", "description": "Filter by start date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-01-01T00:00:00Z" }, { "name": "end_date", "in": "query", "description": "Filter by end date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-12-31T23:59:59Z" } ], "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsResponse" } } } }, "400": { "description": "Invalid request" }, "500": { "description": "Internal server error" } } } } }, "components": { "schemas": { "ApiResponse": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "type": { "type": "string" }, "message": { "type": "string" } } }, "AuthorizeRequest": { "type": "object", "properties": { "username": { "type": "string", "example": "user123" }, "password": { "type": "string", "example": "password123" } }, "required": ["username", "password"] }, "AuthorizeResponse": { "type": "object", "properties": { "access_token": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "refresh_token": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "token_type": { "type": "string", "example": "bearer" }, "expires_in": { "type": "integer", "example": 3600 } } }, "AuthorizeRefreshRequest": { "type": "object", "properties": { "refresh_token": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } }, "required": ["refresh_token"] }, "AuthorizeRefreshResponse": { "type": "object", "properties": { "access_token": { "type": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }, "token_type": { "type": "string", "example": "bearer" }, "expires_in": { "type": "integer", "example": 3600 } } }, "LoansResponse": { "type": "object", "properties": { "loans": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "customer_id": { "type": "string", "example": "CUST123" }, "account_id": { "type": "string", "example": "ACC456" }, "offer_id": { "type": "string", "example": "OFFER789" }, "initial_loan_amount": { "type": "number", "format": "float", "example": 10000.0 }, "current_loan_amount": { "type": "number", "format": "float", "example": 8500.0 }, "status": { "type": "string", "example": "active" }, "product_id": { "type": "string", "example": "PROD101" }, "default_penalty_fee": { "type": "number", "format": "float", "example": 500.0 }, "continuous_fee": { "type": "number", "format": "float", "example": 50.0 }, "due_date": { "type": "string", "format": "date-time", "example": "2023-12-31T23:59:59Z" }, "created_at": { "type": "string", "format": "date-time", "example": "2023-01-15T10:30:00Z" }, "updated_at": { "type": "string", "format": "date-time", "example": "2023-01-20T14:45:00Z" } } } }, "count": { "type": "integer", "example": 1 } }, "xml": { "name": "LoansResponse" } }, "TransactionsResponse": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "transaction_id": { "type": "string", "example": "TRX123456" }, "account_id": { "type": "string", "example": "ACC456" }, "type": { "type": "string", "example": "PAYMENT" }, "channel": { "type": "string", "example": "MOBILE" }, "created_at": { "type": "string", "format": "date-time", "example": "2023-01-15T10:30:00Z" }, "updated_at": { "type": "string", "format": "date-time", "example": "2023-01-15T10:30:00Z" } } } }, "count": { "type": "integer", "example": 1 } }, "xml": { "name": "TransactionsResponse" } } }, "securitySchemes": { "basicAuth": { "type": "http", "scheme": "basic" }, "bearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "security": [ { "basicAuth": [], "bearerAuth": [] } ] }