RunStorage.com
Sign up

RunStorage.io

At RunStorage.io we provide fast and reliable APIs and services for developers. To use them, you may easily sign in to your dashboard with your Google Account.

RunStorage.io Service Description
Backup CI Backup CI securely backs up public GitHub repositories on every commit.
Cloud Storage RunStorage offers custom cloud storage for your needs.
Mail API The Mail API gives you a simple, minimalist endpoint for sending email.
Delvra CDN A fast and reliable CDN for libraries like jQuery, Bootstrap or Font Awesome.
Markdown API With the Markdown API you can easily compile Markdown to HTML.

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/. From there copy the so-called Access URL, which should look similar to the one below:

https://backupci.com/v2?key=[YOUR_32CHAR_API_KEY]&user_id=[YOUR_USER_ID]

Once you've copied the Access URL, please open https://github.com and navigate to your repository. Form there please select Settings, then Webhooks and after that Add webhook. Retype your password if requested and fill in the form as shown below.

Field What to do?
Payload URL Paste the Access URL beginning with https://backupci.com/.
Content type Select application/json.
Secret Leave 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/.

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/ for a graphical user interface (click the blue repository name for more information) or use our API. 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[YOUR_32CHAR_API_KEY]&user_id=[YOUR_USER_ID]&limit=5"
{
    "success": true,
    "pushes": [
        {
            "id": "1",
            "owner": "100549798636359045325",
            "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": "1VPbOjCSVCFZ1FePCA4XdiaXpfoFLtq3S",
            "status": "SUCCESS"
        },
        [...]
    ]
}

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

Name Explanation
id A unique ID for this push. If there are issues, please contact us with this ID.
owner Your account's numeric user ID.
repository The GitHub repository which has been backed up, including user or organization 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. See the Download section for more information. 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/ by clicking the blue repository name and selecting RunStorage.io as backup provider. If you are using this service automatically via its API, backups may be downloaded by requesting the below URL (replace [ID] with runstorage_tarball from your API result). If you would like to list the file's contents instead of downloading please prepend a ~ symbol to your [ID].

https://backupci.com/[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 your personal wishes. From there we will provide you with legal documents, such as the Terms of Service, but also with required credentials and login information.

# Mail API v2

The Mail API can be used without authentication for simple straight-forward email sending 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.

# Delvra CDN by RunStorage.io

Our library CDN distributes popular web libraries at the required scale. By using a managed cloud infrastructure with dedicated SSDs we are able to deliver files at incredible speeds, which is also the reason why we, ourselves, use Delvra (Delvr from Deliver, a from accelerated) and our internal runstorageapis.com CDN for our web pages and services.

If you would like to use our CDN for your web projects, please feel free to include resources from the below URLs.

Library URL
Bootstrap 3.3.7 https://delvra.com/bootstrap/3.3.7.css
https://delvra.com/bootstrap/3.3.7.js
Bootstrap 4.0.0 https://delvra.com/bootstrap/4.0.0.css
https://delvra.com/bootstrap/4.0.0.js
Bootstrap 4.1.1 https://delvra.com/bootstrap/4.1.1.css
https://delvra.com/bootstrap/4.1.1.js
Font Awesome 4.7.0 https://delvra.com/font-awesome/4.7.0.css
Font Awesome 5.1.0 https://delvra.com/font-awesome/5.1.0.css
jQuery 2.1.1 https://delvra.com/jquery/2.1.1.js
jQuery 3.3.1 https://delvra.com/jquery/3.3.1.js
Vue.js 2.5.17 https://delvra.com/vue/2.5.17.js

The complete list of all libraries provided by Delvra can be found at https://delvra.com/index.json.

# Markdown API v1

As you can see below, the Markdown API makes compiling markdown to HTML incredibly easy.

$ 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 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.

For styling of your results, you may use a custom Bootstrap library hosted by our Delvra system.

<!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.