about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrançois de Metz <fdemetz@af83.com>2011-06-17 22:03:43 +0200
committerFrançois de Metz <fdemetz@af83.com>2011-06-17 22:03:43 +0200
commita74cebf3fd5ff1d625fc83c4dadd61abc818ac9c (patch)
tree8469357a690ac75490f2923f4d576be83e56cfad
parentcompat OAuth 1.0 & 2.0 (diff)
downloadapi-description-a74cebf3fd5ff1d625fc83c4dadd61abc818ac9c.tar.gz
Add myintervals service.
-rw-r--r--services/Makefile1
-rw-r--r--services/intervals.json63
2 files changed, 64 insertions, 0 deletions
diff --git a/services/Makefile b/services/Makefile
index eb54875..c503578 100644
--- a/services/Makefile
+++ b/services/Makefile
@@ -16,6 +16,7 @@ check: spore_validation.rx
 	@$(VALIDATOR) ihackernews.json
 	@$(VALIDATOR) ohloh.json
 	@$(VALIDATOR) twitter.json
+	@$(VALIDATOR) intervals.json
 
 test: check
 
diff --git a/services/intervals.json b/services/intervals.json
new file mode 100644
index 0000000..f8e3aed
--- /dev/null
+++ b/services/intervals.json
@@ -0,0 +1,63 @@
+{
+    "name" : "Intervals",
+    "base_url" : "https://api.myintervals.com",
+    "version" : "0.1",
+    "formats" : ["json", "xml"],
+    "authentication": true,
+    "unattended_params": false,
+    "meta" : {
+      "documentation" : "http://www.myintervals.com/api/"
+    },
+
+    "methods": {
+        "me": {
+            "path": "/me",
+            "method": "GET"
+        },
+        "client": {
+            "path": "/client/",
+            "method": "GET",
+            "optional_params": ["active", "search", "projectsonly",
+                                "offset", "limit"]
+        },
+        "project": {
+            "path": "/project/",
+            "method": "GET",
+            "optional_params": ["clientid", "managerid", "name",
+                                "datestart", "dateend", "search",
+                                "active", "billable", "personid",
+                                "offset", "limit"]
+        },
+        "worktype": {
+            "path": "/worktype/",
+            "method": "GET",
+            "optional_params": ["active", "offset", "limit"]
+        },
+        "project_worktype": {
+            "path": "/projectworktype/",
+            "method": "GET",
+            "required_params": ["projectid"],
+            "optional_params": ["active", "personid", "offset", "limit"]
+        },
+        "project_module": {
+            "path": "/projectmodule/",
+            "method": "GET",
+            "required_params": ["projectid"],
+            "optional_params": ["active", "personid",
+                                "offset", "limit"]
+        },
+        "time": {
+            "path": "/time/",
+            "method": "GET",
+            "optional_params": ["activeonly", "moduleid", "taskid", "worktypeid",
+                                "personid", "clientid", "projectid", "milestoneid",
+                                "date", "datebegin", "dateend", "billable", "sortfield",
+                                "sortdir", "offset", "limit"]
+        },
+        "add_time": {
+            "path": "/time/",
+            "method": "POST",
+            "expected_status": [201]
+        }
+    }
+}