REST API GUIDE
BFF SERVICE
Version: 1.0.3
BFF service is a microservice that acts as a bridge between the client and the backend services. It provides a unified API for the client to interact with multiple backend services, simplifying the communication process and improving performance.
Architectural Design Credit and Contact Information
The architectural design of this microservice is credited to.
For inquiries, feedback, or further information regarding the
architecture, please direct your communication to:
Email:
We encourage open communication and welcome any questions or discussions related to the architectural aspects of this microservice.
Documentation Scope
Welcome to the official documentation for the BFF Service’s REST API. This document is designed to provide a comprehensive guide to interfacing with our BFF Service exclusively through RESTful API endpoints.
Intended Audience
This documentation is intended for developers and integrators who are looking to interact with the BFF Service via HTTP requests for purposes such as listing, filtering, and searching data.
Overview
Within these pages, you will find detailed information on how to effectively utilize the REST API, including authentication methods, request and response formats, endpoint descriptions, and examples of common use cases.
Beyond REST
It’s important to note that the BFF Service also supports alternative
methods of interaction, such as gRPC and messaging via a Message
Broker. These communication methods are beyond the scope of this
document. For information regarding these protocols, please refer to
their respective documentation.
Resources
Elastic Index Resource
Resource Definition: A virtual resource representing dynamic search data from a specified index.
Route: List Records
Route Definition: Returns a paginated list from the elastic
index. Route Type: list
Default access route: POST
/:indexName/list
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| page | Number | No | query.page |
| limit | Number | No | query.limit |
| sortBy | String | No | query.sortBy |
| sortOrder | String | No | query.sortOrder |
| q | String | No | query.q |
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/${indexName}/list`,
data: {
filters: "Object"
},
params: {
page: "Number",
limit: "Number",
sortBy: "String",
sortOrder: "String",
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a "status": "OK" property.
---
Default access route: GET
/:indexName/list
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| page | Number | No | query.page |
| limit | Number | No | query.limit |
| sortBy | String | No | query.sortBy |
| sortOrder | String | No | query.sortOrder |
| q | String | No | query.q |
axios({
method: "GET",
url: `/${indexName}/list`,
data:{},
params: {
page: "Number",
limit: "Number",
sortBy: "String",
sortOrder: "String",
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Count Records
Route Definition: Counts matching documents in the elastic
index. Route Type: count
Default access route: POST
/:indexName/count
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| q | String | No | query.q |
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/${indexName}/count`,
data: {
filters: "Object"
},
params: {
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Default access route: GET
/:indexName/count
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| q | String | No | query.q |
axios({
method: "GET",
url: `/${indexName}/count`,
data:{},
params: {
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Index Schema
Route Definition: Returns the schema for the elastic index.
Route Type: get
Default access route: GET
/:indexName/schema
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
axios({
method: "GET",
url: `/${indexName}/schema`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Filters
GET /:indexName/filters
Route Type: get
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| page | Number | No | query.page |
| limit | Number | No | query.limit |
axios({
method: "GET",
url: `/${indexName}/filters`,
data:{},
params: {
page: "Number",
limit: "Number"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
POST /:indexName/filters
Route Type: create
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/${indexName}/filters`,
data: {
filterName: "String",
conditions: "Object"
},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
DELETE /:indexName/filters/:filterId
Route Type: delete
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| filterId | String | Yes | path.param |
axios({
method: "DELETE",
url: `/${indexName}/filters/${filterId}`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get One Record
Route Type: get
Default access route: GET
/:indexName/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| indexName | String | Yes | path.param |
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/${indexName}/${id}`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /AccountBannedNotificationView
Example:
axios({
method: "GET",
url: `/AccountBannedNotificationView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /AccountBannedNotificationView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/AccountBannedNotificationView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /ConversationThreadView
Example:
axios({
method: "GET",
url: `/ConversationThreadView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /ConversationThreadView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/ConversationThreadView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /FavoritesView
Example:
axios({
method: "GET",
url: `/FavoritesView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /FavoritesView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/FavoritesView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /ListingDetailView
Example:
axios({
method: "GET",
url: `/ListingDetailView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /ListingDetailView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/ListingDetailView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /ListingStatusNotificationView
Example:
axios({
method: "GET",
url: `/ListingStatusNotificationView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /ListingStatusNotificationView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/ListingStatusNotificationView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /MessageReceivedNotificationView
Example:
axios({
method: "GET",
url: `/MessageReceivedNotificationView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /MessageReceivedNotificationView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/MessageReceivedNotificationView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /PremiumPaymentSuccessNotificationView
Example:
axios({
method: "GET",
url: `/PremiumPaymentSuccessNotificationView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /PremiumPaymentSuccessNotificationView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/PremiumPaymentSuccessNotificationView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get All Aggregated Records
Route Definition: Retrieves a full list of aggregated view
data. Route Type: list Default access route:
GET /UserProfileView
Example:
axios({
method: "GET",
url: `/UserProfileView`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Single Aggregated Record
Route Definition: Retrieves a specific aggregated document by
ID. Route Type: get Default access route:
GET /UserProfileView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/UserProfileView/${id}`,
data: {},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: List Records
Route Definition: Returns a paginated list from the elastic
index. Route Type: list
Default access route: POST
/AdminDashboardView/list
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| page | Number | No | query.page |
| limit | Number | No | query.limit |
| sortBy | String | No | query.sortBy |
| sortOrder | String | No | query.sortOrder |
| q | String | No | query.q |
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/AdminDashboardView/list`,
data: {
filters: "Object"
},
params: {
page: "Number",
limit: "Number",
sortBy: "String",
sortOrder: "String",
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Default access route: GET
/AdminDashboardView/list
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| page | Number | No | query.page |
| limit | Number | No | query.limit |
| sortBy | String | No | query.sortBy |
| sortOrder | String | No | query.sortOrder |
| q | String | No | query.q |
axios({
method: "GET",
url: `/AdminDashboardView/list`,
data:{},
params: {
page: "Number",
limit: "Number",
sortBy: "String",
sortOrder: "String",
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Count Records
Route Definition: Counts matching documents in the elastic
index. Route Type: count
Default access route: POST
/AdminDashboardView/count
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| q | String | No | query.q |
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/AdminDashboardView/count`,
data: {
filters: "Object"
},
params: {
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Default access route: GET
/AdminDashboardView/count
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| q | String | No | query.q |
axios({
method: "GET",
url: `/AdminDashboardView/count`,
data:{},
params: {
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Index Schema
Route Definition: Returns the schema for the elastic index.
Route Type: get Default access route: GET
/AdminDashboardView/schema
axios({
method: "GET",
url: `/AdminDashboardView/schema`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Filters
GET /AdminDashboardView/filters
Route Type: get
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| page | Number | No | query.page |
| limit | Number | No | query.limit |
axios({
method: "GET",
url: `/AdminDashboardView/filters`,
data:{},
params: {
page: "Number",
limit: "Number"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
POST /AdminDashboardView/filters
Route Type: create
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/AdminDashboardView/filters`,
data: {
"filters":"Object"
},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
DELETE /AdminDashboardView/filters/:filterId
Route Type: delete
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| filterId | ID | Yes | path.param |
axios({
method: "DELETE",
url: `/AdminDashboardView/filters/${filterId}`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get One Record
Route Type: get Default access route: GET
/AdminDashboardView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/AdminDashboardView/${id}`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: List Records
Route Definition: Returns a paginated list from the elastic
index. Route Type: list
Default access route: POST
/ListingListView/list
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| page | Number | No | query.page |
| limit | Number | No | query.limit |
| sortBy | String | No | query.sortBy |
| sortOrder | String | No | query.sortOrder |
| q | String | No | query.q |
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/ListingListView/list`,
data: {
filters: "Object"
},
params: {
page: "Number",
limit: "Number",
sortBy: "String",
sortOrder: "String",
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Default access route: GET
/ListingListView/list
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| page | Number | No | query.page |
| limit | Number | No | query.limit |
| sortBy | String | No | query.sortBy |
| sortOrder | String | No | query.sortOrder |
| q | String | No | query.q |
axios({
method: "GET",
url: `/ListingListView/list`,
data:{},
params: {
page: "Number",
limit: "Number",
sortBy: "String",
sortOrder: "String",
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Count Records
Route Definition: Counts matching documents in the elastic
index. Route Type: count
Default access route: POST
/ListingListView/count
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| q | String | No | query.q |
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/ListingListView/count`,
data: {
filters: "Object"
},
params: {
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Default access route: GET
/ListingListView/count
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| q | String | No | query.q |
axios({
method: "GET",
url: `/ListingListView/count`,
data:{},
params: {
q: "String"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get Index Schema
Route Definition: Returns the schema for the elastic index.
Route Type: get Default access route: GET
/ListingListView/schema
axios({
method: "GET",
url: `/ListingListView/schema`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Filters
GET /ListingListView/filters
Route Type: get
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| page | Number | No | query.page |
| limit | Number | No | query.limit |
axios({
method: "GET",
url: `/ListingListView/filters`,
data:{},
params: {
page: "Number",
limit: "Number"
}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
POST /ListingListView/filters
Route Type: create
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| filters | Object | Yes | body |
axios({
method: "POST",
url: `/ListingListView/filters`,
data: {
"filters":"Object"
},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
DELETE /ListingListView/filters/:filterId
Route Type: delete
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| filterId | ID | Yes | path.param |
axios({
method: "DELETE",
url: `/ListingListView/filters/${filterId}`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.
Route: Get One Record
Route Type: get Default access route: GET
/ListingListView/:id
Parameters
| Parameter | Type | Required | Population |
|---|---|---|---|
| id | ID | Yes | path.param |
axios({
method: "GET",
url: `/ListingListView/${id}`,
data:{},
params: {}
});
The API response is encapsulated within a JSON envelope. Successful operations return an HTTP status code of 200 for get, list, update, or delete requests, and 201 for create requests. Each successful response includes a “status”: “OK” property.