Developer API

Getting settings off the pastebin
This is done by going to either: http://yourdomain.com/defaults or http://yourdomain.com/index.php?defaults
The JSON response looks something like this...
{
	"name":			"Your Pastebin Name/Title",
	"url":			"http://yourdomain.com",
	"author":		"Default Author Name",
	"text": 		1,
	"max_paste_size":	262144,
	"editing": 		1,
	"api":			"http://yourdomain.com/api",
	"api_adaptor":		"http://yourdomain.com/api-adaptor/sharpshooter.php",
	"clipboard":		"/relative/path/to/_clipboard.swf",
	"images":		20971520,
	"image_extensions":	"jpg, gif, png",
	"image_download":	1,
	"url_redirection":	1,
	"jQuery":		1,
	"syntax":		1,
	"line_highlight":	"@@",
	"video":		1,
	"url_format":		"http://yourdomain.com/[id]",
	"lifespan":		{
					"0":		"Never",
					"1":		"10 minutes",
					"2":		"1 day"
				},
	"privacy":		1

}
 
Response is always in JSON format, Valid POST requests produce the following.
Success:
{ "id": "[id]", "url": "http://yourdomain.com/[id]", "error": 0, "message": "Success" }

or

{ "id": "[id]", "url": "http://yourdomain.com/index.php?[id]", "error": 0, "message": "Success" }
Please note that if the content of pasteEnter is a URL and URL forwarding is enabled the above URL will be suffixed with an exclamation mark (!) for security reasons.
 
Error Codes:
Example
{ "id": 0, "url": "http://yourdomain.com/[id]", "error": "E01a", "message": "Invalid POST request or 'pasteEnter' is Too Big / Empty." }
+	E01a: Invalid POST request or 'pasteEnter' is Empty.
+	E01b: Spam protection activated, Paste is too Short.
+	E01c: Spam protection activated.
+	E02a: Invalid file format.
+	E02b: File is too big.
+	E02c: Error copying file.
+	E02d: Image hosting disabled!
 
Required Parameters:
+	pasteEnter (string)
+	lifespan (int, 0 issues default)
 
