Doppler

Doppler Developer Hub

Welcome to the Doppler developer hub. You'll find comprehensive guides and documentation to help you start working with Doppler as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Forums
Suggest Edits

Introduction

 

The Doppler API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application (though you should never expose your secret API key in any public website's client-side code). JSON is returned by all API responses, including errors.

Be sure to subscribe to Doppler's API announce mailing list to receive information on new additions and changes to Doppler's API.

Suggest Edits

Authentication

 

Authenticate your account by including your secret key in API requests. You can find your API key in your account page. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such GitHub, client-side code, and so forth.

All API requests must be made over HTTPS. Calls made over plain HTTP will be redirected to HTTPS. API requests without authentication will also fail.

HTTP Header
Value

api-key

API-KEY

Doppler uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, parameter was an invalid type, etc.). Codes in the 5xx range indicate an error with Doppler's servers (these are rare).

200

OK

Everything worked as expected.

400

Bad Request

The request was unacceptable, often due to missing a required parameter.

401

Unauthorized

No valid API key provided.

404

Not Found

The requested resource doesn't exist.

429

Too Many Requests

Too many requests hit the API too quickly. We recommend an exponential backoff of your requests and checking our rate limit header X-RateLimit-Remaining

430

Timeout

Our API timed out because something went wrong.

5XX

Server Errors

Something went wrong on Doppler's end. (These are rare.)

Suggest Edits

App Listing

Returns a list of app objects that are live on the marketplace. The apps are sorted in alphabetical order based on the slug. Each response will have a limit of 10 apps.

 
gethttps://api.doppler.market/v1/apps/
curl --request GET \
  --url 'https://api.doppler.market/v1/apps/?page=1&limit=20' \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.doppler.market/v1/apps/',
  qs: 
   { page: '1',
     limit: '20' },
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/v1/apps/?page=1&limit=20")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.doppler.market/v1/apps/?page=1&limit=20");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/v1/apps/"

querystring = {"page":"1","limit":"20"}

headers = {'api-key': 'API_KEY'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "apps": [
    {
      "id": 1,
      "slug": "vgg16",
      "category_id": null,
      "name": "Image Recognition",
      "description": {
        "plain": "Example\nSample description.",
      	"html": "<h1>Example</h1><p>Sample description.</p>",
      	"markdown": "#Example\nSample description."
      },
      "versions": 15,
      "created_at": "2018-02-28T10:22:03.613Z",
      "website": "https://vgg16.com",
      "repository": "https://github.com/tensorflow/vgg16",
      "tasks": {
        "daily": 0,
        "weekly": 0,
        "monthly": 0
      },
      "models": [
        // LIST OF MODEL OBJECTS
      ]
    }
  ],
  "page": 1,
  "success": true
}

Query Params

page
int32
required

page number

limit
int32
required

number of apps to return per page

Headers

api-key
string
 
Suggest Edits

Fetch App

Retrieves the details of a given app. Supply the unique app slug and Doppler will return the corresponding app details.

 
gethttps://api.doppler.market/v1/apps/app_slug
curl --request GET \
  --url https://api.doppler.market/v1/apps/APP_SLUG \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.doppler.market/v1/apps/APP_SLUG',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/v1/apps/APP_SLUG")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.doppler.market/v1/apps/APP_SLUG");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/v1/apps/APP_SLUG"

headers = {'api-key': 'API_KEY'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "app": {
    "id": 1,
    "slug": "vgg16",
    "name": "Image Recognition",
    "image_url": "https://s3.aws......",
    "description": {
      "plain": "Example\nSample description.",
      "html": "<h1>Example</h1><p>Sample description.</p>",
      "markdown": "#Example\nSample description."
    },
    "versions": 15,
    "created_at": "2018-02-28T10:22:03.613Z",
    "website": "https://vgg16.com",
    "repository": "https://github.com/tensorflow/vgg16",
    "tasks": {
      "daily": 0,
      "weekly": 0,
      "monthly": 0
    },
    "models": [
    	// LIST OF MODEL OBJECTS
    ]
  },
  "success": true
}

Path Params

app_slug
string
required

app's slug

Headers

api-key
string
 
Suggest Edits

Fetch Model

Retrieves the details of a model for a given app. Supply the model version and Doppler will return the corresponding model details.

 
gethttps://api.doppler.market/v1/apps/app_slug/models/model_version
curl --request GET \
  --url https://api.doppler.market/v1/apps/APP_SLUG/models/MODEL_VERSION \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.doppler.market/v1/apps/APP_SLUG/models/MODEL_VERSION',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/v1/apps/APP_SLUG/models/MODEL_VERSION")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.doppler.market/v1/apps/APP_SLUG/models/MODEL_VERSION");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/v1/apps/APP_SLUG/models/MODEL_VERSION"

