Home

Shannon Lewis edited this page Dec 8, 2016 · 13 revisions
Clone this wiki locally

Octopus Deploy is a user-friendly automated deployment tool for .NET developers. This GitHub repository exists to provide documentation for the Octopus Deploy HTTP API.

Applies to Octopus Deploy 2.x and above

In Octopus Deploy 2.0, we made a lot of improvements to the API. While many of the concepts are the same and should be easy to migrate, it is important to note that the Octopus 1.x and Octopus 2.x+ APIs are not compatible.

Samples

Over time supporting customers we have been building up a series of samples using the Octopus API for different purposes. Take a look at the code in this repository for samples in different languages.

Jumping in

The Octopus Deploy API is available at:

http://<your-octopus-installation>/api

You'll need an API key to access the API. You can get your API key from your profile page on the Octopus web portal. This should be sent in the X-Octopus-ApiKey HTTP header, or in an apikey query string parameter. Learn more about authenticating.

You can browse the API of our demo server by signing in as a Guest:

https://demo.octopus.com/api

Use your developer tools

The best way to learn how to use the Octopus API is to watch how Octopus actually uses the API. Use your browser developer tool of choice and record the HTTP traffic between the Octopus UI and Server whilst performing an action you want to automate. This way you'll see the interaction between Octopus resources and the flow required to automate any Octopus activity!

Design goals

When building this new API, we worked with the following goals in mind:

  1. To be friendly and easy to figure out
  2. To be hypermedia driven, using links and the occasional URI template (read more)
  3. To have the HTML user interface for Octopus consume the API - this means that anything you can do via the application can also be done via the API
  4. To have a nice client library for .NET available via NuGet

Learning more

Use the sidebar on the right to learn more about what the Octopus Deploy API supports.