RunStorage.io

We provide fast and reliable APIs and services for developers. These are documented below. The web console can be found at https://runstorage.io/app.

RunStorage.io Service Description
Backup CI Backup CI securely backs up public GitHub repositories on every commit.
Cloud Storage Free cloud storage by RunStorage for manual and automatic usage.
Mail API The Mail API gives you a flexible endpoint for all your needs.
Markdown API With this service you can compile Markdown to HTML in no time.
Other Services Description
DeepFilm Data API DeepFilm Data API simply is DeepFilm for automatic use.
VocBox Data API VocBox Data API contains a collection of 10,000 words in 9 languages.

If there are any questions regarding these services, you can always feel free to contact us.

Backup CI v2

Backup CI is a simple GitHub backup service by RunStorage. It provides a Continuous Integration for backing up your public repository on GitHub with every push. All you need to do to back up your repositories, view the current status or download backups is described below.

1) Setting up Backup CI

To get started with Backup CI, you'll need to add our webhook to your repository on GitHub. To do so, please sign in to our web console at https://runstorage.io/app. From there select Backup CI for GitHub and copy the URL show in the dark box. The so-called Access URL should look similar to this:

https://backupci.com/v2?key=2c99ccef7b64a122e91639fc9f933979&user_id=100249726636359045325

You may also use backup-ci.runstorageapis.com instead of backupci.com. Anyway, please visit the web page of your repository (e.g. https://github.com/leveled-up/md-docs) and select Settings, then Webhooks and after that Add webhook. Retype your password and fill in the form as shown below.

Field What to do?
Payload URL Paste the URL shown in the web console beginning with https://backupci.com/.
Content type Select application/json.
Secret empty
Triggers Answer Which events would you like to trigger this webhook? with Just the push event.

After the webhook has been created, all pushes will be logged in the web console at https://runstorage.io/app.

Important Notice: To prevent abuse, we only let you back up once every 15 minutes, but we log all pushes.

2) Current status

To check the current status of your backups, you may either visit our web console at https://runstorage.io/app for a graphical user interface. Otherwise you can use our API for checking the status. The latter is described below.

To list your pushes, please request your Access URL beginning with https://backupci.com/. You may append the GET parameter limit to limit the maximal amount of pushes listed.

$ curl "https://backupci.com/v2?key=2c99ccef7b64a122e91639fc9f933979&user_id=100249726636359045325&limit=5"
{
    "success": true,
    "pushes": [
        {
            "id": "1",
            "owner": "100249726636359045325",
            "repository": "leveled-up\/deepfilm",
            "commit": "4a5902fdb1c45e61f86b1132489d09e83cae7d8c",
            "commit_msg": "Update app:default",
            "commit_url": "https:\/\/github.com\/leveled-up\/deepfilm\/commit\/4a5902fdb1c45e61f86b1132489d09e83cae7d8c",
            "time": "1518963180",
            "github_tarball": "https:\/\/api.github.com\/repos\/leveled-up\/deepfilm\/tarball\/4a5902fdb1c45e61f86b1132489d09e83cae7d8c",
            "runstorage_tarball": "1VMbOjCSVCFV1FePCA4XdiaXpfoFLtq3S",
            "status": "SUCCESS"
        },
        [...]
    ]
}

To understand these values, you may have a look at the table below.

Name Explanation
id A unique ID for this push.
owner Your account's numeric user ID.
repository The GitHub repository which has been backed up, including user name.
commit The commit ID of the head commit created by Git.
commit_msg The message of the head commit, including long commit message.
commit_url The URL to the GitHub website for comparing changes with previous commits.
time The UNIX timestamp of the time when our API has received the webhook call.
github_tarball The URL where the GitHub API delivers the tarball of the branch (of the head commit) at the time of the head commit.
runstorage_tarball The ID under which we have stored the tarball. Use it like this: https://runstorage.io/download/ID. This will be empty if status is not SUCCESS.
status The current status of your backup. These status codes are explained in the table below.

The Backup CI status codes are shown and explained below.

Code Explanation
QUEUED The backup of this tarball has been queued and will be processed soon.
CANCELED This push will not be backed up, since there is a backed up one less than 15 minutes before.
IN_PROGRESS The backup is currently being transferred to our servers.
SUCCESS This backup has been successfully created and is available.
FAILURE There has been an error when processing the backup.

3) Download a backup

You may download backups from our web console at https://runstorage.io/app by clicking the commit ID and selecting Download. If you are using this service automatically, backups may be downloaded by requesting the below URL (replace ID with runstorage_tarball from your API result).

https://runstorage.io/download/ID

If you run into any issues or have any questions, feel free to contact us.

Cloud Storage v3

RunStorage offers free cloud storage for manual and automatic access. To get started, please contact us with the details mentioned in our web console at https://runstorage.io/app. The terms linked there apply.

Mail API v2

We provide two different mail services. The Mail API and our custom email, which grants you SMTP and IMAP access to an email account with the name of your choice. To create a custom account, please contact us. The Mail API can be used without authentication as shown below.

$ curl -H "Content-Type: application/json" -X POST -d '{"to":"hostmaster@example.com","subject":"Test","body":"Hello world!"}' https://mail.runstorageapis.com/v2
{"success":true}

As you can see above, sending an anonymous email is as simple as POST-ing a JSON with the values to, subject and body to https://mail.runstorageapis.com/v2. The body field supports HTML formatting. In case of an error, the result will also include a value called error which describes why sending failed.

Markdown API v1

The Markdown API makes compiling markdown to HTML incredibly easy. It can be requested as shown below.

$ curl -H "Content-Type: text/plain" -X POST --data-binary 'Hello **world**!' https://markdown.runstorageapis.com/v1
<p>Hello <strong>world</strong>!</p>

Notice: With curl please use the --data-binary flag instead of --data, since --data kills the line feeds.

When requesting the Markdown API at https://markdown.runstorageapis.com/v1 via POST, please be informed that the result is returned with the content-type: text/plain header. If you would like to style your result, feel free to use the example shown below.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://www.runstorageapis.com/css/bootstrap-markdown.css" rel="stylesheet">
    <title>Some Title</title>
  </head>
  <body>
    <br />
    <div class="container">
      <div class="markdown-body">
        Your HTML result from <code>markdown.runstorageapis.com</code> here.
      </div>
    </div>
  </body>
</html>

If there are any questions, as always, feel free to contact us.