diff --git a/code-update.md b/code-update.md
index 28f351f..b599474 100644
--- a/code-update.md
+++ b/code-update.md
@@ -50,7 +50,7 @@
 RAM so the images can be applied while the rest of the application stack
 is running and progress can be monitored over the network.  The
 `update` script can then be called to write the images while the
-system is operational and its progress ouput monitored.
+system is operational and its progress output monitored.
 
 Update from the OpenBMC shell
 -----------------------------
@@ -112,7 +112,7 @@
  * `preserve_network_settings`: Preserve network settings, only needed if updating the whole flash
  * `restore_application_defaults`: update (clear) the read-write file system
  * `update_kernel_and_apps_only`: update kernel and initramfs
- * `clear_persistent_files`: ignore the persistent file list when reseting applications defaults
+ * `clear_persistent_files`: ignore the persistent file list when resetting applications defaults
  * `auto_apply`: Attempt to write the images by invoking the `Apply` method after the images are unpacked.
 
 To configure the update settings, perform a REST PUT to
diff --git a/contributing.md b/contributing.md
index 195bde6..f2e2c83 100644
--- a/contributing.md
+++ b/contributing.md
@@ -88,7 +88,7 @@
 Submitting changes via Gerrit server
 ------------------------------------
 
-The openbmc gerrit server supports Gihub credentials, its link is:
+The openbmc gerrit server supports Github credentials, its link is:
 
   https://gerrit.openbmc-project.xyz/#/q/status:open
 
@@ -156,7 +156,7 @@
 Best practices for C
 --------------------
 
-There are numerous resources avaialble elsewhere, but a few items that are
+There are numerous resources available elsewhere, but a few items that are
 relevant to OpenBMC work:
 
  * You almost never need to use `system(<some shell pipeline>)`. Reading and
@@ -174,7 +174,7 @@
    C types
 
  * Declare internal-only functions as `static`, declare read-only data
-   as `const` where possble.
+   as `const` where possible.
 
  * Ensure that your code compiles without warnings, especially for changes
    to the kernel.
diff --git a/dbus-interfaces.md b/dbus-interfaces.md
index 5ea5d02..84e75c3 100644
--- a/dbus-interfaces.md
+++ b/dbus-interfaces.md
@@ -313,11 +313,11 @@
 |                     | `s`          |               | The name of the file containing the BMC firmware image.|
 | `update`            | `s`          | `void`        | **Perform a BMC firmware update with a file already on the BMC.**|
 |                     | `s`          |               | The name of the file containing the BMC firmware image.|
-| `PrepareForUpdate`  | `void`       | `void`        | **Reboot BMC with Flash content cached in RAM **|
-| `Abort`             | `void`       | `void`        | **Abort any pending, broken, or in-progress flash update**|
-| `Apply`             | `void`       | `void`        | **Initiate writing image into flash**|
-| `GetUpdateProgress` | `void`       | `s`           | **Display progress log `Apply` phase**|
-|                     |              | `s`           | The `state` and log output from `Apply` |
+| `PrepareForUpdate`  | `void`       | `void`        | **Reboot BMC with Flash content cached in RAM.**|
+| `Abort`             | `void`       | `void`        | **Abort any pending, broken, or in-progress flash update.**|
+| `Apply`             | `void`       | `void`        | **Initiate writing image to flash.**|
+| `GetUpdateProgress` | `void`       | `s`           | **Display progress log `Apply` phase.**|
+|                     |              | `s`           | The `status` and log output from `Apply`|
 
 ### signals
 | name           | signature | description                              |
@@ -329,13 +329,13 @@
 ### properties
 | name                           | signature | description                     |
 | ------------------------------ | --------- | ------------------------------- |
-| `status`                       | `s`       | **Description of the phase of the update**        |
+| `status`                       | `s`       | **Description of the phase of the update.**        |
 | `filename`                     | `s`       | **The name of the file containing the BMC firmware image.**|
 | `preserve_network_settings`    | `b`       | **Perform a factory reset.**    |
 | `restore_application_defaults` | `b`       | **Clear modified files in read-write filesystem.**    |
 | `update_kernel_and_apps`       | `b`       | **Do not update bootloader (requires image pieces).**    |
 | `clear_persistent_files`       | `b`       | **Also remove persistent files when updating read-write filesystem.**    |
-| `auto_apply`                   | `b`       | **Attempt to apply image after unpacking (cleared if image verification fails)**    |
+| `auto_apply`                   | `b`       | **Attempt to apply image after unpacking (cleared if image verification fails).**    |
 
 ### namespace
 | path                             | required | description |
@@ -474,8 +474,8 @@
 | `PowerLost` | `void`    | **The power is off.** |
 
 ### properties
-| name          | signature | description     |
-| ------------- | --------- | --------------- |
+| name            | signature | description     |
+| --------------- | --------- | --------------- |
 | `pgood`         | `i`     | **?**           |
 | `state`         | `i`     | **?**           |
 | `pgood_timeout` | `i`     | **?**           |
@@ -694,6 +694,6 @@
 | `WatchdogError` | `void`    | *The watchdog was not pinged before the timer expired.**|
 
 ### namespace
-| path                             | required | description                  |
-| -------------------------------- | -------- | ---------------------------------------- |
+| path                               | required | description                  |
+| ---------------------------------- | -------- | ---------------------------------------- |
 | `/org/openbmc/watchdog/<watchdog>` | No       | Any watchdog instances must be instantiated in the watchdog namespace. |
diff --git a/rest-api.md b/rest-api.md
index 10b01e9..4fe2e02 100644
--- a/rest-api.md
+++ b/rest-api.md
@@ -178,7 +178,7 @@
 DELETE operations are for removing instances. Only DBUS objects (instances) can
 be removed. If the underlying DBUS object implements the
 `org.openbmc.Object.Delete` interface the REST server will call it. If
-`org.openbmc.Object.Delet`e is not implemented, the REST server will return a
+`org.openbmc.Object.Delete` is not implemented, the REST server will return a
 HTTP 403 (Forbidden) error.
 
 For example, to delete the event record with ID 0:
