API access is only over HTTPS. Base entry point is from https://api.zepppelin.com/api/3 or from the https://YOUR_NETWORK.zepppelin.com/api/3
domain. All data is sent and received as JSON.
Times are expressed in GMT+0. All timestamps are returned in format.
YYYY-MM-DD hh:mm:ss
Where possible, API strives to use appropriate HTTP verbs for each action.
GETUsed for retrieving resources.POSTUsed for creating resources.DELETEUsed for deleting resources.
Before getting started you need to register your application by sending request to [email protected]. Please provide application name, your fullname and your email. A registered application have a unique Client ID.
Zepppelin supports two authentication mechanism
- OAuth2
- API key based authentication and
OAuth2 is a protocol that lets external apps request authorization to private details in a user's Zepppelin account without getting their password.
OAuth2 Token (sent as a parameter):
$ curl https://demo.zepppelin.com?access_token=OAUTH-TOKEN
This is a description of the OAuth flow from 3rd party web sites.
GET https://api.zepppelin.com/oauth/authorize
client_id- The client ID you received from Zepppelin when you registered.redirect_uri- URL in your application where user's will be sent after authorization.response_type- Set totoken.
Once the user has authenticated, we'll redirect them to your redirect_uri with the access_token in the url fragment. It'll look like so:
https://your-redirect-uri#access_token=ACCESS-TOKEN
The access token allows you to make requests to the API on a behalf of a user.
curl https://api.zepppelin.com/api/3/activity.json?access_token=REPLACE_WITH_ACCESS_TOKEN
or
curl https://api.zepppelin.com/api/3/activity.json \
-H "x-api-key:REPLACE_WITH_ACCESS_TOKEN"
The api key is associated with specific account in specific network. This key should be passed as a HTTP request header with each request.
You have to authenticate user throught /network/logins.json entry point. Because all requests are through HTTPS user credentials are securely encrypted by the SSL channel.
x-api-clientid- The client ID you received from Zepppelin when you registered.
email- user emailpassword- user password
curl https://api.zepppelin.com/api/3/network/logins.json \
-H "x-api-clientid:REPLACE_WITH_CLIENT_ID" \
-d email=REPLACE_WITH_USER_EMAIL \
-d password=REPLACE_WITH_USER_PASSWORD
In response you will recieve list of networks that the user is a member of.
To make a successful Zepppelin API request, you must include a valid api key in the request. This can be done by using the HTTP header x-api-key
curl https://api.zepppelin.com/api/3/user/streams.json \
-H "x-api-key:REPLACE_WITH_API_KEY"