headers = {'api-key': 'API_KEY'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "model": {
    "app_id": 1,
    "version": 2,
    "name": "Sample App",
    "description": {
      "plain": "Example\nSample description.",
      "html": "<h1>Example</h1><p>Sample description.</p>",
      "markdown": "#Example\nSample description."
    },
    "urls": {
      "raw": "/v1/apps/1/models/2/download/raw"
    },
    "schemes": {
      "input": {
      	"image": "string"
      },
      "output": {
        "predictions": "object"
      }
    },
    "examples": {
      "input": {
      	"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg"
      },
      "output": {
        "predictions": [
          { "label": "egyptian cat", "score": 0.657951 },
          { "label": "tiger cat", "score": 0.2453751 },
          { "label": "tabby, tabby cat", "score": 0.056515604 },
          { "label": "lynx, catamount", "score": 0.011716006 },
          { "label": "bucket, pail", "score": 0.004541548 }
        ]
      }
    },
    "created_at": "2018-02-28T10:27:23.730Z",
    "website": null,
    "repository": null,
    "tasks": {
      "daily": 0,
      "weekly": 0,
      "monthly": 0
    },
    "stats": {
      "trust": 5,
      "precision": 0.95,
      "recall": 0.8
    }
  },
  "success": true
}

Path Params

app_slug
string
required

app's slug

model_version
string
required

model's version

Headers

api-key
string
 
Suggest Edits

Prediction

Request a prediction/inference for a given app on the newest model.

 
posthttps://api.doppler.market/consumer/apps/app_slug/prediction
curl --request POST \
  --url https://api.doppler.market/consumer/apps/APP_SLUG/prediction \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.doppler.market/consumer/apps/APP_SLUG/prediction',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/consumer/apps/APP_SLUG/prediction")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.doppler.market/consumer/apps/APP_SLUG/prediction");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/consumer/apps/APP_SLUG/prediction"

headers = {'api-key': 'API_KEY'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "output": {
    // WILL BE DIFFERENT PER APP / PREDICTION
  },
  "success": true,
}
{
  "output": {
    "predictions": [
      { "label": "egyptian cat", "score": 0.657951 },
      { "label": "tiger cat", "score": 0.2453751 },
      { "label": "tabby, tabby cat", "score": 0.056515604 },
      { "label": "lynx, catamount", "score": 0.011716006 },
      { "label": "bucket, pail", "score": 0.004541548 }
    ]
  },
  "success": true
}

Path Params

app_slug
string
required

app's slug

Body Params

body
object
required

POST body should contain all input data specified in the input_scheme

Headers

api-key
string
 
Suggest Edits

Prediction Model

Request a prediction/inference for a given app's model.

 
posthttps://api.doppler.market/consumer/apps/app_slug/models/model_version/prediction
curl --request POST \
  --url https://api.doppler.market/consumer/apps/APP_SLUG/models/MODEL_VERSION/prediction \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.doppler.market/consumer/apps/APP_SLUG/models/MODEL_VERSION/prediction',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/consumer/apps/APP_SLUG/models/MODEL_VERSION/prediction")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.doppler.market/consumer/apps/APP_SLUG/models/MODEL_VERSION/prediction");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/consumer/apps/APP_SLUG/models/MODEL_VERSION/prediction"

headers = {'api-key': 'API_KEY'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "output": {
    // WILL BE DIFFERENT PER APP / PREDICTION
  },
  "success": true
}
{
  "output": {
    "predictions": [
      { "label": "egyptian cat", "score": 0.657951 },
      { "label": "tiger cat", "score": 0.2453751 },
      { "label": "tabby, tabby cat", "score": 0.056515604 },
      { "label": "lynx, catamount", "score": 0.011716006 },
      { "label": "bucket, pail", "score": 0.004541548 }
    ]
  },
  "success": true
}

Path Params

app_slug
string
required

app's slug

model_version
string
required

model's version

Body Params

body
object
required

POST body should contain all input data specified in the input_scheme

Headers

api-key
string
 
Suggest Edits

Prediction Model (Short Hand)

Request a prediction/inference for a given app's model.

 
posthttps://api.doppler.market/consumer/apps/app_slug@model_version/prediction/
curl --request POST \
  --url https://api.doppler.market/consumer/apps/APP_SLUG@MODEL_VERSION/prediction/ \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.doppler.market/consumer/apps/APP_SLUG@MODEL_VERSION/prediction/',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/consumer/apps/APP_SLUG@MODEL_VERSION/prediction/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.doppler.market/consumer/apps/APP_SLUG@MODEL_VERSION/prediction/");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/consumer/apps/APP_SLUG@MODEL_VERSION/prediction/"

headers = {'api-key': 'API_KEY'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "output": {
    // WILL BE DIFFERENT PER APP / PREDICTION
  },
  "success": true
}
{
  "output": {
    "predictions": [
      { "label": "egyptian cat", "score": 0.657951 },
      { "label": "tiger cat", "score": 0.2453751 },
      { "label": "tabby, tabby cat", "score": 0.056515604 },
      { "label": "lynx, catamount", "score": 0.011716006 },
      { "label": "bucket, pail", "score": 0.004541548 }
    ]
  },
  "success": true
}

