Auto generated schemaless QUERY FOR GET API
[Mongo Database Only]
Table structure
customer_id | first_name | last_name | last_update | pincode | isActive |
---|---|---|---|---|---|
1 | Bob | lin | 2022-11-14 04: 34: 58 | 382345 | 1 |
2 | Alice | Page | 2022-10-15 02: 10: 40 | 382346 | 1 |
3 | Mallory | Brown | 2022-09-13 03: 44: 05 | 382347 | 1 |
4 | Eve | Mathly | 2022-11-12 01: 59: 33 | 382348 | 1 |
5 | Eve | Page | 2022-11-12 01: 59: 33 | 382349 | 1 |
Request Method: POST
Note: While using the generated schemaless APIs you have to provide the respective type data. E.x. If the age=22
value in database and in query we provide age: "22"
it will not get that value. It will perform query based on string.
Simple query
URL
find, skip, limit, sort, select, deep query
URL
Request Payload:{
"find": {
"owner_id": {
"$in": [
1,
2,
3
]
}
},
"skip": 1,
"limit": 4,
"sort": "price",
"select": "name, owner_id, id, price",
"deep": [
{
"s_key": "owner_id",
"t_col": "customers",
"t_key": "customer_id",
"select": "customer_id,first_name"
}
]
}
Provide deep information in schema
URL
Request Payload:provide deep information in schema with flat structure
URL
Request Payload:Circular dependency, flat structure
URL
Request Payload:{
"select": "owner_id",
"deep": [
{
"s_key": "owner_id",
"t_col": "customers",
"t_key": "customer_id",
"select": "customer_id"
},
{
"s_key": "owner_id.customer_id",
"t_col": "products",
"t_key": "owner_id",
"select": "owner_id"
},
{
"s_key": "owner_id.customer_id.owner_id",
"t_col": "customers",
"t_key": "customer_id",
"select": "customer_id"
},
{
"s_key": "owner_id.customer_id.owner_id.customer_id",
"t_col": "products",
"t_key": "owner_id",
"select": "owner_id"
}
]
}
Circular dependency
URL
Request Payload:{
"deep": [
{
"s_key": "owner_id",
"t_col": "customers",
"t_key": "customer_id",
"deep": [
{
"s_key": "customer_id",
"t_col": "products",
"t_key": "owner_id",
"select": "owner_id",
"deep": [
{
"s_key": "owner_id",
"t_col": "customers",
"t_key": "customer_id",
"select": "customer_id"
}
]
}
]
}
]
}
Deep inheritance
URL
Request Payload:{
"deep": [
{
"s_key": "price",
"t_col": "orders",
"t_key": "total",
"select": "pincode",
"deep": [
{
"s_key": "shipping_id",
"t_col": "customers",
"t_key": "shipping_id",
"select": "phone"
},
{
"s_key": "shipping_id.pincode",
"t_col": "orders",
"t_key": "pincode"
}
]
}
]
}
$lt operation
URL
Request Payload:$gt operation
URL
Request Payload:$lte operation
URL
Request Payload:$gte operation
URL
Request Payload:$eq operation
URL
Request Payload:$ne operation
URL
Request Payload:$not operator
URL
Request Payload:$and operation
URL
Request Payload:$or operation
URL
Request Payload:$nin operation
URL
Request Payload:$in operation
URL
Request Payload:$in operation with empty array
URL
Request Payload:$like operation in Custom api
URL
Request Payload:MongoDB $and operator in nested find
URL
Request Payload:MongoDB $or operator in nested find
URL
Request Payload:MongoDB $in operator in nested find
URL
Request Payload:MongoDB $nin operator in nested find
URL
Request Payload:MongoDB $eq operator in nested find
URL
Request Payload:MongoDB $ne operator in nested find
Request Payload:MongoDB $gt operator in nested find
URL
Request Payload:MongoDB $gte operator in nested find
URL
Request Payload:MongoDB $lt operator in nested find
URL
Request Payload:MongoDB $lte operator in nested find
URL
Request Payload:MongoDB Two level deep
URL
Request Payload:{
"find": {},
"deep": [
{
"s_key": "customer_id",
"t_col": "products",
"t_key": "owner_id",
"deep": [
{
"s_key": "owner_id",
"t_col": "orders",
"t_key": "customer_id"
}
]
}
]
}
MongoDB Three level deep
URL
Request Payload:{
"find": {},
"deep": [
{
"s_key": "customer_id",
"t_col": "products",
"t_key": "owner_id",
"deep": [
{
"s_key": "owner_id",
"t_col": "orders",
"t_key": "customer_id",
"deep": [
{
"s_key": "total",
"t_col": "products",
"t_key": "price",
"select": "price"
}
]
}
]
}
]
}
MongoDB Give string value in number field
- It will not return any value. While using the Generated schemaless APIs you have to provide the respective type of keys to find that data.
- If you provide
"customer_id: 7
than it will return that value.
URL
Request Payload:$regex support In Custom api
URL
Request Payload:$like support In Custom api
URL
Request Payload:Deep populate from two tables at a time.
URL
Request Payload:{
"select": "",
"deep": [
{
"s_key": "customer_id",
"t_key": "customer_id",
"t_col": "customers",
"isMultiple": true,
"select": "first_name, customer_id",
"find": {
"first_name": {
"$in": ["Bob"]
}
}
},
{
"s_key": "customer_id",
"t_key": "id",
"t_col": "products",
"isMultiple": true,
"select": "name,id"
}
]
}
Supported headers
Header | Description |
---|---|
x-am-response-case | It will change the response keys text as requested case. noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase |
x-am-response-object-type | To get flat response we use this request header. no_action | make_flat |
x-am-meta | To get the meta-data of requested API. false | true |
x-am-secret | Place secret id from API Maker. |
x-am-internationalization |
We can get backend error messages in any user language and directly show them to the user in UI, so the user can take appropriate actions.
Provide saved internationalization name in request header. |
x-am-run-in-sandbox | System will try to run requests in maximum provided sandbox, so if 1 provided every request will run in one sandbox, even if we have multiple sandbox with multiple API Maker instances. |
x-am-content-type-response | We can provide response type in request header. As provided header value we can expect the response type. application/json | text/xml | text/yaml |
x-am-cache-control | To reset the cache of the requested API manually and get fresh data, we can use 'x-am-cache-control' request header. no_action | reset_cache |
x-am-get-encrypted-data | Encrypt response data and get in to the response. no_encryption | get_only_encryption | get_data_and_encryption |
x-am-authorization | Provide token of API user in "x-am-authorization" header which will be generated from API Users inside API Maker. |
x-am-user-authorization | User token should be provided in 'x-am-user-authorization' header which will be generated based on some database user if required. |
x-aws-authorization | Provide AWS Cognito token in request header 'x-aws-authorization', if required. |
x-google-authorization | Provide Google user token in request header 'x-google-authorization', if required. |
x-azure-authorization | Provide Azure active directory token in request header 'x-azure-authorization', if required. |
x-no-compression | If user do not send 'x-no-compression' in request header, and response characters are more than value of "maxCharsResToCache" than the response will be compressed. |
x-am-sandbox-timeout | If any API did not give a response within given time, the sandbox will break and give a proper error message in the response. |
x-am-encrypted-payload | When user sent encrypted payload, user must have to sent "x-am-encrypted-payload:true". |