Getting Started

Hey there! Thanks for checking out Cisco Spark for Developers. If you've used Cisco Spark you know how easy it makes staying in sync with your team and customers. If you're new to Cisco Spark, go create an account and come back when you're finished.

In Cisco Spark, conversations take place in virtual meeting rooms. Some rooms live for a few hours while others become permanent fixtures of your team's workflow with titles like Daily Standup or Build Status. Cisco Spark allows conversations to flow seamlessly between messages, video calls, and real-time whiteboarding sessions. No other solution brings together so many facets of collaboration into a single unified platform.

And it's that platform part that Cisco Spark for Developers is all about. We've taken a huge step towards opening up the power behind the Cisco Spark app to anyone seeking to extend the Cisco Spark experience.

What's possible with Cisco Spark's APIs?

This initial release is focused primarily on room management and getting content in and out of Cisco Spark. With this initial set of APIs you can already:

But enough talk! Since you're logged in we can just show you. Click on the Run button bellow to see the APIs in action:

You're not logged in. to run the demo.

curl -X POST -H "Authorization:Bearer {{ACCESS_TOKEN}}" --data "toPersonId={{DEVSUPPORT_ID}}" --data "text=Hi%20Sparky"

Now go to the Cisco Spark app and see what happened! j

Using the Messages API we were able to send a message to Sparky as you. Sparky is a simple bot that replies to any message with a quote of the day.


You'll notice that an Authorization header was sent along with the request above. This is how the Cisco Spark APIs validate access and identify the requesting user. In the example above, we used your personal access (or portal) token:

Please to get your auth token.

This access token allows you to perform actions in Cisco Spark as yourself. For example, inviting someone into a room with the Memberships API appears just as if you had invited them via one of the Cisco Spark clients.

Your personal access token will be valid for two years and is the most effective way to learn and explore Cisco Spark’s APIs. If you log out of your Cisco Spark account on this site, the token will immediately expire and you'll be issued a new token when you log in again.

Interacting with Cisco Spark as yourself is great but there are many cases when you'll want to perform actions on behalf of someone else. To do this, you will need a separate access token that you obtain through an OAuth authorization grant flow. Fortunately, we've baked OAuth support directly into the platform. With a few easy steps you can have a Cisco Spark user grant permission to your app and perform actions on their behalf. For more information see the Apps & Authentication Guide.

Methods & Content Types

Cisco Spark's APIs are RESTful. In REST, each resource is represented by a base URL like /messages and the HTTP methods GET, POST, PUT and DELETE are used to request data and perform actions on those resources.

For methods that accept request parameters the platform accepts either application/json or application/x-www-form-urlencoded content types and currently only supports returning data in application/json format.

Next Steps

We've tried to make it as simple as possible to explore and learn the Spark APIs. If you're the type of person that learns by doing then jump straight into the Quick Reference to get a listing of the available API endpoints. Once you find an endpoint that looks interesting go to that section and make sure to enable Test Mode using the toggle on the top righthand corner. In Test Mode you can make APIs requests directly from the docs and see the HTTP response from the Cisco Spark Platform.

If you prefer tutorials and guided lessons definitely check out Samples and Tutorials for some hands on Learning Labs powered by Cisco DevNet.

Once you've learned the APIs and are ready to build a real app you may be interested in using an SDK to eliminate some boilerplate. If your favorite language is not listed don't worry, SDKs in new languages will be added regularly.

Getting Help

If you ever get stuck, Cisco Spark's DevSupport team has you covered, standing by 24/7 to help you build amazing collaboration apps. Check out Support for more info.