Creative Commons provides a set of web services which allow application developers to integrate license selection with their own software. The web services are designed to be a more flexible replacement for the HTML-only partner interface.
Creative Commons provides a REST web service interfaces. Through the CC web service API, you can generate any of the Creative Commons licenses, including Sampling. The web services API 1.5 is frozen and can be considered stable. A development API is also supported, where new features are prototyped. The development API should not be considered stable. The API presents the following layers of abstraction:
- a selection of license "classes" available (standard, public domain, GPL, etc)
- a set of questions (along with possible responses, if applicable) that must be answered in order to issue a license
- an interface to generate the license URL, along with description RDF for a given license and set of answers
Sourcecode for the web services is available from the ccTools SourceForge Project. Server source is maintained in the api module. Sample client implementations are maintained in the api_client module.
The web services use an XML representations of the licenses and their questions. The XML files and XSLT transformations used for this process are also stored in the api module in CVS. ChooseLicense.xml represents the available Creative Commons licenses, along with the "questions" which need to be answered to select a particular license, in an XML format. Combined with an XSLT file, this allows us to easily plug the license engine into different environments.
Two versions of the REST web service are currently maintained, the 1.5 version and development version. The 1.5 version is a stable API and is only updated with new jurisdictions as they become available. The Development version is where new features are implemented and API changes may occur; at some point this will be branched again and versioned. See the Web Services Plan page for future web service ideas and version details.
The development REST interface is rooted at http://api.creativecommons.org/rest/dev. Documentation and a summary of changes since the last stable version is available at http://api.creativecommons.org/readme_dev.html.