You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rc...@apache.org on 2020/02/17 03:08:47 UTC

[james-project] branch master updated (4b524fd -> 96205cb)

This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git.


    from 4b524fd  JAMES-3038 update config smtp documentation
     new ca222ee  JAMES-3068 Fix links and list in manage-webadmin.md
     new 49ac411  JAMES-3068 Highlight parameters in manage-webadmin.md
     new 85791ed  JAMES-3049 WebAdmin doc: renaming "Listing groups" to "Listing mailbox listener groups" in event dead letter section
     new 96205cb  JAMES-3049 Distributed admin procedures: Event Bus

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../server/manage-guice-distributed-james.md       |  59 +++++
 src/site/markdown/server/manage-webadmin.md        | 295 +++++++++++----------
 2 files changed, 218 insertions(+), 136 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 04/04: JAMES-3049 Distributed admin procedures: Event Bus

Posted by rc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 96205cb7e319fe2456d9e71ba37c016ae1a858e8
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Thu Feb 13 16:31:29 2020 +0700

    JAMES-3049 Distributed admin procedures: Event Bus
    
    - Context about event bus, mailbox listeners and event dead letters
    - Diagnostic via logs and metrics
    - Details about how and when to reprocess events in event dead letters
---
 .../server/manage-guice-distributed-james.md       | 59 ++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/src/site/markdown/server/manage-guice-distributed-james.md b/src/site/markdown/server/manage-guice-distributed-james.md
