diff --git a/swagger/.gitignore b/swagger/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..8ff7aa832d35b1047de3c4343334bf7005a9ce4e
--- /dev/null
+++ b/swagger/.gitignore
@@ -0,0 +1,3 @@
+build/
+node_modules/
+
diff --git a/swagger/index.yaml b/swagger/index.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4b3dfe83d910762f632d39a94bd5d2c7b5459abf
--- /dev/null
+++ b/swagger/index.yaml
@@ -0,0 +1,18 @@
+swagger: '2.0'
+info:
+  version: 0.0.1
+  title: SciTran
+basePath: '/api'
+schemes: 
+- 'api'
+produces:
+- 'application/json'
+consumes:
+- 'application/json'
+paths:
+  $ref: ./paths/index.yaml
+definitions:
+  $ref: ./definitions/index.yaml
+
+
+
diff --git a/swagger/package.json b/swagger/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..dcc7d223e8c1b56fac17580acd634563b6e9cf60
--- /dev/null
+++ b/swagger/package.json
@@ -0,0 +1,13 @@
+{
+  "name": "scitran-core-swagger",
+  "version": "0.0.1",
+  "description": "REST API Documentation and Code Generation for the SciTran core SDK",
+  "main": "index.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "author": "Justin Ehlert <justinehlert@flywheel.io>",
+  "license": "MIT",
+  "devDependencies": {
+  }
+}
diff --git a/swagger/paths/groups.yaml b/swagger/paths/groups.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9541787c484a00cf8e328ca65e702f191dd32399
--- /dev/null
+++ b/swagger/paths/groups.yaml
@@ -0,0 +1,9 @@
+get:
+  summary: 'List all groups on the site'
+  operationId: 'getAllGroups'
+  responses:
+    200:
+      description: OK
+      schema:
+        $ref: "../schemas/output/groups-list.json"
+
diff --git a/swagger/paths/index.yaml b/swagger/paths/index.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..95c3495c36f1d31f00a40584218296348b77e7b2
--- /dev/null
+++ b/swagger/paths/index.yaml
@@ -0,0 +1,3 @@
+/groups:
+  $ref: ./groups.yaml
+