Get projects

Description

Lists the projects posted by the user. The most recent projects are listed first. The argument status can be used for filtering the results.

To include test projects in the response, set the argument includeTests to "1". See details below.

Arguments

= required
= only one of these is required
NameTypeDescriptionDefault value
itemsPerPageintegerMaximum number of elements per page that should be returned.50
pageintegerThe number of projects posted by the user is more than itemsPerPage, this argument allows you to get subsequent pages.1
includeTestsbooleanSet this argument to "1" to also include projects that were posted with the argument test = "1".0
keywordstringUse this argument to filter projects by searching for a given keyword in the title, script, or remarks of the projects.
statusstringPossible values are:
assignable: the project can be accepted by a voice actor.
unassignable: the project has been accepted by voice actors and is being worked on and therefore cannot be accepted by other voice actors.
disposed: the project was fulfilled or it expired.

Response example

{
  "projects":[
    {
      "id":0,
      "user":0,
      "status":0,
      "fulfilmentType":"speedy",
      "title":false,
      "language":false,
      "genderAndAge":false,
      "script":false,
      "price":0,
      "currency":"USD",
      "remarks":false,
      "lifetime":0,
      "assignmentDuration":0,
      "test":0,
      "created":0,
      "units":0,
      "genderAndAgeName":false,
      "languageName":false,
      "auditionScript":false,
      "reads":[
        {
          "status":"futureRead"
        }
      ],
      "auditions":false,
      "talendID":null,
      "syncedRecording":0,
      "excludePrevious":false,
      "extended":0,
      "extendedRequestedTime":false,
      "extensionLifetime":false,
      "prioritizeFavoriteListId":false
    },
    {
      "id":"41D49ABD6E6DCA09FFE9",
      "user":0,
      "status":"disposed",
      "fulfilmentType":"booking",
      "title":"[Test] #noflags Testing quoting with reward",
      "language":"eng-us",
      "genderAndAge":"middleAgeMale",
      "script":{
        "Part 1":"They were nominated Teen Choice Award\u2019s \u2018Next Big Thing\u2019\u2026\n..Debuted at no.4 on the Billboard chart...\nSelling out concerts all over Europe\nAnd now - they\u2019re coming to America! \n[NEW SECTION]\nMeet Reece [*pause*] Blake [*pause*] and George \nThree lads from Manchester, England - home of legendary music group, Oasis \nHaving toured the US with Sabrina Carpenter and The Vamps\nAnd with a successful single already gathering attention...\nWe\u2019ll see boys turning up the heat... \nAs they dominate America in 2020"
      },
      "price":"306",
      "currency":"USD",
      "remarks":"- Looking for a TEENAGE \/ YOUTHFUL, MALE, BRITISH or AMERICAN voice for a fast-turnaround project\n\n- Tone is YOUTHFUL and UPBEAT. Not hysterical - talking with ENTHUSIASTIC PURPOSE.\n\n- Script is only 77 words \/ under 1 minute read\n\n- Project is for an internal TV sales tape\n\n- Subject matter: up-and-coming British boyband breaking America in 2020! (Think: the next One Direction)",
      "lifetime":"298536",
      "assignmentDuration":"19668",
      "test":0,
      "created":1554414306,
      "units":"76",
      "genderAndAgeName":"Male | Middle age (40-65)",
      "languageName":"English - North America",
      "auditionScript":0,
      "reads":[
        {
          "status":"futureRead",
          "urls":{
            "Part 1":{
              "default":"https:\/\/voicebunny.com\/reads\/files\/41D49ABD6E6DCA09FFE9\/default\/Part+1",
              "original":"https:\/\/voicebunny.com\/reads\/files\/41D49ABD6E6DCA09FFE9\/original\/Part+1"
            }
          }
        }
      ],
      "auditions":false,
      "talendID":"TSKMMQG",
      "syncedRecording":0,
      "excludePrevious":false,
      "extended":0,
      "extendedRequestedTime":false,
      "extensionLifetime":false,
      "prioritizeFavoriteListId":false
    }
  ],
  "pagination":{
    "totalPages":1,
    "itemsPerPage":50,
    "page":1
  },
  "timestamp":1568710124
}
<?xml version="1.0" encoding="UTF-8"?>
<projects>
  <project>
    <id>0</id>
    <user>0</user>
    <status>0</status>
    <fulfilmentType>speedy</fulfilmentType>
    <title>0</title>
    <language>0</language>
    <genderAndAge>0</genderAndAge>
    <script>0</script>
    <price>0</price>
    <currency>USD</currency>
    <remarks>0</remarks>
    <lifetime>0</lifetime>
    <assignmentDuration>0</assignmentDuration>
    <test>0</test>
    <created>0</created>
    <units>0</units>
    <genderAndAgeName>0</genderAndAgeName>
    <languageName>0</languageName>
    <auditionScript>0</auditionScript>
    <reads>
      <status>futureRead</status>
    </reads>
    <auditions>0</auditions>
    <talendID/>
    <syncedRecording>0</syncedRecording>
    <excludePrevious>0</excludePrevious>
    <extended>0</extended>
    <extendedRequestedTime>0</extendedRequestedTime>
    <extensionLifetime>0</extensionLifetime>
    <prioritizeFavoriteListId>0</prioritizeFavoriteListId>
  </project>
  <project>
    <id>41D49ABD6E6DCA09FFE9</id>
    <user>0</user>
    <status>disposed</status>
    <fulfilmentType>booking</fulfilmentType>
    <title>[Test] #noflags Testing quoting with reward</title>
    <language>eng-us</language>
    <genderAndAge>middleAgeMale</genderAndAge>
    <script>
      <Part_1>They were nominated Teen Choice Award’s ‘Next Big Thing’…
        ..Debuted at no.4 on the Billboard chart...
        Selling out concerts all over Europe
        And now - they’re coming to America! 
        [NEW SECTION]
        Meet Reece [*pause*] Blake [*pause*] and George 
        Three lads from Manchester, England - home of legendary music group, Oasis 
        Having toured the US with Sabrina Carpenter and The Vamps
        And with a successful single already gathering attention...
        We’ll see boys turning up the heat... 
        As they dominate America in 2020</Part_1>
      </script>
      <price>306</price>
      <currency>USD</currency>
      <remarks>- Looking for a TEENAGE / YOUTHFUL, MALE, BRITISH or AMERICAN voice for a fast-turnaround project
        - Tone is YOUTHFUL and UPBEAT. Not hysterical - talking with ENTHUSIASTIC PURPOSE.
        - Script is only 77 words / under 1 minute read
        - Project is for an internal TV sales tape
        - Subject matter: up-and-coming British boyband breaking America in 2020! (Think: the next One Direction)</remarks>
        <lifetime>298536</lifetime>
        <assignmentDuration>19668</assignmentDuration>
        <test>0</test>
        <created>1554414306</created>
        <units>76</units>
        <genderAndAgeName>Male | Middle age (40-65)</genderAndAgeName>
        <languageName>English - North America</languageName>
        <auditionScript>0</auditionScript>
        <reads>
          <status>futureRead</status>
          <urls>
            <Part_1>
              <default>https://voicebunny.com/reads/files/41D49ABD6E6DCA09FFE9/default/Part+1</default>
              <original>https://voicebunny.com/reads/files/41D49ABD6E6DCA09FFE9/original/Part+1</original>
            </Part_1>
          </urls>
        </reads>
        <auditions>0</auditions>
        <talendID>TSKMMQG</talendID>
        <syncedRecording>0</syncedRecording>
        <excludePrevious>0</excludePrevious>
        <extended>0</extended>
        <extendedRequestedTime>0</extendedRequestedTime>
        <extensionLifetime>0</extensionLifetime>
        <prioritizeFavoriteListId>0</prioritizeFavoriteListId>
      </project>
      <pagination>
        <totalPages>1</totalPages>
        <itemsPerPage>50</itemsPerPage>
        <page>1</page>
      </pagination>
      <timestamp>1568710124</timestamp>
    </projects>