Path Params

app_slug
string
required

app's slug

model_version
string
required

model's version

Body Params

body
object
required

POST body should contain all input data specified in the input_scheme

Headers

api-key
string
 
Suggest Edits

Create App

 
posthttps://api.doppler.market/v1/maintainer/apps/create
curl --request POST \
  --url https://api.doppler.market/v1/maintainer/apps/create \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.doppler.market/v1/maintainer/apps/create',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/v1/maintainer/apps/create")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.doppler.market/v1/maintainer/apps/create");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/v1/maintainer/apps/create"

headers = {'api-key': 'API_KEY'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": 1,
  "slug": "nlp-sentiment",
  "category_id": null,
  "name": "NLP Sentiment Analysis",
  "image_url": "https://s3.aws......",
  "description": {
    "plain": null,
    "html": null,
    "markdown": null
  },
  "versions": 0,
  "created_at": "2018-04-17T07:43:36.019Z",
  "website": null,
  "repository": null,
  "tasks": {
    "daily": 0,
    "weekly": 0,
    "monthly": 0
  }
}

Body Params

name
string
required

A concise explanation of the app. This an app's first chance to stand out to a user.

slug
string
required

The index used to identify the app. Should not contain spaces or any special characters, except for underscores and dashes.

image_url
string

The image_url used as a cover photo for the app. Users will recognize your app by this photo.

Headers

api-key
string
 
Suggest Edits

Create Model

 
posthttps://api.doppler.market/v1/maintainer/apps/app_slug/models/create
curl --request POST \
  --url https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/create \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/create',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/create")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/create");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/create"

headers = {'api-key': 'API_KEY'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": 1,
  "upload": {
    "url": "<AWS_UPLOAD_FILE_URL>",
    "method": "PUT",
    "expires": 300000
  },
  "completion_callback": {
    "url": "/v1/apps/nlp-sentiment/model/1/upload/complete",
    "method": "POST"
  },
  "success": true
}

Path Params

app_slug
string
required

app's slug

Body Params

description
string
required

Markdown description of your app. We recommend uploading the contents of your README.md

input_scheme
object
required

Contains at a high level the input scheme. Each key should have a corresponding value that describes it's value type. Supported value types: number, string, object

output_scheme
object
required

Contains at a high level the output scheme. Each key should have a corresponding value that describes it's value type. Supported value types: number, string, object

input_example
object

An example input that will be used to fill out portions of documentation. Required if you want users to test the app in the browser, which increase your chances of them using your model.

output_example
object

An example output that will be used to fill out portions of documentation. Required if you want users to test the app in the browser, which increase your chances of them using your model.

name
string

Update the name of the app. If one is not provided it will use the existing name.

website
string

Link to the homepage or documentation

repo
string

Link to the repository

precision_score
float

Precision score based off of apps' testing. For now we are working off of the honor system.

recall_score
float

Recall score based off of apps' testing. For now we are working off of the honor system.

image_url
string

This will update the app's image_url once the model upload has completed.

Headers

api-key
string
 
Suggest Edits

Model Upload Complete

 
posthttps://api.doppler.market/v1/maintainer/apps/app_slug/models/model_version/upload/complete
curl --request POST \
  --url https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/MODEL_VERSION/upload/complete \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/MODEL_VERSION/upload/complete',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/MODEL_VERSION/upload/complete")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/MODEL_VERSION/upload/complete");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/v1/maintainer/apps/APP_SLUG/models/MODEL_VERSION/upload/complete"

headers = {'api-key': 'API_KEY'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
  "message": "File upload not complete. Please make sure AWS S3 has confirmed the file is uploaded.",
  "success": false
}

Path Params

app_slug
string
required

app's slug

model_version
string
required

model's version

Headers

api-key
string
 
Suggest Edits

Model Download

Only the owner of a model will be able to download the model. We value the privacy of your code, and will not share it without your explicit agreement.

 
gethttps://api.doppler.market/v1/apps/app_slug/models/model_verion/download/raw
curl --request GET \
  --url https://api.doppler.market/v1/apps/APP_SLUG/models/model_verion/download/raw \
  --header 'api-key: API_KEY'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.doppler.market/v1/apps/APP_SLUG/models/model_verion/download/raw',
  headers: { 'api-key': 'API_KEY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.doppler.market/v1/apps/APP_SLUG/models/model_verion/download/raw")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["api-key"] = 'API_KEY'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.doppler.market/v1/apps/APP_SLUG/models/model_verion/download/raw");
xhr.setRequestHeader("api-key", "API_KEY");

xhr.send(data);
import requests

url = "https://api.doppler.market/v1/apps/APP_SLUG/models/model_verion/download/raw"

headers = {'api-key': 'API_KEY'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

REDIRECTS TO AWS FILE DOWNLOAD URL

Path Params

app_slug
string
required

app's slug

model_version
string
required

model version

Headers

api-key
string