diff --git a/spec/README.md b/spec/README.md
index ff33aa2..6673549 100644
--- a/spec/README.md
+++ b/spec/README.md
@@ -91,7 +91,7 @@ incapable in others.
We named it Kapow!. It is pronounceable, short and meaningless... like every
good UNIX® command ;-)
-TODO: Definition
+TODO: Definitionid
TODO: Intro to Architecture
@@ -132,7 +132,7 @@ whole lifetime of the server.
* The HTTP status code (e.g., `400`, which is a bad request). The target
audience of this information is the client code. The client can thus use
this information to control the program flow.
- * The JSON-encoded message. The target audience in this case is the human
+ * The HTTP reason phrase. The target audience in this case is the human
operating the client. The human can use this information to make a
decision on how to proceed.
* All successful API calls will return a representation of the *final* state
@@ -156,7 +156,8 @@ Content-Length: 189
"url_pattern": "/hello",
"entrypoint": null,
"command": "echo Hello World | response /body",
- "index": 0
+ "index": 0,
+ "id": "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
}
]
```
@@ -188,13 +189,17 @@ Returns JSON data about the current routes.
"method": "GET",
"url_pattern": "/hello",
"entrypoint": null,
- "command": "echo Hello World | response /body"
+ "command": "echo Hello World | response /body",
+ "index": 0,
+ "id": "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
},
{
"method": "POST",
"url_pattern": "/bye",
"entrypoint": null,
- "command": "echo Bye World | response /body"
+ "command": "echo Bye World | response /body",
+ "index": 1,
+ "id": "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
}
]
```
@@ -204,7 +209,7 @@ Returns JSON data about the current routes.
#### Append route
-Accepts JSON data that defines a new route to be appended to the current routes.
+Accepts JSON data that defines a new route to be appended to the current routes. New routes are given with an id so it can be referenced later.
* **URL**: `/routes`
* **Method**: `POST`
@@ -228,14 +233,15 @@ Accepts JSON data that defines a new route to be appended to the current routes.
"url_pattern": "/hello",
"entrypoint": null,
"command": "echo Hello World | response /body",
- "index": 0
+ "index": 0,
+ "id": "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
}
```
* **Error Responses**:
* **Code**: `400 Malformed JSON`
- * **Code**: `400 Invalid Data Type`
- * **Code**: `400 Invalid Route Spec`
- * **Code**: `400 Missing Mandatory Field`
+ * **Code**: `412 Invalid Data Type`
+ * **Code**: `412 Invalid Route Spec`
+ * **Code**: `412 Missing Mandatory Field`
**Header**: `Content-Type: application/json`
**Content**:
```json
@@ -253,8 +259,7 @@ Accepts JSON data that defines a new route to be appended to the current routes.
"method": "GET",
"url_pattern": "/hello",
"entrypoint": null,
- "command": "echo Hello World | response /body",
- "index": 0
+ "command": "echo Hello World | response /body"
}
EOF
```
@@ -268,7 +273,7 @@ Accepts JSON data that defines a new route to be appended to the current routes.
#### Insert a route
Accepts JSON data that defines a new route to be inserted at the specified
- index to the current routes.
+ index to the current routes. New routes are given with an id so it can be referenced later.
* **URL**: `/routes`
* **Method**: `PUT`
@@ -292,14 +297,15 @@ Accepts JSON data that defines a new route to be appended to the current routes.
"url_pattern": "/hello",
"entrypoint": null,
"command": "echo Hello World | response /body",
- "index": 0
+ "index": 0,
+ "id": "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
}
```
* **Error Responses**:
* **Code**: `400 Malformed JSON`
- * **Code**: `400 Invalid Data Type`
- * **Code**: `400 Invalid Route Spec`
- * **Code**: `400 Missing Mandatory Field`
+ * **Code**: `412 Invalid Data Type`
+ * **Code**: `412 Invalid Route Spec`
+ * **Code**: `412 Missing Mandatory Field`
**Header**: `Content-Type: application/json`
**Content**:
```json
@@ -310,10 +316,7 @@ Accepts JSON data that defines a new route to be appended to the current routes.
]
}
```
- * **Code**: `400 Invalid Index Type`
- * **Code**: `400 Index Already in Use`
- * **Code**: `404 Invalid Index`
- * **Code**: `404 Invalid Route Spec`
+ * **Code**: `412 Invalid Index Type`
* **Sample Call**:
```sh
$ curl -X PUT --data-binary @- $KAPOW_URL/routes <