Recommended Parameters:
+	author (string)
+	email (null, hidden with CSS and is used for anti-spam)
+	highligher (string, Values obtained from GeSHi - http://qbnz.com/highlighter/)
 
Optional Parameters:
+	pasteImage (file)
+	urlField (string - used for forced URL forwarding if enabled)
+	parent (string)
+	imageUrl (string - used to force Image Download if enabled)
 
Sample form HTML:
<!-- HTML5 Doctype! --> 
	<html xmlns="http://www.w3.org/1999/xhtml"> 
	<head> 
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
		<title>Sample Pastebin Form</title> 
	</head> 
	<body><div id="siteWrapper">
				<div id="formContainer"> 
					<form id="pasteForm" action="http://yourdomain.com/api" method="post" name="pasteForm" enctype="multipart/form-data"> 
						<div><label for="pasteEnter">Paste your text here! To highlight lines, prefix them with <em>@@</em></label><br /> 
						<textarea id="pasteEnter" name="pasteEnter" onblur="javascript:checkIfURL(this);"></textarea></div> 
						<div id="foundURL" style="display: none;">URL has been detected...</div> 
						<div class="spacer">&nbsp;</div> 
						<div id="secondaryFormContainer"> 
						<div id="authorContainer"><label for="author">Your Name</label><br /> 
						<input type="text" name="author" id="authorEnter" value="Anonymous" onfocus="if(this.value=='Anonymous')this.value='';" onblur="if(this.value=='')this.value='Anonymous';" maxlength="32" /></div> 
						<div id="fileUploadContainer"><input type="hidden" name="MAX_FILE_SIZE" value="2097152" /><label>Attach an Image (jpg, gif, png &raquo; Max size 2 Mb)</label><br /><input type="file" name="pasteImage" id="pasteImage" /><br />(Optional)</div> 
						<div class="spacer">&nbsp;</div> 
						<input type="hidden" name="lifespan" value="0" /><!-- default value -->
						<input type="text" name="email" id="poison" style="display: none;" /> 
						<div id="submitContainer" class="submitContainer"> 
							<input type="submit" name="submit" value="Submit your paste" onclick="return submitPaste(this);" id="submitButton" /> 
						</div> 
						</div> 
					</form> 
				</div>
	</div> 
</html>  


 



(Optional)
 
 
 
Sample syntax highlighting select box
<select name="highlighter"> 
	<option value="plaintext">None</option> 
	<option value="plaintext">-------------</option> 
	<option value="bash">Bash</option> 
	<option value="c">C</option> 
	<option value="cpp">C++</option> 
	<option value="css">CSS</option> 
	<option value="html4strict">HTML</option> 
	<option value="java">Java</option> 
	<option value="javascript">Javascript</option> 
	<option value="jquery">jQuery</option> 
	<option value="latex">LaTeX</option> 
	<option value="mirc">mIRC Scripting</option> 
	<option value="perl">Perl</option> 
	<option value="php">PHP</option> 
	<option value="python">Python</option> 
	<option value="rails">Rails</option> 
	<option value="ruby">Ruby</option> 
	<option value="sql">SQL</option> 
	<option value="xml">XML</option> 
	<option value="plaintext">-------------</option> 
	<option value="4cs">GADV 4CS</option> 
	<option value="abap">ABAP</option> 
	<option value="actionscript">ActionScript</option> 
	<option value="actionscript3">ActionScript 3</option> 
	<option value="ada">Ada</option> 
	<option value="apache">Apache configuration</option> 
	<option value="applescript">AppleScript</option> 
	<option value="apt_sources">Apt sources</option> 
	<option value="asm">ASM</option> 
	<option value="asp">ASP</option> 
	<option value="autoconf">Autoconf</option> 
	<option value="autohotkey">Autohotkey</option> 
	<option value="autoit">AutoIt</option> 
	<option value="avisynth">AviSynth</option> 
	<option value="awk">awk</option> 
	<option value="bash">Bash</option> 
	<option value="basic4gl">Basic4GL</option> 
	<option value="bf">Brainfuck</option> 
	<option value="bibtex">BibTeX</option> 
	<option value="blitzbasic">BlitzBasic</option> 
	<option value="bnf">bnf</option> 
	<option value="boo">Boo</option> 
	<option value="c">C</option> 
	<option value="c_mac">C (Mac)</option> 
	<option value="caddcl">CAD DCL</option> 
	<option value="cadlisp">CAD Lisp</option> 
	<option value="cfdg">CFDG</option> 
	<option value="cfm">ColdFusion</option> 
	<option value="chaiscript">ChaiScript</option> 
	<option value="cil">CIL</option> 
	<option value="clojure">Clojure</option> 
	<option value="cmake">CMake</option> 
	<option value="cobol">COBOL</option> 
	<option value="cpp">C++</option> 
	<option value="cpp-qt" class="sublang">&nbsp;&nbsp;C++ (QT)</option> 
	<option value="csharp">C#</option> 
	<option value="css">CSS</option> 
	<option value="cuesheet">Cuesheet</option> 
	<option value="d">D</option> 
	<option value="dcs">DCS</option> 
	<option value="delphi">Delphi</option> 
	<option value="diff">Diff</option> 
	<option value="div">DIV</option> 
	<option value="dos">DOS</option> 
	<option value="dot">dot</option> 
	<option value="ecmascript">ECMAScript</option> 
	<option value="eiffel">Eiffel</option> 
	<option value="email">eMail (mbox)</option> 
	<option value="erlang">Erlang</option> 
	<option value="fo">FO (abas-ERP)</option> 
	<option value="fortran">Fortran</option> 
	<option value="freebasic">FreeBasic</option> 
	<option value="fsharp">F#</option> 
	<option value="gambas">GAMBAS</option> 
	<option value="gdb">GDB</option> 
	<option value="genero">genero</option> 
	<option value="genie">Genie</option> 
	<option value="gettext">GNU Gettext</option> 
	<option value="glsl">glSlang</option> 
	<option value="gml">GML</option> 
	<option value="gnuplot">Gnuplot</option> 
	<option value="groovy">Groovy</option> 
	<option value="gwbasic">GwBasic</option> 
	<option value="haskell">Haskell</option> 
	<option value="hicest">HicEst</option> 
	<option value="hq9plus">HQ9+</option> 
	<option value="html4strict">HTML</option> 
	<option value="icon">Icon</option> 
	<option value="idl">Uno Idl</option> 
	<option value="ini">INI</option> 
	<option value="inno">Inno</option> 
	<option value="intercal">INTERCAL</option> 
	<option value="io">Io</option> 
	<option value="j">J</option> 
	<option value="java">Java</option> 
	<option value="java5">Java(TM) 2 Platform Standard Edition 5.0</option> 
	<option value="javascript">Javascript</option> 
	<option value="jquery">jQuery</option> 
	<option value="kixtart">KiXtart</option> 
	<option value="klonec">KLone C</option> 
	<option value="klonecpp">KLone C++</option> 
	<option value="latex">LaTeX</option> 
	<option value="lisp">Lisp</option> 
	<option value="locobasic">Locomotive Basic</option> 
	<option value="logtalk">Logtalk</option> 
	<option value="lolcode">LOLcode</option> 
	<option value="lotusformulas">Lotus Notes @Formulas</option> 
	<option value="lotusscript">LotusScript</option> 
	<option value="lscript">LScript</option> 
	<option value="lsl2">LSL2</option> 
	<option value="lua">Lua</option> 
	<option value="m68k">Motorola 68000 Assembler</option> 
	<option value="magiksf">MagikSF</option> 
	<option value="make">GNU make</option> 
	<option value="mapbasic">MapBasic</option> 
	<option value="matlab">Matlab M</option> 
	<option value="mirc">mIRC Scripting</option> 
	<option value="mmix">MMIX</option> 
	<option value="modula2">Modula-2</option> 
	<option value="modula3">Modula-3</option> 
	<option value="mpasm">Microchip Assembler</option> 
	<option value="mxml">MXML</option> 
	<option value="mysql">MySQL</option> 
	<option value="newlisp">newlisp</option> 
	<option value="nsis">NSIS</option> 
	<option value="oberon2">Oberon-2</option> 
	<option value="objc">Objective-C</option> 
	<option value="ocaml">OCaml</option> 
	<option value="ocaml-brief" class="sublang">&nbsp;&nbsp;OCaml (brief)</option> 
	<option value="oobas">OpenOffice.org Basic</option> 
	<option value="oracle11">Oracle 11 SQL</option> 
	<option value="oracle8">Oracle 8 SQL</option> 
	<option value="oxygene">Oxygene (Delphi Prism)</option> 
	<option value="oz">OZ</option> 
	<option value="pascal">Pascal</option> 
	<option value="pcre">PCRE</option> 
	<option value="per">per</option> 
	<option value="perl">Perl</option> 
	<option value="perl6">Perl 6</option> 
	<option value="pf">OpenBSD Packet Filter</option> 
	<option value="php" selected="selected">PHP</option> 
	<option value="php-brief" class="sublang">&nbsp;&nbsp;PHP (brief)</option> 
	<option value="pic16">PIC16</option> 
	<option value="pike">Pike</option> 
	<option value="pixelbender">Pixel Bender 1.0</option> 
	<option value="plsql">PL/SQL</option> 
	<option value="postgresql">PostgreSQL</option> 
	<option value="povray">POVRAY</option> 
	<option value="powerbuilder">PowerBuilder</option> 
	<option value="powershell">PowerShell</option> 
	<option value="progress">Progress</option> 
	<option value="prolog">Prolog</option> 
	<option value="properties">PROPERTIES</option> 
	<option value="providex">ProvideX</option> 
	<option value="purebasic">PureBasic</option> 
	<option value="python">Python</option> 
	<option value="q">q/kdb+</option> 
	<option value="qbasic">QBasic/QuickBASIC</option> 
	<option value="rails">Rails</option> 
	<option value="rebol">REBOL</option> 
	<option value="reg">Microsoft Registry</option> 
	<option value="robots">robots.txt</option> 
	<option value="rpmspec">RPM Specification File</option> 
	<option value="rsplus">R / S+</option> 
	<option value="ruby">Ruby</option> 
	<option value="sas">SAS</option> 
	<option value="scala">Scala</option> 
	<option value="scheme">Scheme</option> 
	<option value="scilab">SciLab</option> 
	<option value="sdlbasic">sdlBasic</option> 
	<option value="smalltalk">Smalltalk</option> 
	<option value="smarty">Smarty</option> 
	<option value="sql">SQL</option> 
	<option value="systemverilog">SystemVerilog</option> 
	<option value="tcl">TCL</option> 
	<option value="teraterm">Tera Term Macro</option> 
	<option value="text">Text</option> 
	<option value="thinbasic">thinBasic</option> 
	<option value="tsql">T-SQL</option> 
	<option value="typoscript">TypoScript</option> 
	<option value="unicon">Unicon (Unified Extended Dialect of Icon)</option> 
	<option value="vala">Vala</option> 
	<option value="vb">Visual Basic</option> 
	<option value="vbnet">vb.net</option> 
	<option value="verilog">Verilog</option> 
	<option value="vhdl">VHDL</option> 
	<option value="vim">Vim Script</option> 
	<option value="visualfoxpro">Visual Fox Pro</option> 
	<option value="visualprolog">Visual Prolog</option> 
	<option value="whitespace">Whitespace</option> 
	<option value="whois">Whois (RPSL format)</option> 
	<option value="winbatch">Winbatch</option> 
	<option value="xbasic">XBasic</option> 
	<option value="xml">XML</option> 
	<option value="xorg_conf">Xorg configuration</option> 
	<option value="xpp">X++</option> 
	<option value="z80">ZiLOG Z80 Assembler</option> 
</select>