Build your own backups, versions, and history.
The easiest, fastest way to add backups and versioning to your application.


Protect Your Customers
Your customers rely on your app to run their business. Protect their data by backing it up to Rewind’s secure cloud service. Let them quickly and easily restore data to any previous point in time.
Protect Your Time
Quickly add backups and version history and let your users restore items instantly. Rewind’s meticulously designed APIs make it easy to enhance any application with backups and previous versions.
People make mistakes. And inevitably users will delete data in your app. Rewind gives access to a complete backup of information that can be queried quickly to let users restore data they accidentally erased.


Protect Your Time
Quickly add backups and version history and let your users restore items instantly. Rewind’s meticulously designed APIs make it easy to enhance any application with backups and previous versions.
People make mistakes. And inevitably users will delete data in your app. Rewind gives access to a complete backup of information that can be queried quickly to let users restore data they accidentally erased.
#This example shows how to save a document to the Rewind Versioning API using Ruby.
require 'net/http'
require 'net/https'
require 'json'
API_KEY = 'my-api-key'
def send_request(document_id:, content:, owner: nil, type: nil)
uri = URI 'https://api.rewind.com/v1/documents'
# Create client
http = Net::HTTP.new uri.host, uri.port
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
body = {
id: document_id,
content: content,
owner: owner,
type: type
}
# Create Request
request = Net::HTTP::Post.new uri
# Add headers
request.add_field 'x-api-key', API_KEY
request.add_field 'Content-Type', 'application/json'
request.add_field 'Accept', 'application/json'
# Set body
request.body = JSON.dump body
# Fetch Request
response = http.request request
puts "Response HTTP Status Code: #{response.code}"
puts "Response HTTP Response Body: #{response.body}"
rescue => e
puts "HTTP Request failed (#{e.message})"
end
curl -X POST --url https://api.rewind.com/v1/documents \
⠀⠀--data '{"id":"some_id","content":"some content","owner":"some_owner","type":"some_type"}' \
⠀⠀--header 'x-api-key: MY_API_KEY' \
⠀⠀--header 'content-type: application/json' \
⠀⠀--header 'Accept: application/json’

Grow Your Business
Enhance your feature set by providing longer versioning to your best customers, and use Rewind as a way to enhance your best plans.
Features Rewind Enables




Thousands of Shopify store owners swear by this service. I have many merchants, friends, and people in the industry that I know are using Rewind and they’re very, very satisfied.
Steve Hutt
Merchant Success Manager, Shopify Plus









We’ve been building backup software since 2015. Rewind backups are trusted by over 10,000 businesses to protect their data.
#This example shows how to retrieve a set of versions for a specific document from the Rewind Versioning API using Ruby
require 'net/http'
require 'net/https'
API_KEY = 'my-api-key'
def send_request(document_id:, owner: nil, type: nil)
uri = URI "https://api.rewind.com/v1/documents/#{document_id}/versions?owner=#{owner}&type=#{type}"
# Create client
http = Net::HTTP.new uri.host, uri.port
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
# Create Request
request = Net::HTTP::Get.new uri
# Add headers
request.add_field 'x-api-key', API_KEY
request.add_field 'Content-Type', 'application/json'
request.add_field 'Accept', 'application/json'
# Fetch Request
response = http.request request
puts "Response HTTP Status Code: #{response.code}"
puts "Response HTTP Response Body: #{response.body}"
rescue => e
puts "HTTP Request failed (#{e.message})"
end
curl --url https://api.rewind.com/v1/documents/some_id/versions?owner=some_owner&type=some_type \
⠀⠀--header 'x-api-key: MY_API_KEY' \
⠀⠀--header 'content-type: application/json' \
⠀⠀--header 'Accept: application/json'

Versioning API

Account API
<!-- Rewind Widget -->
<script>
function initRewind() {
const rewind = new Rewind("YOUR_API_KEY");
rewind.getBackupStatus(
"rewind-widget",
"YOUR_ACCOUNT_ID",
"YOUR_ACCOUNT_PLATFORM"
);
}
</script>
https://static.rewind.io/api/1.0.0/widget.min.js
<!-- End Rewind Widget -->

How it Works
Request early access to the Rewind API to integrate backups and versioning into your SaaS application. Easily enable features including History, Rollbacks and a Recycle Bin for deleted items.