Fast.io Developer Documentation

Fast.io simplifies the delivery of sales and marketing materials - documents, PDFs, images, videos, and websites. If you're already storing your documents in the cloud, no changes are required, and there's no need for an IT department.

Get Started    Fundamentals

Introduction

This page explains the fundamentals of the Fast.io API.

API Fundumentals

The Fast.io API is based on REST principles using resource-oriented URLs, and HTTP response codes to indicate the result of API requests. Responses from the API are, by default, in JSON format. Responses include RPC like state you may also use which includes the result of the API call as well as other details which may be relevant.

Authentication

Our API authenticates using an authentication header and requests to resources using HTTP verbs. You may use an access token which is obtained from Access Token or an API Key, either of which may be passed as an HTTP header Authentication.

Character Sets

UTF-8 characters are supported for most inputs notably excluding Server names. Only LATIN-1 characters compliant with our DNS and are accepted for Server names.

API Endpoints

The base API endpoint for production traffic is https://go.fast.io/api/.

Append the version number of the API when accessing resources, such as https://go.fast.io/api/v1.x/.

There are three tiers of version numbers supported, a direct version number, such as 1.0, a major series, 1.x, or the latest production release, current.

We recommend you use the latest major release, such as 1.x to avoid major releases breaking your implementation.

Example Request

$ curl https://go.fast.io/api/v1.0/server/MyServer.imfast.io/details \
        -H "Authorization: yffaenajzny66mrdiuk6s6dvk6ef2gq7ia72"

🚧

HTTPs Only

Our API only supports requests over the TLS 1.2 or TLS 1.3. Any requests made via HTTP will be upgraded. This restriction does not apply to content served from a Server.

🚧

Documentation Note

The contents of example calls including error messages should not be taken as authoritative. Descriptive strings may vary slightly from example code or between versions.

Nomenclature

Term

Description

Cloud Storage Provider

These are Cloud Storage accounts you have linked to your Fast account through OAuth, such as Google Drive.

Server

These are the equivalent of HTTP Web Servers, which render content that is contained within the Cloud Storage Providers associated Folder. The contents of this Folder are made available through the associated CDN, and activity is reported to the associated Analytics Provider.

Analytics Provider

Analytics Providers, such as Google Analytics or Mixpanel, can be associated with profiles which can, in-turn, be associated with one or more Servers. When these Servers are accessed through the CDN, the details of the activity are reported to the Analytics Provider with the settings provided in the profile.

CDN

Content Delivery Networks (or CDN’s) are at the edge of our platform. These receive end-user-requests and return results based on the configuration of the Server and the contents of the Cloud Storage Provider’s Folder.

Sync

Syncing refers to the process of ensuring the contents represented by the CDN match the contents of the Cloud Storage Provider, based on the settings of the Server. Sync’s occur anytime contents of the Cloud Storage Provider’s Fast.io Folder changes.

Purge / Flushing

Purging refers to the process of invalidating the contents of a CDN which will cause it to re-sync with the Cloud Storage Provider. This happens regularly as part of the Sync process.

Pre-Caching

Pre-Caching occurs when we pre-emptily move the contents of you Cloud Storage Folder to a CDN in order to ensure the first request is as performant as the second request.

Folder

These reside in Servers and contain Files and other Folders. They cannot be distributed.

Files

This refers to content to be delivered and work just like you would expect Files too. They reside in Servers or in Folders.

Variables

This documentation references variables in the format :{variable name}. The server variable, for example, would be represented as :{server}.

URL Formats may also utilize : to indicate variable inclusion for readability. The server variable, for example, would be represented as :server.

Updated about a year ago

Introduction


This page explains the fundamentals of the Fast.io API.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.