API to SVG to Animate_v4

Screendragon's Application Programming Interface (API)

The Screendragon API is a RESTful API that allows 3rd parties to integrate with the Screendragon platform.

The API leverages OAuth2 so therefore a valid token needs to be included in all API requests to be permitted. Please contact your Screendragon account manager to receive a unique client id and secret for your application.

All requests return a JSON response and require a JSON body where required.

Download Postman Collection

AuthParent
GetCurrentUserEndPoint_2b
postmanOff

A basic postman collection can be downloaded from here. This collection contains a request to return the details of the api user. Please ensue that you add your client id & secret at the collection root.

End Point: https://apisandbox.screendragon.com/sdapi/api/users/me

A typical response would look like:

sd {
"userID": 12345,
"userName": "apiuser",
"firstName": "John",
"lastName": "Smith",
"email": "noreply@screendragon.com",
"customFields": [],
"status": "active",
"createDate": "2014-10-01T11:49:32",
"groups": []
}

Documentation

The Screendragon documentation can be viewed here:

The full API Swagger generated documentation can be viewed on the API Sandbox site:

API Access

Please contact your Screendragon Account Manager for your unique Client ID & Secret for the API Sandbox site.

Please note these expire after 24 hours. If you already have a site hosted by Screendragon contact your Account Manager.

Code Examples

.Net
Utilizing Newtonsoft and RestSharp Libraries

sd using Newtonsoft.Json.Linq;
using RestSharp;
using System;
namespace SandboxAPI
{
class Program
{
static void Main(string[] args)
{

string clientId = "YOUR_CLIENT_ID";
string clientSecret = "YOUR_CLIENT_SECRET";

var client = new RestClient("https://apisandbox.screendragon.com/sdapi/OAuth/Token");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "grant_type=client_credentials&scope=all&client_id=" + clientId + "&client_secret=" + clientSecret, ParameterType.RequestBody); RestResponse response = client.Execute(request);
dynamic resp = JObject.Parse(response.Content);
string token = resp.access_token;
client = new RestClient("https://apisandbox.screendragon.com/sdapi/api/users/me");
request = new RestRequest(Method.GET);
request.AddHeader("authorization", "Bearer " + token);
request.AddHeader("cache-control", "no-cache");
response = client.Execute(request);
}
}
}

Javascript/Typescript
A library such as (https://www.npmjs.com/package/client-oauth2) can be utilized to implement the OAuth 2 flow.

sd // Client credentials

var clientId = 'YOUR_CLIENT_ID';
var clientSecret = 'YOUR_CLIENT_SECRET';

//Call the API
fetch('https://apisandbox.screendragon.com/sdapi/OAuth/Token', {
method: 'POST',
body: 'grant_type=client_credentials&client_id=' + clientId + '&client_secret=' + clientSecret,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function (response) {
return response.json();
}).then(function (data) {
// Return a second API call
// This one uses the token we received for authentication
return fetch('https://apisandbox.screendragon.com/sdapi/api/users/me', {
headers: {
'Authorization': data.token_type + ' ' + data.access_token,
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}).then(function (response) {
console.log(response);
return response.json();
}).then(function (data) {
console.log(data);
}).catch(function (err) {
console.log('Error', err);
});

Further Help

Please email your Screendragon Account Manager to arrange further technical assistance.