index 57f0698..8996af9 100644
--- a/src/site/markdown/server/manage-guice-distributed-james.md
+++ b/src/site/markdown/server/manage-guice-distributed-james.md
@@ -17,6 +17,7 @@ advanced users.
 
  - [Overall architecture](#overall-architecture)
  - [Basic Monitoring](#basic-monitoring)
+ - [Mailbox Event Bus](#mailbox-event-bus)
  - [Mail Processing](#mail-processing)
 
 ## Overall architecture
@@ -146,3 +147,61 @@ or [delete a single mail of a mail repository](manage-webadmin.html#removing-a-m
 Performance of mail processing can be monitored via the 
 [mailet grafana board](https://github.com/apache/james-project/blob/master/grafana-reporting/MAILET-1490071694187-dashboard.json) 
 and [matcher grafana board](https://github.com/apache/james-project/blob/master/grafana-reporting/MATCHER-1490071813409-dashboard.json).
+
+## Mailbox Event Bus
+
+James relies on an event bus system to enrich mailbox capabilities. Each operation performed on the mailbox will trigger 
+related events, that can be processed asynchronously by potentially any James node on a distributed system.
+
+Many different kind of events can be triggered during a mailbox operation, such as:
+
+ - `MailboxEvent`: event related to an operation regarding a mailbox:
+   - `MailboxDeletion`: a mailbox has been deleted
+   - `MailboxAdded`: a mailbox has been added
+   - `MailboxRenamed`: a mailbox has been renamed
+   - `MailboxACLUpdated`: a mailbox got its rights and permissions updated
+ - `MessageEvent`: event related to an operation regarding a message:
+   - `Added`: messages have been added to a mailbox
+   - `Expunged`: messages have been expunged from a mailbox 
+   - `FlagsUpdated`: messages had their flags updated
+   - `MessageMoveEvent`: messages have been moved from a mailbox to an other
+ - `QuotaUsageUpdatedEvent`: event related to quota update
+
+Mailbox listeners can register themselves on this event bus system to be called when an event is fired,
+allowing to do different kind of extra operations on the system, like:
+
+ - Current quota calculation
+ - Message indexation with ElasticSearch
+ - Mailbox annotations cleanup
+ - Ham/spam reporting to SpamAssassin
+ - ...
+
+It is possible for the administrator of James to define the mailbox listeners he wants to use, by adding them in the
+[listeners.xml](https://github.com/apache/james-project/blob/master/dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/listeners.xml) configuration file.
+It's possible also to add your own custom mailbox listeners. This enables to enhance capabilities of James as a Mail Delivery Agent.
+You can get more information about those [here](config-listeners.html).
+
+Currently, an administrator can monitor listeners failures through `ERROR` log review. 
+Metrics regarding mailbox listeners can be monitored via
+[mailbox_listeners grafana board](https://github.com/apache/james-project/blob/master/grafana-reporting/MailboxListeners-1528958667486-dashboard.json) 
+and [mailbox_listeners_rate grafana board](https://github.com/apache/james-project/blob/master/grafana-reporting/MailboxListeners%20rate-1552903378376.json).
+
+Upon exceptions, a bounded number of retries are performed (with exponential backoff delays). 
+If after those retries the listener is still failing to perform its operation, then the event will be stored in the 
+[Event Dead Letter](manage-webadmin.html#Event_Dead_Letter). 
+This API allows diagnosing issues, as well as redelivering the events. 
+
+To check that you have undelivered events in your system, you can first
+[list mailbox listener groups](manage-webadmin.html#Listing_mailbox_listener_groups).
+You will get a list of groups back, allowing you to check if those contain registered events in each by
+[listing their failed events](manage-webadmin.html#Listing_failed_events).
+
+If you get failed events IDs back, you can as well [check their details](manage-webadmin.html#Getting_event_details).
+
+An easy way to solve this is just to trigger then the
+[redeliver all events](manage-webadmin.html#Redeliver_all_events) task. It will start 
+reprocessing all the failed events registered in event dead letters.
+
+If for some other reason you don't need to redeliver all events, you have more fine-grained operations allowing you to
+[redeliver group events](manage-webadmin.html#Redeliver_group_events) or even just
+[redeliver a single event](manage-webadmin.html#Redeliver_a_single_event).


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 01/04: JAMES-3068 Fix links and list in manage-webadmin.md

Posted by rc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit ca222eed8fe8037af993c14f4a7bad2ecbdcea6c
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Fri Feb 14 15:51:06 2020 +0100

    JAMES-3068 Fix links and list in manage-webadmin.md
---
 src/site/markdown/server/manage-webadmin.md | 54 ++++++++++++++++++-----------
 1 file changed, 34 insertions(+), 20 deletions(-)

diff --git a/src/site/markdown/server/manage-webadmin.md b/src/site/markdown/server/manage-webadmin.md
index ac0965a..707a82a 100644
--- a/src/site/markdown/server/manage-webadmin.md
+++ b/src/site/markdown/server/manage-webadmin.md
@@ -44,8 +44,8 @@ Finally, please note that in case of a malformed URL the 400 bad request respons
  - [Creating address forwards](#Creating_address_forwards)
  - [Creating address group](#Creating_address_group)
  - [Creating regex mapping](#Creating_regex_mapping)
- - [Address Mappings](#Address_mappings)
- - [User mappings](#User_mappings)
+ - [Address Mappings](#Address_Mappings)
+ - [User Mappings](#User_Mappings)
  - [Administrating mail repositories](#Administrating_mail_repositories)
  - [Administrating mail queues](#Administrating_mail_queues)
  - [Administrating DLP Configuration](#Administrating_DLP_Configuration)
@@ -88,11 +88,13 @@ Will return a list of healthChecks execution result, with an aggregated result:
 ```
 
 **status** field can be:
- - **healthy** : Component works normally
- - **degraded** : Component works in degraded mode. Some non-critical services may not be working, or latencies are high, for example. Cause contains explanations.
- - **unhealthy** : The component is currently not working. Cause contains explanations.
+
+ - **healthy**: Component works normally
+ - **degraded**: Component works in degraded mode. Some non-critical services may not be working, or latencies are high, for example. Cause contains explanations.
+ - **unhealthy**: The component is currently not working. Cause contains explanations.
 
 Supported health checks include:
+
  - **Cassandra backend**: Cassandra storage. Included in Cassandra Guice based products.
  - **ElasticSearch Backend**: ElasticSearch storage. Included in Cassandra Guice based products.
  - **Guice application lifecycle**: included in all Guice products.
@@ -411,6 +413,7 @@ Warning: While we have been trying to reduce the inconsistency window to a maxim
 concurrent changes done during the reIndexing might be ignored.
 
 The following actions can be performed:
+
  - [ReIndexing all mails](#ReIndexing_all_mails)
  - [Fixing previously failed ReIndexing](#Fixing_previously_failed_ReIndexing)
 
@@ -561,7 +564,7 @@ Warning: During the re-indexing, the result of search operations might be altere
  - [Deleting a mailbox and its children](#Deleting_a_mailbox_and_its_children)
  - [Testing existence of a mailbox](#Testing_existence_of_a_mailbox)
  - [Listing user mailboxes](#Listing_user_mailboxes)
- - [Deleting_user_mailboxes](#Deleting_user_mailboxes)
+ - [Deleting user mailboxes](#Deleting_user_mailboxes)
  - [ReIndexing a user mails](#ReIndexing_a_user_mails)
  - [Recomputing User JMAP fast message view projection](#Recomputing_User_JMAP_fast_message_view_projection)
 
@@ -1354,8 +1357,8 @@ These schema updates can be triggered by webadmin using the Cassandra backend.
 
 Note that currently the progress can be tracked by logs.
 
- - [Retrieving current Cassandra schema version](#Retrieving_current_cassandra_schema_version)
- - [Retrieving latest available Cassandra schema version](#Retrieving_latest_available_cassandra_schema_version)
+ - [Retrieving current Cassandra schema version](#Retrieving_current_Cassandra_schema_version)
+ - [Retrieving latest available Cassandra schema version](#Retrieving_latest_available_Cassandra_schema_version)
  - [Upgrading to a specific version](#Upgrading_to_a_specific_version)
  - [Upgrading to the latest version](#Upgrading_to_the_latest_version)
 
@@ -1583,7 +1586,7 @@ to be configured.
 
 Note that email addresses are restricted to ASCII character set. Mail addresses not matching this criteria will be rejected.
 
- - [Listing Forwards](#Listing_forwards)
+ - [Listing Forwards](#Listing_Forwards)
  - [Listing destinations in a forward](#Listing_destinations_in_a_forward)
  - [Adding a new destination to a forward](#Adding_a_new_destination_to_a_forward)
  - [Removing a destination of a forward](#Removing_a_destination_of_a_forward)
@@ -1838,6 +1841,7 @@ which is re written by the regex.
 This feature uses [Recipients rewrite table](/server/config-recipientrewritetable.html) and
 requires the [RecipientRewriteTable API](https://github.com/apache/james-project/blob/master/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java)
 to be configured.
+
  - [Adding a regex mapping](#Adding_a_regex_mapping)
  - [Removing a regex mapping](#Removing_a_regex_mapping)
 
@@ -1906,7 +1910,7 @@ Please use address mappings with caution, as it's not a typed address. If you kn
 
 Here are the following actions available on address mappings:
 
- - [List all address mappings](#List_all_address_mappinig)
+ - [List all address mappings](#List_all_address_mappings)
  - [Add an address mapping](#Add_an_address_mapping)
  - [Remove an address mapping](#Remove_an_address_mapping)
 
@@ -1920,7 +1924,7 @@ Get all mappings from the [Recipients rewrite table](/server/config-recipientrew
 Supported mapping types are the following:
 
  - [Alias](#Creating_address_aliases)
- - [Address](#Address_mappings)
+ - [Address](#Address_Mappings)
  - [Domain](#Creating_address_domain)
  - Error
  - [Forward](#Creating_address_forwards)
@@ -1994,7 +1998,7 @@ Response codes:
 
 ## User Mappings
 
- - [Listing User Mappings](#Listing_user_mapping)
+ - [Listing User Mappings](#Listing_User_Mappings)
 
 ### Listing User Mappings
 
@@ -2005,6 +2009,7 @@ curl -XGET http://ip:port/mappings/user/userAddress
 ```
 
 Return all mappings of a user where:
+
  - userAddress: is the selected user
 
 Response body:
@@ -2037,7 +2042,7 @@ Response codes:
  - [Listing mail repositories](#Listing_mail_repositories)
  - [Getting additional information for a mail repository](#Getting_additional_information_for_a_mail_repository)
  - [Listing mails contained in a mail repository](#Listing_mails_contained_in_a_mail_repository)
- - [Reading a mail details](#Reading_a_mail_details)
+ - [Reading/downloading a mail details](#Reading.2Fdownloading_a_mail_details)
  - [Removing a mail from a mail repository](#Removing_a_mail_from_a_mail_repository)
  - [Removing all mails from a mail repository](#Removing_all_mails_from_a_mail_repository)
  - [Reprocessing mails from a mail repository](#Reprocessing_mails_from_a_mail_repository)
@@ -2566,10 +2571,10 @@ an administrator. WebAdmin can be used to manage these DLP rules on a per `sende
 `senderDomain` is domain of the sender of incoming emails, for example: `apache.org`, `james.org`,...
 Each `senderDomain` correspond to a distinct DLP configuration.
 
-- [List DLP configuration by sender domain](List_dlp_configuration_by_sender_domain)
-- [Store DLP configuration by sender domain](Store_dlp_configuration_by_sender_domain)
-- [Remove DLP configuration by sender domain](Remove_dlp_configuration_by_sender_domain)
-- [Fetch a DLP configuration item by sender domain and rule id](Fetch_a_dlp_configuration_item_by_sender_domain_and_rule_id)
+- [List DLP configuration by sender domain](#List_DLP_configuration_by_sender_domain)
+- [Store DLP configuration by sender domain](#Store_DLP_configuration_by_sender_domain)
+- [Remove DLP configuration by sender domain](#Remove_DLP_configuration_by_sender_domain)
+- [Fetch a DLP configuration item by sender domain and rule id](#Fetch_a_DLP_configuration_item_by_sender_domain_and_rule_id)
 
 ### List DLP configuration by sender domain
 
@@ -2700,10 +2705,10 @@ This is an example of returned body.
 
 Some limitations on space Users Sieve script can occupy can be configured by default, and overridden by user.
 
- - [Retrieving global sieve quota](#Retieving_global_sieve_quota)
+ - [Retrieving global sieve quota](#Retrieving_global_sieve_quota)
  - [Updating global sieve quota](#Updating_global_sieve_quota)
  - [Removing global sieve quota](#Removing_global_sieve_quota)
- - [Retieving user sieve quota](#Retieving_user_sieve_quota)
+ - [Retrieving user sieve quota](#Retrieving_user_sieve_quota)
  - [Updating user sieve quota](#Updating_user_sieve_quota)
  - [Removing user sieve quota](#Removing_user_sieve_quota)
 
@@ -2722,6 +2727,7 @@ Will return the bytes count allowed by user per default on this server.
 ```
 
 Response codes:
+
  - 200: Request is a success and the value is returned
  - 204: No default quota is being configured
 
@@ -2740,6 +2746,7 @@ With the body being the bytes count allowed by user per default on this server.
 ```
 
 Response codes:
+
  - 204: Operation succeeded
  - 400: Invalid payload
 
@@ -2752,6 +2759,7 @@ curl -XDELETE http://ip:port/sieve/quota/default
 ```
 
 Response codes:
+
  - 204: Operation succeeded
 
 ### Retrieving user sieve quota
@@ -2769,6 +2777,7 @@ Will return the bytes count allowed for this user.
 ```
 
 Response codes:
+
  - 200: Request is a success and the value is returned
  - 204: No quota is being configured for this user
 
@@ -2787,18 +2796,20 @@ With the body being the bytes count allowed for this user on this server.
 ```
 
 Response codes:
+
  - 204: Operation succeeded
  - 400: Invalid payload
 
 ### Removing user sieve quota
 
-This endpoints allows to remove the Sieve quota of a user. There will no more quota for this userrrrrrr:
+This endpoints allows to remove the Sieve quota of a user. There will no more quota for this user:
 
 ```
 curl -XDELETE http://ip:port/sieve/quota/users/user@domain.com
 ```
 
 Response codes:
+
  - 204: Operation succeeded
 
 ## Event Dead Letter
@@ -3086,6 +3097,7 @@ The scheduled task will have the following type `deleted-messages-restore` and t
 ```
 
 while:
+
  - successfulRestoreCount: number of restored messages
  - errorRestoreCount: number of messages that failed to restore
  - user: owner of deleted messages need to restore
@@ -3255,6 +3267,7 @@ The expected value is expressed in the following format: `Nunit`.
 `unit` could be either in the short form (`s`, `m`, `h`, etc.), or in the long form (`day`, `week`, `month`, etc.).
 
 Examples:
+
  - `30s`
  - `5m`
  - `7d`
@@ -3276,6 +3289,7 @@ curl -XDELETE http://ip:port/tasks/3294a976-ce63-491e-bd52-1b6f465ed7a2
 ```
 
 Response codes:
+
  - 204: Task had been cancelled
  - 400: Invalid task ID
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 02/04: JAMES-3068 Highlight parameters in manage-webadmin.md

Posted by rc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 49ac411549142337516a5ee3e3cd25e28cf38d10
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Fri Feb 14 16:35:13 2020 +0100

    JAMES-3068 Highlight parameters in manage-webadmin.md
---
 src/site/markdown/server/manage-webadmin.md | 235 +++++++++++++++-------------
 1 file changed, 122 insertions(+), 113 deletions(-)

diff --git a/src/site/markdown/server/manage-webadmin.md b/src/site/markdown/server/manage-webadmin.md
index 707a82a..2293659 100644
--- a/src/site/markdown/server/manage-webadmin.md
+++ b/src/site/markdown/server/manage-webadmin.md
@@ -186,7 +186,7 @@ Response codes:
 ### Delete a domain
 
 ```
-curl -XDELETE http://ip:port/domains/domainToBeDeleted
+curl -XDELETE http://ip:port/domains/{domainToBeDeleted}
 ```
 
 Note: Deletion of an auto-detected domain, default domain or of an auto-detected ip is not supported. We encourage you instead to review 
@@ -199,7 +199,7 @@ Response codes:
 ### Test if a domain exists
 
 ```
-curl -XGET http://ip:port/domains/domainName
+curl -XGET http://ip:port/domains/{domainName}
 ```
 
 Response codes:
@@ -238,8 +238,8 @@ Possible response:
 ]
 ```
 
-When sending an email to an email address having source1.domain.tld or source2.domain.tld as a domain part (exemple: benwa@source1.domain.tld), then
-the domain part will be rewritten into destination.domain.tld (so into benwa@destination.domain.tld).
+When sending an email to an email address having `source1.domain.tld` or `source2.domain.tld` as a domain part (example: `user@source1.domain.tld`), then
+the domain part will be rewritten into destination.domain.tld (so into `user@destination.domain.tld`).
 
 Response codes:
 
@@ -255,16 +255,16 @@ To create a domain alias execute the following query:
 curl -XPUT http://ip:port/domains/destination.domain.tld/aliases/source.domain.tld
 ```
 
-When sending an email to an email address having source.domain.tld as a domain part (exemple: benwa@source.domain.tld), then
-the domain part will be rewritten into destination.domain.tld (so into benwa@destination.domain.tld).
+When sending an email to an email address having `source.domain.tld` as a domain part (example: `user@source.domain.tld`), then
+the domain part will be rewritten into `destination.domain.tld` (so into `user@destination.domain.tld`).
 
 
 Response codes:
 
  - 204: The redirection now exists
- - 400: source.domain.tld or destination.domain.tld have an invalid syntax
- - 400: source domain and destination domain are the same
- - 404: source.domain.tld are not part of handled domains.
+ - 400: `source.domain.tld` or `destination.domain.tld` have an invalid syntax
+ - 400: source, domain and destination domain are the same
+ - 404: `source.domain.tld` are not part of handled domains.
 
 ### Delete an alias for a domain
 
@@ -275,16 +275,16 @@ To delete a domain alias execute the following query:
 curl -XDELETE http://ip:port/domains/destination.domain.tld/aliases/source.domain.tld
 ```
 
-When sending an email to an email address having source.domain.tld as a domain part (exemple: benwa@source.domain.tld), then
-the domain part will be rewritten into destination.domain.tld (so into benwa@destination.domain.tld).
+When sending an email to an email address having `source.domain.tld` as a domain part (example: `user@source.domain.tld`), then
+the domain part will be rewritten into `destination.domain.tld` (so into `user@destination.domain.tld`).
 
 
 Response codes:
 
  - 204: The redirection now no longer exists
- - 400: source.domain.tld or destination.domain.tld have an invalid syntax
- - 400: source domain and destination domain are the same
- - 404: source.domain.tld are not part of handled domains.
+ - 400: `source.domain.tld` or destination.domain.tld have an invalid syntax
+ - 400: source, domain and destination domain are the same
+ - 404: `source.domain.tld` are not part of handled domains.
 
 ## Administrating users
 
@@ -320,7 +320,7 @@ If the user do not exist, then it will be created.
 ### Deleting a user
 
 ```
-curl -XDELETE http://ip:port/users/userToBeDeleted
+curl -XDELETE http://ip:port/users/{userToBeDeleted}
 ```
 
 Response codes:
@@ -352,7 +352,7 @@ Several actions can be performed on the server mailboxes.
 Request pattern is:
 
 ```
-curl -XPOST /mailboxes?action=XXX,...
+curl -XPOST /mailboxes?action={action1},...
 ```
 
 [More details about endpoints returning a task](#Endpoints_returning_a_task).
@@ -440,7 +440,7 @@ The scheduled task will have the following type `full-reindexing` and the follow
 
 ##### Fixing previously failed ReIndexing
 
-Given `bbdb69c9-082a-44b0-a85a-6e33e74287a5` being a taskId generated for a reIndexing tasks
+Given `bbdb69c9-082a-44b0-a85a-6e33e74287a5` being a `taskId` generated for a reIndexing tasks
 
 ```
 curl -XPOST 'http://ip:port/mailboxes?task=reIndex&reIndexFailedMessagesOf=bbdb69c9-082a-44b0-a85a-6e33e74287a5'
@@ -502,7 +502,7 @@ concurrent changes done during the reIndexing might be ignored.
 #### ReIndexing a single mail
 
 ```
-curl -XPOST http://ip:port/mailboxes/{mailboxId}/uid/36?task=reIndex
+curl -XPOST http://ip:port/mailboxes/{mailboxId}/uid/{uid}?task=reIndex
 ```
 
 Will schedule a task for reIndexing a single email.
@@ -571,11 +571,11 @@ Warning: During the re-indexing, the result of search operations might be altere
 ### Creating a mailbox
 
 ```
-curl -XPUT http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated
+curl -XPUT http://ip:port/users/{usernameToBeUsed}/mailboxes/{mailboxNameToBeCreated}
 ```
 
-Resource name usernameToBeUsed should be an existing user
-Resource name mailboxNameToBeCreated should not be empty, nor contain # & % * characters.
+Resource name `usernameToBeUsed` should be an existing user
+Resource name `mailboxNameToBeCreated` should not be empty, nor contain # & % * characters.
 
 Response codes:
 
@@ -586,17 +586,17 @@ Response codes:
  To create nested mailboxes, for instance a work mailbox inside the INBOX mailbox, people should use the . separator. The sample query is:
 
 ```
-curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes/INBOX.work
+curl -XDELETE http://ip:port/users/{usernameToBeUsed}/mailboxes/INBOX.work
 ```
 
 ### Deleting a mailbox and its children
 
 ```
-curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeDeleted
+curl -XDELETE http://ip:port/users/{usernameToBeUsed}/mailboxes/{mailboxNameToBeDeleted}
 ```
 
-Resource name usernameToBeUsed should be an existing user
-Resource name mailboxNameToBeDeleted should not be empty
+Resource name `usernameToBeUsed` should be an existing user
+Resource name `mailboxNameToBeDeleted` should not be empty
 
 Response codes:
 
@@ -607,11 +607,11 @@ Response codes:
 ### Testing existence of a mailbox
 
 ```
-curl -XGET http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated
+curl -XGET http://ip:port/users/{usernameToBeUsed}/mailboxes/{mailboxNameToBeCreated}
 ```
 
-Resource name usernameToBeUsed should be an existing user
-Resource name mailboxNameToBeCreated should not be empty
+Resource name `usernameToBeUsed` should be an existing user
+Resource name `mailboxNameToBeCreated` should not be empty
 
 Response codes:
 
@@ -622,7 +622,7 @@ Response codes:
 ### Listing user mailboxes
 
 ```
-curl -XGET http://ip:port/users/usernameToBeUsed/mailboxes
+curl -XGET http://ip:port/users/{usernameToBeUsed}/mailboxes
 ```
 
 The answer looks like:
@@ -631,7 +631,7 @@ The answer looks like:
 [{"mailboxName":"INBOX"},{"mailboxName":"outbox"}]
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 Response codes:
 
@@ -641,10 +641,10 @@ Response codes:
 ### Deleting user mailboxes
 
 ```
-curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes
+curl -XDELETE http://ip:port/users/{usernameToBeUsed}/mailboxes
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 Response codes:
 
@@ -654,10 +654,10 @@ Response codes:
 ### ReIndexing a user mails
  
 ```
-curl -XPOST http://ip:port/users/usernameToBeUsed/mailboxes?task=reIndex
+curl -XPOST http://ip:port/users/{usernameToBeUsed}/mailboxes?task=reIndex
 ```
 
-Will schedule a task for reIndexing all the mails in "bob@domain.com" mailboxes (encoded above).
+Will schedule a task for reIndexing all the mails in "user@domain.com" mailboxes (encoded above).
  
 [More details about endpoints returning a task](#Endpoints_returning_a_task).
  
@@ -670,7 +670,7 @@ The scheduled task will have the following type `user-reindexing` and the follow
 
 ```
 {
-  "user":"bob@domain.com",
+  "user":"user@domain.com",
   "successfullyReprocessedMailCount":18,
   "failedReprocessedMailCount": 3,
   "failures": {
@@ -699,7 +699,7 @@ These projection items are asynchronously computed on mailbox events.
 You can force the full projection recomputation by calling the following endpoint:
 
 ```
-curl -XPOST /users/usernameToBeUsed/mailboxes?task=recomputeFastViewProjectionItems
+curl -XPOST /users/{usernameToBeUsed}/mailboxes?task=recomputeFastViewProjectionItems
 ```
 
 Will schedule a task for recomputing the fast message view projection for all mailboxes of `usernameToBeUsed`.
@@ -712,7 +712,7 @@ The scheduled task will have the following type `RecomputeAllPreviewsTask` and t
 ```
 {
   "type":"RecomputeAllPreviewsTask",
-  "username": "usernameToBeUsed",
+  "username": "{usernameToBeUsed}",
   "processedMessageCount": 3,
   "failedMessageCount": 1
 }
@@ -739,10 +739,10 @@ Response codes:
 ### Getting the quota for a user
 
 ```
-curl -XGET http://ip:port/quota/users/usernameToBeUsed
+curl -XGET http://ip:port/quota/users/{usernameToBeUsed}
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 The answer is the details of the quota of that user.
 
@@ -800,10 +800,10 @@ Response codes:
 ### Updating the quota for a user
 
 ```
-curl -XPUT http://ip:port/quota/users/usernameToBeUsed
+curl -XPUT http://ip:port/quota/users/{usernameToBeUsed}
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 The body can contain a fixed value, an empty value (null) or an unlimited value (-1):
 
@@ -824,10 +824,10 @@ Response codes:
 ### Getting the quota count for a user
 
 ```
-curl -XGET http://ip:port/quota/users/usernameToBeUsed/count
+curl -XGET http://ip:port/quota/users/{usernameToBeUsed}/count
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 The answer looks like:
 
@@ -844,10 +844,10 @@ Response codes:
 ### Updating the quota count for a user
 
 ```
-curl -XPUT http://ip:port/quota/users/usernameToBeUsed/count
+curl -XPUT http://ip:port/quota/users/{usernameToBeUsed}/count
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 The body can contain a fixed value or an unlimited value (-1):
 
@@ -864,10 +864,10 @@ Response codes:
 ### Deleting the quota count for a user
 
 ```
-curl -XDELETE http://ip:port/quota/users/usernameToBeUsed/count
+curl -XDELETE http://ip:port/quota/users/{usernameToBeUsed}/count
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 Response codes:
 
@@ -877,10 +877,10 @@ Response codes:
 ### Getting the quota size for a user
 
 ```
-curl -XGET http://ip:port/quota/users/usernameToBeUsed/size
+curl -XGET http://ip:port/quota/users/{usernameToBeUsed}/size
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 The answer looks like:
 
@@ -897,10 +897,10 @@ Response codes:
 ### Updating the quota size for a user
 
 ```
-curl -XPUT http://ip:port/quota/users/usernameToBeUsed/size
+curl -XPUT http://ip:port/quota/users/{usernameToBeUsed}/size
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 The body can contain a fixed value or an unlimited value (-1):
 
@@ -917,10 +917,10 @@ Response codes:
 ### Deleting the quota size for a user
 
 ```
-curl -XDELETE http://ip:port/quota/users/usernameToBeUsed/size
+curl -XDELETE http://ip:port/quota/users/{usernameToBeUsed}/size
 ```
 
-Resource name usernameToBeUsed should be an existing user
+Resource name `usernameToBeUsed` should be an existing user
 
 Response codes:
 
@@ -930,7 +930,7 @@ Response codes:
 ### Searching user by quota ratio
 
 ```
-curl -XGET 'http://ip:port/quota/users?minOccupationRatio=0.8&maxOccupationRatio=0.99&limit=100&offset=200&domain=oppen-paas.org'
+curl -XGET 'http://ip:port/quota/users?minOccupationRatio=0.8&maxOccupationRatio=0.99&limit=100&offset=200&domain=domain.com'
 ```
 
 Will return:
@@ -938,7 +938,7 @@ Will return:
 ```
 [
   {
-    "username":"user@open-paas.org",
+    "username":"user@domain.com",
     "detail": {
       "global": {
         "count":252,
@@ -1002,10 +1002,10 @@ Response codes:
 ### Getting the quota for a domain
 
 ```
-curl -XGET http://ip:port/quota/domains/domainToBeUsed
+curl -XGET http://ip:port/quota/domains/{domainToBeUsed}
 ```
 
-Resource name domainToBeUsed should be an existing domain. For example:
+Resource name `domainToBeUsed` should be an existing domain. For example:
 
 ```
 curl -XGET http://ip:port/quota/domains/james.org
@@ -1053,10 +1053,10 @@ Response codes:
 ### Updating the quota for a domain
 
 ```
-curl -XPUT http://ip:port/quota/domains/domainToBeUsed
+curl -XPUT http://ip:port/quota/domains/{domainToBeUsed}
 ```
 
-Resource name domainToBeUsed should be an existing domain.
+Resource name `domainToBeUsed` should be an existing domain.
 
 The body can contain a fixed value, an empty value (null) or an unlimited value (-1):
 
@@ -1078,10 +1078,10 @@ Response codes:
 ### Getting the quota count for a domain
 
 ```
-curl -XGET http://ip:port/quota/domains/domainToBeUsed/count
+curl -XGET http://ip:port/quota/domains/{domainToBeUsed}/count
 ```
 
-Resource name domainToBeUsed should be an existing domain.
+Resource name `domainToBeUsed` should be an existing domain.
 
 The answer looks like:
 
@@ -1099,10 +1099,10 @@ Response codes:
 ### Updating the quota count for a domain
 
 ```
-curl -XPUT http://ip:port/quota/domains/domainToBeUsed/count
+curl -XPUT http://ip:port/quota/domains/{domainToBeUsed}/count
 ```
 
-Resource name domainToBeUsed should be an existing domain.
+Resource name `domainToBeUsed` should be an existing domain.
 
 The body can contain a fixed value or an unlimited value (-1):
 
@@ -1120,10 +1120,10 @@ Response codes:
 ### Deleting the quota count for a domain
 
 ```
-curl -XDELETE http://ip:port/quota/domains/domainToBeUsed/count
+curl -XDELETE http://ip:port/quota/domains/{domainToBeUsed}/count
 ```
 
-Resource name domainToBeUsed should be an existing domain.
+Resource name `domainToBeUsed` should be an existing domain.
 
 Response codes:
 
@@ -1134,10 +1134,10 @@ Response codes:
 ### Getting the quota size for a domain
 
 ```
-curl -XGET http://ip:port/quota/domains/domainToBeUsed/size
+curl -XGET http://ip:port/quota/domains/{domainToBeUsed}/size
 ```
 
-Resource name domainToBeUsed should be an existing domain.
+Resource name `domainToBeUsed` should be an existing domain.
 
 The answer looks like:
 
@@ -1155,10 +1155,10 @@ Response codes:
 ### Updating the quota size for a domain
 
 ```
-curl -XPUT http://ip:port/quota/domains/domainToBeUsed/size
+curl -XPUT http://ip:port/quota/domains/{domainToBeUsed}/size
 ```
 
-Resource name domainToBeUsed should be an existing domain.
+Resource name `domainToBeUsed` should be an existing domain.
 
 The body can contain a fixed value or an unlimited value (-1):
 
@@ -1176,10 +1176,10 @@ Response codes:
 ### Deleting the quota size for a domain
 
 ```
-curl -XDELETE http://ip:port/quota/domains/domainToBeUsed/size
+curl -XDELETE http://ip:port/quota/domains/{domainToBeUsed}/size
 ```
 
-Resource name domainToBeUsed should be an existing domain.
+Resource name `domainToBeUsed` should be an existing domain.
 
 Response codes:
 
@@ -1200,12 +1200,10 @@ Response codes:
 ### Getting the global quota
 
 ```
-curl -XGET http://ip:port/quota/
+curl -XGET http://ip:port/quota
 ```
 
-Resource name usernameToBeUsed should be an existing user
-
-The answer is the details of the quota of that user.
+The answer is the details of the global quota.
 
 ```
 {
@@ -1411,7 +1409,7 @@ Will schedule the run of the migrations you need to reach schema version 3.
 
 Response codes:
 
- - 200: Success. The scheduled task taskId is returned.
+ - 200: Success. The scheduled task `taskId` is returned.
  - 400: The version is invalid. The version should be a strictly positive number.
  - 410: Error while planning this migration. This resource is gone away. Reason is mentionned in the body.
 
@@ -1438,7 +1436,7 @@ Will schedule the run of the migrations you need to reach the latest schema vers
 
 Response codes:
 
- - 200: Success. The scheduled task taskId is returned.
+ - 200: Success. The scheduled task `taskId` is returned.
  - 410: Error while planning this migration. This resource is gone away. Reason is mentionned in the body.
 
 Note that several calls to this endpoint will be run in a sequential pattern.
@@ -1459,7 +1457,7 @@ You can use the mailbox merging feature in order to merge the old "ghosted" mail
 
 ```
 curl -XPOST http://ip:port/cassandra/mailbox/merging \
-  -d '{"mergeOrigin":"id1", "mergeDestination":"id2"}' \
+  -d '{"mergeOrigin":"{id1}", "mergeDestination":"{id2}"}' \
   -H "Content-Type: application/json"
 ```
 
@@ -1761,11 +1759,13 @@ Note that email addresses are restricted to ASCII character set. Mail addresses
  - [Removing a domain mapping](#Removing_a_domain_mapping)
 
 ### Listing all domain mappings
+
 ```
 curl -XGET http://ip:port/domainMappings
 ```
 
 Will return all configured domain mappings
+
 ```
 {
   "firstSource.org" : ["firstDestination.com", "secondDestination.net"],
@@ -1778,6 +1778,7 @@ Response codes:
  - 200: OK
 
 ### Listing all destination domains for a source domain
+
 ```
 curl -XGET http://ip:port/domainMappings/sourceDomain.tld
 ```
@@ -1795,11 +1796,13 @@ Response codes:
  - 404: The `fromDomain` resource name is not found
 
 ### Adding a domain mapping
+
 ```
 curl -XPUT http://ip:port/domainMappings/sourceDomain.tld
 ```
 
 Body:
+
 ```
 destination.tld
 ```
@@ -1813,11 +1816,13 @@ Response codes:
  - 400: The destination domain specified in the body is invalid
 
 ### Removing a domain mapping
+
 ```
 curl -XDELETE http://ip:port/domainMappings/sourceDomain.tld
 ```
 
 Body:
+
 ```
 destination.tld
 ```
@@ -1831,6 +1836,7 @@ Response codes:
  - 400: The destination domain specified in the body is invalid
 
 ## Creating regex mapping
+
 You can use **webadmin** to create regex mappings.
 
 A regex mapping contains a mapping source and a Java Regular Expression (regex) in String as the mapping value.
@@ -1852,6 +1858,7 @@ POST /mappings/regex/mappingSource/targets/regex
 ```
 
 Where:
+
  - the `mappingSource` is the path parameter represents for the Regex Mapping mapping source
  - the `regex` is the path parameter represents for the Regex Mapping regex
 
@@ -1872,10 +1879,11 @@ Response codes:
 ### Removing a regex mapping
 
 ```
-DELETE /mappings/regex/mappingSource/targets/regex
+DELETE /mappings/regex/{mappingSource}/targets/{regex}
 ```
 
 Where:
+
  - the `mappingSource` is the path parameter representing the Regex Mapping mapping source
  - the `regex` is the path parameter representing the Regex Mapping regex
 
@@ -1969,6 +1977,7 @@ Response code:
 ```
 curl -XPOST http://ip:port/mappings/address/{mappingSource}/targets/{destinationAddress}
 ```
+
 Add an address mapping to the [Recipients rewrite table](/server/config-recipientrewritetable.html)
 Mapping source is the value of {mappingSource}
 Mapping destination is the value of {destinationAddress}
@@ -1985,10 +1994,10 @@ Response codes:
 curl -XDELETE http://ip:port/mappings/address/{mappingSource}/targets/{destinationAddress}
 ```
 
-Remove an address mapping from the [Recipients rewrite table](/server/config-recipientrewritetable.html)
-Mapping source is the value of {mappingSource}
-Mapping destination is the value of {destinationAddress}
-Type of mapping destination is Address
+ - Remove an address mapping from the [Recipients rewrite table](/server/config-recipientrewritetable.html)
+ - Mapping source is the value of `mappingSource`
+ - Mapping destination is the value of `destinationAddress`
+ - Type of mapping destination is Address
 
 Response codes:
 
@@ -2005,12 +2014,12 @@ Response codes:
 This endpoint allows receiving all mappings of a corresponding user.
 
 ```
-curl -XGET http://ip:port/mappings/user/userAddress
+curl -XGET http://ip:port/mappings/user/{userAddress}
 ```
 
 Return all mappings of a user where:
 
- - userAddress: is the selected user
+ - `userAddress`: is the selected user
 
 Response body:
 
@@ -2051,7 +2060,7 @@ Response codes:
 ### Create a mail repository
 
 ```
-curl -XPUT http://ip:port/mailRepositories/encodedPathOfTheRepository?protocol=someProtocol
+curl -XPUT http://ip:port/mailRepositories/{encodedPathOfTheRepository}?protocol={someProtocol}
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource path of the created mail repository. Example:
@@ -2102,7 +2111,7 @@ Response codes:
 ### Getting additional information for a mail repository
 
 ```
-curl -XGET http://ip:port/mailRepositories/encodedPathOfTheRepository
+curl -XGET http://ip:port/mailRepositories/{encodedPathOfTheRepository}
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource path of an existing mail repository. Example:
@@ -2129,7 +2138,7 @@ Response codes:
 ### Listing mails contained in a mail repository
 
 ```
-curl -XGET http://ip:port/mailRepositories/encodedPathOfTheRepository/mails
+curl -XGET http://ip:port/mailRepositories/{encodedPathOfTheRepository}/mails
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource path of an existing mail repository. Example:
@@ -2169,7 +2178,7 @@ Response codes:
 ### Reading/downloading a mail details
 
 ```
-curl -XGET http://ip:port/mailRepositories/encodedPathOfTheRepository/mails/mailKey
+curl -XGET http://ip:port/mailRepositories/{encodedPathOfTheRepository}/mails/mailKey
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource path of an existing mail repository. Resource name `mailKey` should be the key of a mail stored in that repository. Example:
@@ -2260,7 +2269,7 @@ Response codes:
 ### Removing a mail from a mail repository
 
 ```
-curl -XDELETE http://ip:port/mailRepositories/encodedPathOfTheRepository/mails/mailKey
+curl -XDELETE http://ip:port/mailRepositories/{encodedPathOfTheRepository}/mails/mailKey
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource path of an existing mail repository. Resource name `mailKey` should be the key of a mail stored in that repository. Example:
@@ -2278,7 +2287,7 @@ Response codes:
 
 
 ```
-curl -XDELETE http://ip:port/mailRepositories/encodedPathOfTheRepository/mails
+curl -XDELETE http://ip:port/mailRepositories/{encodedPathOfTheRepository}/mails
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource path of an existing mail repository. Example:
@@ -2311,7 +2320,7 @@ Sometime, you want to re-process emails stored in a mail repository. For instanc
 To reprocess mails from a repository:
 
 ```
-curl -XPATCH http://ip:port/mailRepositories/encodedPathOfTheRepository/mails?action=reprocess
+curl -XPATCH http://ip:port/mailRepositories/{encodedPathOfTheRepository}/mails?action=reprocess
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource path of an existing mail repository. Example:
@@ -2360,7 +2369,7 @@ The scheduled task will have the following type `reprocessing-all` and the follo
 To reprocess a specific mail from a mail repository:
 
 ```
-curl -XPATCH http://ip:port/mailRepositories/encodedPathOfTheRepository/mails/mailKey?action=reprocess
+curl -XPATCH http://ip:port/mailRepositories/{encodedPathOfTheRepository}/mails/mailKey?action=reprocess
 ```
 
 Resource name `encodedPathOfTheRepository` should be the resource id of an existing mail repository. Resource name `mailKey` should be the key of a mail stored in that repository. Example:
@@ -2433,10 +2442,10 @@ Response codes:
 ### Getting a mail queue details
 
 ```
-curl -XGET http://ip:port/mailQueues/mailQueueName
+curl -XGET http://ip:port/mailQueues/{mailQueueName}
 ```
 
-Resource name mailQueueName is the name of a mail queue, this command will return the details of the given mail queue. For instance:
+Resource name `mailQueueName` is the name of a mail queue, this command will return the details of the given mail queue. For instance:
 
 ```
 {"name":"outgoing","size":0}
@@ -2451,7 +2460,7 @@ Response codes:
 ### Listing the mails of a mail queue
 
 ```
-curl -XGET http://ip:port/mailQueues/mailQueueName/mails
+curl -XGET http://ip:port/mailQueues/{mailQueueName}/mails
 ```
 
 Additional URL query parameters:
@@ -2459,7 +2468,7 @@ Additional URL query parameters:
  - `limit`: Maximum number of mails returned in a single call. Only strictly positive integer values are accepted. Example:
  
 ```
-curl -XGET http://ip:port/mailQueues/mailQueueName/mails?limit=100
+curl -XGET http://ip:port/mailQueues/{mailQueueName}/mails?limit=100
 ```
 
 The answer looks like:
@@ -2482,7 +2491,7 @@ Response codes:
 ### Deleting mails from a mail queue
 
 ```
-curl -XDELETE http://ip:port/mailQueues/mailQueueName/mails?sender=senderMailAddress
+curl -XDELETE http://ip:port/mailQueues/{mailQueueName}/mails?sender=senderMailAddress
 ```
 
 This request should have exactly one query parameter from the following list:
@@ -2517,7 +2526,7 @@ The scheduled task will have the following type `delete-mails-from-mail-queue` a
 ### Clearing a mail queue
 
 ```
-curl -XDELETE http://ip:port/mailQueues/mailQueueName/mails
+curl -XDELETE http://ip:port/mailQueues/{mailQueueName}/mails
 ```
 
 All mails from the given mail queue will be deleted.
@@ -2543,7 +2552,7 @@ The scheduled task will have the following type `clear-mail-queue` and the follo
 ### Flushing mails from a mail queue
 
 ```
-curl -XPATCH http://ip:port/mailQueues/mailQueueName?delayed=true \
+curl -XPATCH http://ip:port/mailQueues/{mailQueueName}?delayed=true \
   -d '{"delayed": false}' \
   -H "Content-Type: application/json"
 ```
@@ -2581,13 +2590,13 @@ Each `senderDomain` correspond to a distinct DLP configuration.
 Retrieve a DLP configuration for corresponding `senderDomain`, a configuration contains list of configuration items
 
 ```
-curl -XGET http://ip:port/dlp/rules/senderDomain
+curl -XGET http://ip:port/dlp/rules/{senderDomain}
 ```
 
 Response codes:
 
  - 200: A list of dlp configuration items is returned
- - 400: Invalid senderDomain or payload in request
+ - 400: Invalid `senderDomain` or payload in request
  - 404: The domain does not exist.
 
 This is an example of returned body. The rules field is a list of rules as described below.
@@ -2619,7 +2628,7 @@ Store a DLP configuration for corresponding `senderDomain`, if any item of DLP c
 it will not be stored anymore
 
 ```
-curl -XPUT http://ip:port/dlp/rules/senderDomain
+curl -XPUT http://ip:port/dlp/rules/{senderDomain}
 ```
 
 The body can contain a list of DLP configuration items formed by those fields: 
@@ -2656,7 +2665,7 @@ This is an example of returned body. The rules field is a list of rules as descr
 Response codes:
 
  - 204: List of dlp configuration items is stored
- - 400: Invalid senderDomain or payload in request
+ - 400: Invalid `senderDomain` or payload in request
  - 404: The domain does not exist.
 
 ### Remove DLP configuration by sender domain
@@ -2664,13 +2673,13 @@ Response codes:
 Remove a DLP configuration for corresponding `senderDomain`
 
 ```
-curl -XDELETE http://ip:port/dlp/rules/senderDomain
+curl -XDELETE http://ip:port/dlp/rules/{senderDomain}
 ```
 
 Response codes:
 
  - 204: DLP configuration is removed
- - 400: Invalid senderDomain or payload in request
+ - 400: Invalid `senderDomain` or payload in request
  - 404: The domain does not exist.
 
 
@@ -2679,13 +2688,13 @@ Response codes:
 Retrieve a DLP configuration rule for corresponding `senderDomain` and a `ruleId`
 
 ```
-curl -XGET http://ip:port/dlp/rules/senderDomain/rules/ruleId
+curl -XGET http://ip:port/dlp/rules/{senderDomain}/rules/{ruleId}
 ```
 
 Response codes:
 
  - 200: A dlp configuration item is returned
- - 400: Invalid senderDomain or payload in request
+ - 400: Invalid `senderDomain` or payload in request
  - 404: The domain and/or the rule does not exist.
 
 This is an example of returned body.
@@ -2878,7 +2887,7 @@ Will return the full JSON associated with this event.
 Response codes:
 
  - 200: Success. A JSON representing this event is returned.
- - 400: Invalid group name or insertionId
+ - 400: Invalid group name or `insertionId`
 
 ### Deleting an event
 
@@ -2891,7 +2900,7 @@ Will delete this event.
 Response codes:
 
  - 204: Success
- - 400: Invalid group name or insertionId
+ - 400: Invalid group name or `insertionId`
 
 ### Redeliver all events
 
@@ -3167,7 +3176,7 @@ You may want to call this endpoint on a regular basis.
 
 ### Permanently Remove Deleted Message
 
-Delete a Deleted Message with MessageId
+Delete a Deleted Message with `MessageId`
 
 ```
 curl -XDELETE http://ip:port/deletedMessages/users/user@domain.ext/messages/3294a976-ce63-491e-bd52-1b6f465ed7a2
@@ -3323,7 +3332,7 @@ Many endpoints do generate a task.
 Example:
 
 ```
-curl -XPOST /endpoint?action=XXX
+curl -XPOST /endpoint?action={action}
 ```
 
 The response to these requests will be the scheduled `taskId` :
@@ -3360,7 +3369,7 @@ regarding the `rrt` table.
 You can do a series of action on `mappings_sources` projection table :
 
 ```
-curl -XPOST /cassandra/mappings?action=[ACTION]
+curl -XPOST /cassandra/mappings?action={action}
 ```
 
 Will return the taskId corresponding to the related task. Actions supported so far are :


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 03/04: JAMES-3049 WebAdmin doc: renaming "Listing groups" to "Listing mailbox listener groups" in event dead letter section

Posted by rc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 85791eddc1d679b5f4d379c7f4fa4eb477d9dc79
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Thu Feb 13 16:38:36 2020 +0700

    JAMES-3049 WebAdmin doc: renaming "Listing groups" to "Listing mailbox listener groups" in event dead letter section
    
    The tag #Listing_groups was in conflict with an other one defined above in "Creating address groups" section,
    redirecting thus to the wrong part
---
 src/site/markdown/server/manage-webadmin.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/site/markdown/server/manage-webadmin.md b/src/site/markdown/server/manage-webadmin.md
index 2293659..b2e0142 100644
--- a/src/site/markdown/server/manage-webadmin.md
+++ b/src/site/markdown/server/manage-webadmin.md
@@ -2830,7 +2830,7 @@ and the like.
 Upon exceptions, a bounded number of retries are performed (with exponential backoff delays). If after those retries the listener is still
 failing, then the event will be stored in the "Event Dead Letter". This API allows diagnosing issues, as well as performing event replay (not implemented yet).
 
- - [Listing groups](#Listing_groups)
+ - [Listing mailbox listener groups](#Listing_mailbox_listener_groups)
  - [Listing failed events](#Listing_failed_events)
  - [Getting event details](#Getting_event_details)
  - [Deleting an event](#Deleting_an_event)
@@ -2839,9 +2839,9 @@ failing, then the event will be stored in the "Event Dead Letter". This API allo
  - [Redeliver a single event](#Redeliver_a_single_event)
  - [Rescheduling group execution](#Rescheduling_group_execution)
 
-### Listing groups
+### Listing mailbox listener groups
 
-This endpoint allows discovering the list of groups.
+This endpoint allows discovering the list of mailbox listener groups.
 
 ```
 curl -XGET http://ip:port/events/deadLetter/groups


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org