Grandad, is that you?

Your browser is out of date and doesn't support all of the cool stuff we do on our website.

We like Google Chrome, but any modern browser will do.Update my browser now


API documentation

Add / Update Funding Project Transaction

Add or update a single transaction.

The transaction to be updated should be stored as a JSON-serialised document in the request data. All transactions must be associated with a particular project by the mandatory project_id field.

Resource URL




HTTP 200: OK

Returns with a status code of 200


HTTP 401: bad request

Indicates that the transaction document is malformed. The response content will contain a JSON document with a key "detail" which will itself contain a dictionary describing each error. For example:

{ "detail": { "project_id": "Could not find project id 100 for this platform"} } }

HTTP 403: permisson denied

Indicates that an attempt was made to add or update a transaction for a platform which you don't have permission to update. Check that you are using the correct platform_id.


The following example inserts a single rewards funding project for platform Kickstarter using test mode:

Add / Update Funding Project Transaction


Using the standard curl command:

curl -X POST \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Token abcdef123456890" \ -d '' \

We depend on the very useful requests library.

import requests import json payload = r ='', headers={'Authorization': 'Token abcdef123456890', 'Content-Type': 'application/json'}, data = json.dumps(payload)) if r.status_code == 200: # We return the UUID field for successfully uploaded projects: print("UUID: %s" % r.json()['uuid']) else: print("Failed: errors = %r" % r.json()['detail'])

Assumes that Guzzle has been installed using Composer.

require 'vendor/autoload.php'; use GuzzleHttp\Client; use GuzzleHttp\Exception\ClientException; $client = new GuzzleHttp\Client(); try { $response = $client->post('', [ "headers" => [ "Accept" => "application/json", "Content-Type" => "application/json", "Authorization" => "Token abcdef123456890" ], "json" => [ ] ]); $json = $response->json(); /* We return the UUID field for successfully uploaded projects: */ $uuid = $json["uuid"]; var_dump($uuid); } catch (ClientException $e) { /* Failed uploads should return a "detail" dictionary describing the invalid fields: */ $errors = $json["detail"]; var_dump($errors); }