Code example

@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.2' )

import groovyx.net.http.*
import groovy.json.*
import static groovyx.net.http.ContentType.*
import static groovyx.net.http.Method.*

http = new HTTPBuilder('https://api.voicebunny.com')
http.handler.success = {response, json -> return json}
http.handler.failure = {response, json -> throw new RuntimeException(json.error.code + ' ' + json.error.message)}
def voicebunnyUser = 'xxXXxx'
def voicebunnyToken = 'xxxxXXXXxxxxXXXX'
http.auth.basic voicebunnyUser, voicebunnyToken
def projects = http.get(path: 'projects/', requestContentType: URLENC)
import java.io.*;
import java.net.*;
import org.apache.commons.codec.binary.Base64;

public class Voicebunny {

    private String user = "xxXXxx";

    private String token = "xxxxXXXXxxxxXXXX";

    private String encodedAuthorization = "";

    private String host = "https://api.voicebunny.com";

    public Voicebunny() {
        String userpassword = user + ":" + token;
        encodedAuthorization = Base64.encodeBase64String(userpassword.getBytes());
    }

    public static void main(String[] args) throws IOException {
        Voicebunny vb = new Voicebunny();
        System.out.println(vb.getProjects());
    }

    private String getProjects() throws MalformedURLException, IOException, ProtocolException {
        return get("projects");
    }

    private String get(String resource) throws IOException, ProtocolException {
        URL url = new URL(host + "/" + resource);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
        connection.connect();
        InputStream in = connection.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        StringBuffer sb = new StringBuffer();
        String line = "";
        while ((line = reader.readLine()) != null) {
            sb.append(line);
        }
        reader.close();

        return sb.toString();
    }

}
<?php
$voicebunnyUser = 'xxXXxx';
$voicebunnyToken = 'xxxxXXXXxxxxXXXX';
$url_api = 'https://api.voicebunny.com/projects';
$opts = array(
	CURLOPT_URL => $url_api,
	CURLOPT_RETURNTRANSFER => TRUE,
	CURLOPT_INFILESIZE => -1,
	CURLOPT_TIMEOUT => 60,
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_HTTPGET => TRUE,
	CURLOPT_USERPWD => $voicebunnyUser . ':' . $voicebunnyToken,
);
$curl = curl_init();
curl_setopt_array($curl, $opts);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
print_r($response);
?>
import requests
import simplejson
from requests.auth import HTTPBasicAuth

url = 'https://api.voicebunny.com'
api_id = 'XX'
api_key = "xxxxXXXXxxxxXXXX"
req = requests.get(url+'/projects',
    auth=HTTPBasicAuth(api_id, api_key),verify=False)
data = simplejson.loads(req.text)
response = data['projects']
require 'faraday'
require 'faraday_middleware'

@conn = nil
@api_id = "XX"
@api_key = "xxxxXXXXxxxxXXXX"
resp = nil

@conn = Faraday.new(:url =>("https://"+ @api_id+":"+@api_key +"@api.voicebunny.com"),:ssl => {:verify => false}) do |builder|
	builder.use Faraday::Request::Multipart
	builder.use Faraday::Request::UrlEncoded
	builder.use Faraday::Response::ParseJson
	builder.use Faraday::Adapter::NetHttp		  
end

resp = @conn.get '/projects.json'
resp.body