Auto generated schemaless REPLACE BY ID 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: PUT
Note: 'replace-by-id' is not supported in SQL databases. Use update-by-id API instead.
Simple replace by id
URL
Request Payload:
{
"customer_id": 1,
"first_name": "Rex",
"last_name": "Nestor",
"last_update": "2021-05-28T06:00:17.089Z",
"pincode": "879654",
"isActive": 0
}
Override the primary key
- Params will be given in following examples.
- Replace data using any field with the help of primarykey
URL
Request Payload:
{
"first_name": "Rex",
"last_name": "Nestor",
"last_update": "2021-05-28T06:00:17.089Z",
"pincode": "879654",
"isActive": 0
}
Select data
- It will replace the data and return only first_name,last_name having first_name equals "Bob"
URL
Request Payload:
{
"first_name": "Rex",
"last_name": "Nestor",
"last_update": "2021-05-28T06:00:17.089Z",
"pincode": "879654",
"isActive": 0
}
Deep data
- It will replace data and return documents/rows from multiple table combination.
URL
/api/gen/user-path/instance/database/table/replace-by-id/60ae24c8c37cd955cc144162?deep=[{s_key:'customer_id,t_col: 'products',t_key:'owner_id'}]
Request Payload:
{
"customer_id": 1,
"first_name": "Estefania",
"last_name": "Jamel",
"last_update": "2022-11-17T02:16:20.145Z",
"pincode": 27314,
"isActive": 1
}
Here, s_key = Source table field t_col = Target table collection/table name t_key = Target table field
Deep & select data
- It will replace data and return documents/rows from multiple table combination with having only first_name.
URL
/api/gen/user-path/instance/database/table/replace-by-id/60ae24c8c37cd955cc144162?select=first_name&deep=[{s_key:'customer_id,t_col: 'products',t_key:'owner_id'}]
Request Payload:
{
"customer_id": 1,
"first_name": "Estefania",
"last_name": "Jamel",
"last_update": "2022-11-17T02:16:20.145Z",
"pincode": 27314,
"isActive": 1
}
upsert : either update or insert
URL
Request Payload:
{
"first_name": "Estefania",
"last_name": "Jamel",
"last_update": "2022-11-17T02:16:20.145Z",
"pincode": 27314,
"isActive": 1
}
Info: upsert working like either [customer_id equals to "60ae24c8c37cd955cc144162" exist then update] or [insert the record with customer_id equals "60ae24c8c37cd955cc144162"]
returnDocument: before/after
- before:- you got previous data in response [without updated].
URL
Request Payload:
{
"first_name": "Estefania",
"last_name": "Jamel",
"last_update": "2022-11-17T02:16:20.145Z",
"pincode": 27314,
"isActive": 1
}
Info: returnDocument affect only on response
- after:- you got current data in response [with updated].
URL
Request Payload:
{
"first_name": "Estefania",
"last_name": "Jamel",
"last_update": "2022-11-17T02:16:20.145Z",
"pincode": 27314,
"isActive": 1
}
Info: you got response you want, if you select
- before: got previous data In response
- after : got current data In response
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". |