SiteBuilder API
Although Sitebuilder is designed primarily as an end-user tool, to be driven via the browser, there are a number of points in the system where users with an appropriate level of technical knowledge can write scripts to automate it.
Note: Although we support the operation of the Sitebuilder APIs in exactly the same way that we support the rest of the application, and we are happy to offer advice and consultancy relating to the design and implementation of applications developed using these APIs, we cannot at this time offer formal support for such applications.
In this article:
All of the Sitebuilder APIs are HTTP-based, so a pre-requisite for developing client code is a knowledge of how to automate HTTP / HTTPS interactions.
Many examples in this section use cURLLink opens in a new window, a command-line tool for executing commands to web servers. Using cURL allows us to show how the program is interacting with the web server at the lowest level, but you can use any scripting or programming language that can access web resources to use the Sitebuilder APIs.
API examples
Getting started | Getting started with the Sitebuilder API by setting up an API user account and accessing an API endpoint programmatically. |
Working with pages and files | Creating pages, editing their content and some of their basic properties, and uploading files |
Using SiteBuilder data feeds | A list of some of the data feeds available in Sitebuilder |
Common Problems | Common problems and pitfalls with the Sitebuilder API |
Authentication
All Sitebuilder resources are protected by Web sign-on. You must use an external user account for API access to a protected page. You must ensure that if your scripts store passwords anywhere, they do so in a way which is secure. Failure to do so may result in your access to IT facilities being revoked.
Any sitebuilder.warwick.ac.uk URL can be requested using HTTP Basic Auth over HTTPS, by appending a 'forcebasic=true'
parameter to the request. All the URLs quoted here use this style of authentication. You will, of course, need to ensure that your application sends the correctly encoded username and password in an authentication header along with the request, or you'll get an HTTP 401 response back.
Resource management
It's quite possible to make a client for the Sitebuilder APIs which will overload the server, either by accident or design. We monitor the server load more or less continuously, and will block IP addresses from clients which are causing problems on a 'block-first, ask questions later' basis.
If we cannot identify you from your IP address, we'll simply block the IP address and wait for you to contact us. You can make it easier for us to find out who you are by including contact info (a name or email address) in your user-agent string.