Getting started

Root URL

The first thing you'll need to know is where to send your REST requests:

The root API URL is https://api.us-east-1.everywhere.avid.com/apis/avid.sibelius.publishing;version=2;realm=global.

You'll probably notice the version and realm parameters that form part of the URL. In the future these will allow us to run multiple instances and versions of Sibelius Cloud Publishing, but for now their values are always 2 and global respectively.

All communication is via HTTPS.

Authorization and access tokens

Use of the API is authenticated and authorized using an access token. Your access token will be provided to you by e-mail.

You must send your access token as an HTTP Authorization header with every request.

The required format of the header is Authorization: Bearer <your access token here>. Here's an example:

1
2
3
4
GET /apis/avid.sibelius.publishing;version=2;realm=global/publishers HTTP/1.1
Authorization: Bearer MmMwNzBmY2ItMmRjNC00NmNhLTkyMmUtNDBkNDZjYmUyMjUz
Host: api.us-east-1.everywhere.avid.com
Content-Type: application/json

Making your first request

Before getting into any publishing related calls, you can use the serviceHealth method to check your connectivity and authorization.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
GET /apis/avid.sibelius.publishing;version=2;realm=global/core/health HTTP/1.1
Host: api.us-east-1.everywhere.avid.com
Authorization: Bearer MmMwNzBmY2ItMmRjNC00NmNhLTkyMmUtNDBkNDZjYmUyMjUz

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 1312
Date: Wed, 26 Oct 2016 01:39:51 GMT

{
"service": {
"healthStatus": "ok",
"healthVerifier": "default"
},
"connector": { … },
"route": [ … ]
}

Passing parameters

Some resources have user-definable parameters. These may be set either as as query parameters or in the body of the HTTP request as a JSON document.

For example, the next two examples demonstrate how you can specify the scoreUrl parameter first using query parameters:

1
2
3
4
POST /apis/avid.sibelius.publishing;version=2;realm=global/scores?scoreUrl=http%3A%2F%2Fwww.sibelius.com%2Ftest.sco HTTP/1.1
Authorization: Bearer MmMwNzBmY2ItMmRjNC00NmNhLTkyMmUtNDBkNDZjYmUyMjUz
Host: api.us-east-1.everywhere.avid.com
Content-Type: application/json

And now as part of the HTTP body:

1
2
3
4
5
6
7
8
POST /apis/avid.sibelius.publishing;version=2;realm=global/scores HTTP/1.1
Authorization: Bearer MmMwNzBmY2ItMmRjNC00NmNhLTkyMmUtNDBkNDZjYmUyMjUz
Host: api.us-east-1.everywhere.avid.com
Content-Type: application/json

{
"scoreUrl": "http://www.sibelius.com/test.sco"
}

Note: You must URI-encode any parameters that you pass as query parameters. There is no need to do this when specifying parameter as part of the HTTP body.