```C
/**
* Check that it requires the API of 'name'.
- * If 'initialized' is not zero it request the API to be
+ * If 'initialized' is not zero it requests the API to be
* initialized, implying its initialization if needed.
- *
+ *
* Calling this function is only allowed within init.
*
* A single request allows to require multiple apis.
* Get the root directory file descriptor. This file descriptor can
* be used with functions 'openat', 'fstatat', ...
*
- * CAUTION, manipulate this this descriptor with care, in particular, don't close
+ * CAUTION, manipulate this descriptor with care, in particular, don't close
* it.
*
* This can be used to get the path of the root directory using:
const char *locale);
```
+### afb_api_settings
+
+```C
+/**
+ * Settings of the api.
+ *
+ * Get the settings of the API. The settings are recorded
+ * as a JSON object. The returned object should not be modified.
+ * It MUST NOT be released using json_object_put.
+ *
+ * @param api the api whose settings are required
+ *
+ * @returns The setting object.
+ */
+struct json_object *afb_api_settings(
+ struct afb_api_x3 *api);
+```
+
## Calls and job functions
### afb_api_call
```C
/**
- * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding.
+ * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb' in the name of the binding 'api'.
* The result of the call is delivered to the 'callback' function with the 'callback_closure'.
*
* For convenience, the function calls 'json_object_put' for 'args'.
```C
/**
- * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding.
+ * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb' in the name of the binding 'api'.
* 'result' will receive the response.
*
* For convenience, the function calls 'json_object_put' for 'args'.
* @param info the brief description of the new api (can be NULL)
* @param noconcurrency zero or not zero whether the new api is reentrant or not
* @param preinit the pre-initialization function if any (can be NULL)
- * @param closure the closure for the pre-initialization \ref preinit
+ * @param closure the closure for the pre-initialization preinit
*
- * @return 0 in case of success or -1 on failure with errno set
+ * @return the created api in case of success or NULL on error
*
* @see afb_api_delete_api
*/
/**
* @deprecated try to use @ref afb_api_call instead
*
- * * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding.
- * The result of the call is delivered to the 'callback' function with the 'callback_closure'.
+ * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb'
+ * in the name of the binding.
+ * The result of the call is delivered to the 'callback' function
+ * with the 'callback_closure'.
*
* For convenience, the function calls 'json_object_put' for 'args'.
* Thus, in the case where 'args' should remain available after
/**
* @deprecated try to use @ref afb_api_call_sync instead
*
- * Calls the 'verb' of the 'api' with the arguments 'args' and 'verb' in the name of the binding.
+ * Calls the 'verb' of the 'apiname' with the arguments 'args' and 'verb'
+ * in the name of the binding.
* 'result' will receive the response.
*
* For convenience, the function calls 'json_object_put' for 'args'.