diff --git a/docs/dump-openapi-spec.py b/docs/dump-openapi-spec.py
new file mode 100644
index 0000000000000000000000000000000000000000..9fa003c1f0870b95bc5087f85b837aeecd351719
--- /dev/null
+++ b/docs/dump-openapi-spec.py
@@ -0,0 +1,22 @@
+import json
+import os
+import sys
+
+from fastapi.testclient import TestClient
+import resource_management
+
+config_filename = os.path.join(
+    os.path.dirname(__file__),
+    '..', 'config-example.json')
+
+os.environ['SETTINGS_FILENAME'] = config_filename
+app = resource_management.create_app()
+client = TestClient(app)
+rsp = client.get('/openapi.json')
+openapi_doc = json.dumps(rsp.json(), indent=2)
+
+if len(sys.argv) > 1 and sys.argv[1]:
+    with open(sys.argv[1], 'w') as output:
+        output.write(openapi_doc)
+else:
+    print(openapi_doc)