Skip to content

Instantly share code, notes, and snippets.

@buremba
Last active October 13, 2015 07:44
Show Gist options
  • Save buremba/e12a370b9f924505ef38 to your computer and use it in GitHub Desktop.
Save buremba/e12a370b9f924505ef38 to your computer and use it in GitHub Desktop.
{"swagger":"2.0","info":{"description":"An analytics platform API that lets you create your own analytics services.","version":"1.0","title":"Rakam API Documentation","contact":{"email":"contact@rakam.com"},"license":{"name":"Apache License 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}},"tags":[{"name":"report"},{"name":"rakam-ui"},{"name":"admin"},{"name":"project"},{"name":"materialized-view"},{"name":"collection"},{"name":"event"},{"name":"continuous-query"},{"name":"query"}],"paths":{"/admin/modules":{"get":{"tags":["admin"],"summary":"List installed modules","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"type":"object"}}}},"security":[{"api_key":[]}]}},"/continuous-query/create":{"post":{"tags":["continuous-query"],"summary":"Create realtime report","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"ContinuousQueryHttpService_create","required":true,"schema":{"properties":{"project":{"type":"string"},"name":{"type":"string"},"query":{"type":"string"},"table_name":{"type":"string"},"collections":{"type":"array","items":{"type":"string"}},"partition_keys":{"type":"array","items":{"type":"string"}},"options":{"type":"object","additionalProperties":{"type":"object"}}}}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}},"400":{"description":"Project does not exist."}}}},"/continuous-query/delete":{"post":{"tags":["continuous-query"],"summary":"Delete realtime report","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"},{"name":"name","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"object"}},"400":{"description":"Project does not exist."}}}},"/continuous-query/list":{"post":{"tags":["continuous-query"],"summary":"Create realtime report","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"object"}},"400":{"description":"Project does not exist."}}}},"/continuous-query/schema":{"post":{"tags":["continuous-query"],"summary":"Create realtime report","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"type":"object"}}},"400":{"description":"Project does not exist."}}}},"/custom-report/create":{"post":{"tags":["report"],"summary":"Create new report","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"CustomReportHttpService_create","required":true,"schema":{"properties":{"report_type":{"type":"string"},"project":{"type":"string"},"name":{"type":"string"},"data":{"type":"object"}}}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/custom-report/delete":{"post":{"tags":["report"],"summary":"Delete report","description":"Creates report and cached data.","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"report_type","in":"formData","required":false,"type":"string"},{"name":"project","in":"formData","required":false,"type":"string"},{"name":"name","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/custom-report/get":{"post":{"tags":["report"],"summary":"Get report","description":"Returns report that has the specified name","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"report_type","in":"formData","required":false,"type":"string"},{"name":"project","in":"formData","required":false,"type":"string"},{"name":"name","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"object"}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/custom-report/list":{"post":{"tags":["report"],"summary":"List reports","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"report_type","in":"formData","required":false,"type":"string"},{"name":"project","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"type":"object"}}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/event/collect":{"post":{"tags":["collection","event"],"summary":"Collect event","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"org.rakam.collection.event.EventCollectionHttpService.collect","required":false,"schema":{"required":["collection","project","properties"],"properties":{"project":{"type":"string","default":""},"collection":{"type":"string","default":""},"properties":{"type":"object"}}}}],"responses":{"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/materialized-view/create":{"post":{"tags":["materialized-view"],"summary":"Create new materialized view","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"MaterializedViewHttpService_create","required":true,"schema":{"properties":{"project":{"type":"string"},"name":{"type":"string"},"table_name":{"type":"string"},"query":{"type":"string"},"update_interval":{"type":"string"},"options":{"type":"object","additionalProperties":{"type":"object"}}}}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}},"400":{"description":"Project does not exist."}}}},"/materialized-view/delete":{"post":{"tags":["materialized-view"],"summary":"Delete materialized view","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"},{"name":"name","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}},"400":{"description":"Project does not exist."}}}},"/materialized-view/get":{"post":{"tags":["materialized-view"],"summary":"Get materialized view","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"},{"name":"name","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"object"}},"400":{"description":"Project does not exist."}}}},"/materialized-view/list":{"post":{"tags":["materialized-view"],"summary":"Get lists of the materialized views","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"object"}},"400":{"description":"Project does not exist."}}}},"/materialized-view/schema":{"post":{"tags":["materialized-view"],"summary":"Get schemas of the materialized views","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"type":"object"}}},"400":{"description":"Project does not exist."}}}},"/materialized-view/update":{"get":{"tags":["materialized-view"],"summary":"Update materialized view","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[],"responses":{"400":{"description":"Project does not exist."}}}},"/project/create":{"post":{"tags":["project"],"summary":"Create project","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"name","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}}},"security":[{"api_key":[]}]}},"/project/list":{"get":{"tags":["project"],"summary":"List created projects","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[],"responses":{"200":{"description":"successful operation","schema":{"type":"array","uniqueItems":true,"items":{"type":"object"}}}},"security":[{"api_key":[]}]}},"/project/schema":{"post":{"tags":["project"],"summary":"Get collection schema","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"array","items":{"type":"object"}}},"400":{"description":"Project does not exist."}}}},"/query/execute":{"get":{"tags":["query","event"],"summary":"Perform SQL queries on event dataset","description":"","consumes":["text/event-stream"],"produces":["application/json"],"parameters":[{"name":"project","in":"query","required":false,"type":"string","default":""},{"name":"offset","in":"query","required":false,"type":"string","default":""},{"name":"id","in":"query","required":false,"type":"integer","default":""}],"responses":{"default":{"description":"successful operation"}},"security":[{"api_key":[]}]},"post":{"tags":["query","event"],"summary":"Collect event","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"},{"name":"query","in":"formData","required":false,"type":"string"},{"name":"limit","in":"formData","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/QueryResult"}}},"security":[{"api_key":[]}]}},"/report/create":{"post":{"tags":["report"],"summary":"Create new report","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"ReportHttpService_create","required":true,"schema":{"properties":{"project":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"query":{"type":"string"},"options":{"type":"object","additionalProperties":{"type":"object"}}}}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/report/delete":{"post":{"tags":["report"],"summary":"Delete report","description":"Creates report and cached data.","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"},{"name":"name","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/JsonResponse"}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/report/get":{"post":{"tags":["report"],"summary":"Get report","description":"Returns report that has the specified name","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"},{"name":"slug","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/Report"}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}},"/report/list":{"post":{"tags":["report"],"summary":"List reports","description":"","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"project","in":"formData","required":false,"type":"string"}],"responses":{"200":{"description":"successful operation","schema":{"type":"object"}},"400":{"description":"Project does not exist."}},"security":[{"api_key":[]}]}}},"securityDefinitions":{"api_key":{"type":"apiKey","name":"api_key","in":"header"}},"definitions":{"SchemaField":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true,"enum":["STRING","ARRAY","LONG","DOUBLE","BOOLEAN","DATE","HYPERLOGLOG","TIME","TIMESTAMP"]},"nullable":{"type":"boolean","readOnly":true,"default":false},"unique":{"type":"boolean","readOnly":true,"default":false},"descriptiveName":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"category":{"type":"string","readOnly":true}}},"QueryResult":{"type":"object","properties":{"metadata":{"type":"array","items":{"$ref":"#/definitions/SchemaField"}},"result":{"type":"array","items":{"type":"array","items":{"type":"object"}}},"error":{"$ref":"#/definitions/QueryError"},"properties":{"type":"object","additionalProperties":{"type":"object"}},"failed":{"type":"boolean","default":false}}},"Report":{"type":"object","properties":{"query":{"type":"string"},"project":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"options":{"type":"object","additionalProperties":{"type":"object"}}}},"QueryError":{"type":"object","properties":{"message":{"type":"string"},"sqlState":{"type":"string"},"errorCode":{"type":"integer","format":"int32"}}},"JsonResponse":{"type":"object","properties":{"success":{"type":"boolean","default":false},"message":{"type":"string"}}}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment