/
home
/
desid573
/
public_html
/
payment
/
xero-php-oauth2-master
/
docs
/
v2
/
accounting
/
/home/desid573/public_html/payment/xero-php-oauth2-master/docs/v2/accounting
mkdir
upload
Name
Size
Mode
Actions
index.html
2037523
0644
edit
dl
rm
Edit:
/home/desid573/public_html/payment/xero-php-oauth2-master/docs/v2/accounting/index.html
(2037523B)
<!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>Xero Accounting API</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8"> <!-- start *****REPLACE***** SEO meta details--> <meta name="description" content="xero-php-oauth2 SDK Accounting API Documentation"> <title>xero-php-oauth2 Accounting SDK Docs</title> <meta name="keywords" content="xero-php-oauth2, php, sdk, documentation, docs, XeroAPI, Xero, developer"> <!-- end *****REPLACE***** SEO meta details--> <meta name="author" content="Xero Developer Evangelists"> <link rel="shortcut icon" href="https://developer.xero.com/static/favicon.ico" type="image/x-icon"> <meta charset="UTF-8" /> <script> /*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */ !function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0, r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K); if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r}); </script> <script> !function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; (function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a= b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a<f;++a){var h=b[a];if(/\\[bdsw]/i.test(h))c.push(h);else{var h=d(h),l;a+2<f&&"-"===b[a+1]?(l=d(b[a+2]),a+=2):l=h;e.push([h,l]);l<65||h>122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;a<e.length;++a)h=e[a],h[0]<=f[1]+1?f[1]=Math.max(f[1],h[1]):b.push(f=h);for(a=0;a<b.length;++a)h=b[a],c.push(g(h[0])), h[1]>h[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f<c;++f){var l=a[f];l==="("?++h:"\\"===l.charAt(0)&&(l=+l.substring(1))&&(l<=h?d[l]=-1:a[f]=g(l))}for(f=1;f<d.length;++f)-1===d[f]&&(d[f]=++x);for(h=f=0;f<c;++f)l=a[f],l==="("?(++h,d[h]||(a[f]="(?:")):"\\"===l.charAt(0)&&(l=+l.substring(1))&&l<=h&& (a[f]="\\"+d[l]);for(f=0;f<c;++f)"^"===a[f]&&"^"!==a[f+1]&&(a[f]="");if(e.ignoreCase&&m)for(f=0;f<c;++f)l=a[f],e=l.charAt(0),l.length>=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k<c;++k){var i=a[k];if(i.ignoreCase)j=!0;else if(/[a-z]/i.test(i.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){m=!0;j=!1;break}}for(var r={b:8,t:9,n:10,v:11, f:12,r:13},n=[],k=0,c=a.length;k<c;++k){i=a[k];if(i.global||i.multiline)throw Error(""+i);n.push("(?:"+s(i)+")")}return RegExp(n.join("|"),j?"gi":"g")}function T(a,d){function g(a){var c=a.nodeType;if(c==1){if(!b.test(a.className)){for(c=a.firstChild;c;c=c.nextSibling)g(c);c=a.nodeName.toLowerCase();if("br"===c||"li"===c)s[j]="\n",m[j<<1]=x++,m[j++<<1|1]=a}}else if(c==3||c==4)c=a.nodeValue,c.length&&(c=d?c.replace(/\r\n?/g,"\n"):c.replace(/[\t\n\r ]+/g," "),s[j]=c,m[j<<1]=x,x+=c.length,m[j++<<1|1]= a)}var b=/(?:^|\s)nocode(?:\s|$)/,s=[],x=0,m=[],j=0;g(a);return{a:s.join("").replace(/\n$/,""),d:m}}function H(a,d,g,b){d&&(a={a:d,e:a},g(a),b.push.apply(b,a.g))}function U(a){for(var d=void 0,g=a.firstChild;g;g=g.nextSibling)var b=g.nodeType,d=b===1?d?a:g:b===3?V.test(g.nodeValue)?a:d:d;return d===a?void 0:d}function C(a,d){function g(a){for(var j=a.e,k=[j,"pln"],c=0,i=a.a.match(s)||[],r={},n=0,e=i.length;n<e;++n){var z=i[n],w=r[z],t=void 0,f;if(typeof w==="string")f=!1;else{var h=b[z.charAt(0)]; if(h)t=z.match(h[1]),w=h[0];else{for(f=0;f<x;++f)if(h=d[f],t=z.match(h[1])){w=h[0];break}t||(w="pln")}if((f=w.length>=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c<i;++c){var r= g[c],n=r[3];if(n)for(var e=n.length;--e>=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com", /^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/, q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d= c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i<c.length;++i)b(c[i]);d===(d|0)&&c[0].setAttribute("value",d);var r=j.createElement("ol"); r.className="linenums";for(var d=Math.max(0,d-1|0)||0,i=0,n=c.length;i<n;++i)k=c[i],k.className="L"+(i+d)%10,k.firstChild||k.appendChild(j.createTextNode("\u00a0")),r.appendChild(k);a.appendChild(r)}function p(a,d){for(var g=d.length;--g>=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*</.test(d)?"default-markup":"default-code";return F[a]}function K(a){var d=a.h;try{var g=T(a.c,a.i),b=g.a; a.a=b;a.d=g.d;a.e=0;I(d,b)(a);var s=/\bMSIE\s(\d+)/.exec(navigator.userAgent),s=s&&+s[1]<=8,d=/\n/g,x=a.a,m=x.length,g=0,j=a.d,k=j.length,b=0,c=a.g,i=c.length,r=0;c[i]=m;var n,e;for(e=n=0;e<i;)c[e]!==c[e+2]?(c[n++]=c[e++],c[n++]=c[e++]):e+=2;i=n;for(e=n=0;e<i;){for(var p=c[e],w=c[e+1],t=e+2;t+2<=i&&c[t+1]===w;)t+=2;c[n++]=p;c[n++]=w;e=t}c.length=n;var f=a.c,h;if(f)h=f.style.display,f.style.display="none";try{for(;b<k;){var l=j[b+2]||m,B=c[r+2]||m,t=Math.min(l,B),A=j[b+1],G;if(A.nodeType!==1&&(G=x.substring(g, t))){s&&(G=G.replace(d,"\r"));A.nodeValue=G;var L=A.ownerDocument,o=L.createElement("span");o.className=c[r+1];var v=A.parentNode;v.replaceChild(o,A);o.appendChild(A);g<l&&(j[b+1]=A=L.createTextNode(x.substring(t,l)),v.insertBefore(A,o.nextSibling))}g=t;g>=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], ["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}), ["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q, hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]); p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="<pre>"+a+"</pre>";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1}); return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i<p.length&&c.now()<b;i++){for(var d=p[i],j=h,k=d;k=k.previousSibling;){var m=k.nodeType,o=(m===7||m===8)&&k.nodeValue;if(o?!/^\??prettify\b/.test(o):m!==3||/\S/.test(k.nodeValue))break;if(o){j={};o.replace(/\b(\w+)=([\w%+\-.:]+)/g,function(a,b,c){j[b]=c});break}}k=d.className;if((j!==h||e.test(k))&&!v.test(k)){m=!1;for(o=d.parentNode;o;o=o.parentNode)if(f.test(o.tagName)&& o.className&&e.test(o.className)){m=!0;break}if(!m){d.className+=" prettyprinted";m=j.lang;if(!m){var m=k.match(n),y;if(!m&&(y=U(d))&&t.test(y.tagName))m=y.className.match(n);m&&(m=m[1])}if(w.test(d.tagName))o=1;else var o=d.currentStyle,u=s.defaultView,o=(o=o?o.whiteSpace:u&&u.getComputedStyle?u.getComputedStyle(d,q).getPropertyValue("white-space"):0)&&"pre"===o.substring(0,3);u=j.linenums;if(!(u=u==="true"||+u))u=(u=k.match(/\blinenums\b(?::(\d+))?/))?u[1]&&u[1].length?+u[1]:!0:!1;u&&J(d,u,o);r= {h:m,c:d,j:u,i:o};K(r)}}}i<p.length?setTimeout(g,250):"function"===typeof a&&a()}for(var b=d||document.body,s=b.ownerDocument||document,b=[b.getElementsByTagName("pre"),b.getElementsByTagName("code"),b.getElementsByTagName("xmp")],p=[],m=0;m<b.length;++m)for(var j=0,k=b[m].length;j<k;++j)p.push(b[m][j]);var b=q,c=Date;c.now||(c={now:function(){return+new Date}});var i=0,r,n=/\blang(?:uage)?-([\w.]+)(?!\S)/,e=/\bprettyprint\b/,v=/\bprettyprinted\b/,w=/pre|xmp/i,t=/^code$/i,f=/^(?:pre|code|xmp)$/i, h={};g()}};typeof define==="function"&&define.amd&&define("google-code-prettify",[],function(){return Y})})();}() </script> <script> /*! * Bootstrap.js by @fat & @mdo * Copyright 2013 Twitter, Inc. * http://www.apache.org/licenses/LICENSE-2.0.txt */ !function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(".dropdown-backdrop").remove(),e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||("ontouchstart"in document.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",r),s.toggleClass("open")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery); </script> <script> /** * marked - a markdown parser * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) * https://github.com/chjj/marked */ (function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[2]==="="?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"hr"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"blockquote_start"});cap=cap[0].replace(/^ *> ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\d+\.) +/,"");if(~item.indexOf("\n ")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp("^ {1,"+space+"}","gm"),""):item.replace(/^ {1,4}/gm,"")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:"paragraph",text:cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"text",text:cap[0]});continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};inline._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;inline._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"<pre><code>"+(escaped?code:escape(code,true))+"\n</code></pre>"}return'<pre><code class="'+this.options.langPrefix+escape(lang,true)+'">'+(escaped?code:escape(code,true))+"\n</code></pre>\n"};Renderer.prototype.blockquote=function(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"<h"+level+' id="'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\w]+/g,"-")+'">'+text+"</h"+level+">\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"</"+type+">\n"};Renderer.prototype.listitem=function(text){return"<li>"+text+"</li>\n"};Renderer.prototype.paragraph=function(text){return"<p>"+text+"</p>\n"};Renderer.prototype.table=function(header,body){return"<table>\n"+"<thead>\n"+header+"</thead>\n"+"<tbody>\n"+body+"</tbody>\n"+"</table>\n"};Renderer.prototype.tablerow=function(content){return"<tr>\n"+content+"</tr>\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"</"+type+">\n"};Renderer.prototype.strong=function(text){return"<strong>"+text+"</strong>"};Renderer.prototype.em=function(text){return"<em>"+text+"</em>"};Renderer.prototype.codespan=function(text){return"<code>"+text+"</code>"};Renderer.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"};Renderer.prototype.del=function(text){return"<del>"+text+"</del>"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out='<a href="'+href+'"';if(title){out+=' title="'+title+'"'}out+=">"+text+"</a>";return out};Renderer.prototype.image=function(href,title,text){var out='<img src="'+href+'" alt="'+text+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell="";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return this.renderer.blockquote(body)}case"list_start":{var body="",ordered=this.token.ordered;while(this.next().type!=="list_end"){body+=this.tok()}return this.renderer.list(body,ordered)}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return this.renderer.listitem(body)}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return this.renderer.listitem(body)}case"html":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case"paragraph":{return this.renderer.paragraph(this.inline.output(this.token.text))}case"text":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt==="function"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!=="code"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+="\nPlease report this to https://github.com/chjj/marked.";if((opt||marked.defaults).silent){return"<p>An error occurred:</p><pre>"+escape(e.message+"",true)+"</pre>"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); </script> <script> $( document ).ready(function() { marked.setOptions({ renderer: new marked.Renderer(), gfm: true, tables: true, breaks: false, pedantic: false, sanitize: false, smartLists: true, smartypants: false }); var textFile = null; /// Function to be used to download a text json schema function makeTextFile(text) { var data = new Blob([text], {type: 'text/plain'}); // If we are replacing a previously generated file we need to // manually revoke the object URL to avoid memory leaks. if (textFile !== null) { window.URL.revokeObjectURL(textFile); } textFile = window.URL.createObjectURL(data); var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none"; a.href = textFile; a.download = 'schema.txt'; a.click(); return textFile; }; /// TODO: Implement resizing for expanding within iframe function callResize() { window.parent.postMessage('resize', "*"); } function processMarked() { $(".marked").each(function() { $(this).html(marked($(this).html())); }); } // Bootstrap Scrollspy $(this).scrollspy({ target: '#scrollingNav', offset: 18 }); // Content-Scroll on Navigation click. $('.sidenav').find('a').on('click', function(e) { e.preventDefault(); var id = $(this).attr('href'); if ($(id).length > 0) $('html,body').animate({ scrollTop: parseInt($(id).offset().top) }, 400); window.location.hash = $(this).attr('href'); }); // Quickjump on Pageload to hash position. if(window.location.hash) { var id = window.location.hash; if ($(id).length > 0) $('html,body').animate({ scrollTop: parseInt($(id).offset().top) }, 0); } function initDynamic() { // tabs $('.nav-tabs-examples a').click(function (e) { e.preventDefault(); $(this).tab('show'); }); $('.nav-tabs-examples').find('a:first').tab('show'); // call scrollspy refresh method $(window).scrollspy('refresh'); } initDynamic(); // Pre- / Code-Format prettyPrint(); //Convert elements with "marked" class to markdown processMarked(); }); </script> <style type="text/css"> @import url('https://fonts.googleapis.com/css?family=Source+Code+Pro'); /*! * Bootstrap v2.3.2 * * Copyright 2013 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world by @mdo and @fat. */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} /* Pretty printing styles. Used with prettify.js. */ /* Vim sunburst theme by David Leibovic */ pre .str { color: #65B042; } /* string - green */ pre .kwd { color: #E28964; } /* keyword - dark pink */ pre .com { color: #AEAEAE; font-style: italic; } /* comment - gray */ pre .typ { color: #89bdff; } /* type - light blue */ pre .lit { color: #3387CC; } /* literal - blue */ pre .pun { color: #fff; } /* punctuation - white */ pre .pln { color: #fff; } /* plaintext - white */ pre .tag { color: #89bdff; } /* html/xml tag - light blue */ pre .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ pre .atv { color: #65B042; } /* html/xml attribute value - green */ pre .dec { color: #3387CC; } /* decimal - blue */ /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */ li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 { list-style-type: none; } /* Alternate shading for lines */ @media print { pre .str { color: #060; } pre .kwd { color: #006; font-weight: bold; } pre .com { color: #600; font-style: italic; } pre .typ { color: #404; font-weight: bold; } pre .lit { color: #044; } pre .pun { color: #440; } pre .pln { color: #000; } pre .tag { color: #006; font-weight: bold; } pre .atn { color: #404; } pre .atv { color: #060; } } /* ------------------------------------------------------------------------------------------ * Content * ------------------------------------------------------------------------------------------ */ * { font-family: 'Source Code Pro', sans-serif; } body { min-width: 980px; } .app-desc { color: #808080 } body, p, a, div, th, td, li { font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-weight: 400; font-size: 16px; text-shadow: none !important; } td.code { font-size: 14px; font-family: "Source Code Pro", monospace; font-style: normal; font-weight: 400; } #content { padding-top: 80px; z-index: -1; margin-left: 270px; } p { color: #808080; } h1 { font-family: "Source Sans Pro Semibold", sans-serif; font-weight: normal; font-size: 44px; line-height: 50px; margin: 0 0 10px 0; padding: 0; } h2 { font-family: "Source Sans Pro", sans-serif; font-weight: normal; font-size: 24px; line-height: 40px; margin: 0 0 20px 0; padding: 0; } section { border-top: 1px solid #ebebeb; padding: 30px 0; } section h1 { font-family: "Source Sans Pro", sans-serif; font-weight: 700; font-size: 32px; line-height: 40px; padding-bottom: 14px; margin: 0 0 20px 0; padding: 0; } article { padding: 14px 0 30px 0; } article h1 { font-family: "Source Sans Pro Bold", sans-serif; font-weight: 600; font-size: 24px; line-height: 26px; } article h2 { font-family: "Source Sans Pro", sans-serif; font-weight: 600; font-size: 18px; line-height: 24px; margin: 0 0 10px 0; } article h3 { font-family: "Source Sans Pro", sans-serif; font-weight: 600; font-size: 16px; line-height: 18px; margin: 0 0 10px 0; } article h4 { font-family: "Source Sans Pro", sans-serif; font-weight: 600; font-size: 14px; line-height: 16px; margin: 0 0 8px 0; } table { border-collapse: collapse; width: 100%; margin: 0 0 20px 0; } th { background-color: #f5f5f5; text-align: left; font-family: "Source Sans Pro", sans-serif; font-weight: 700; padding: 4px 8px; border: #e0e0e0 1px solid; } td { vertical-align: top; padding: 2px 8px; border: #e0e0e0 1px solid; } #generator .content { color: #b0b0b0; border-top: 1px solid #ebebeb; padding: 10px 0; } .label-optional { float: right; } .open-left { right: 0; left: auto; } /* ------------------------------------------------------------------------------------------ * apidoc - intro * ------------------------------------------------------------------------------------------ */ #apidoc .apidoc { border-top: 1px solid #ebebeb; padding: 30px 0; } #apidoc h1 { font-family: "Source Sans Pro", sans-serif; font-weight: 700; font-size: 32px; line-height: 40px; padding-bottom: 14px; margin: 0 0 20px 0; padding: 0; } #apidoc h2 { font-family: "Source Sans Pro Bold", sans-serif; font-weight: 600; font-size: 22px; line-height: 26px; padding-top: 14px; } /* ------------------------------------------------------------------------------------------ * pre / code * ------------------------------------------------------------------------------------------ */ pre { background-color: #292b36; color: #ffffff; padding: 10px; border-radius: 6px; position: relative; margin: 10px 0 20px 0; } code.language-text { word-wrap: break-word; } pre.language-json { overflow: auto; } pre.language-html { margin: 40px 0 20px 0; } pre.language-html:before { content: attr(data-type); position: absolute; top: -30px; left: 0; font-family: "Source Sans Pro", sans-serif; font-weight: 600; font-size: 15px; display: inline-block; padding: 2px 5px; border-radius: 6px; text-transform: uppercase; background-color: #3387CC; color: #ffffff; } pre.language-html[data-type="get"]:before { background-color: green; } pre.language-html[data-type="put"]:before { background-color: #e5c500; } pre.language-html[data-type="post"]:before { background-color: #4070ec; } pre.language-html[data-type="delete"]:before { background-color: #ed0039; } pre.language-api .str { color: #ffffff; } pre.language-api .pln, pre.language-api .pun { color: #65B042; } pre code { display: block; font-size: 14px; font-family: "Source Code Pro", monospace; font-style: normal; font-weight: 400; } pre code.sample-request-response-json { white-space: pre-wrap; max-height: 500px; overflow: auto; } /* ------------------------------------------------------------------------------------------ * Sidenav * ------------------------------------------------------------------------------------------ */ .sidenav { width: 228px; margin: 0; padding: 20px; position: fixed; top: 50px; left: 0; bottom: 0; overflow-x: hidden; overflow-y: auto; background-color: #f5f5f5; z-index: 10; } .sidenav > li > a { display: block; width: 215px; margin: 0; border: 0; border-left: transparent 4px solid; border-right: transparent 4px solid; font-family: "Source Sans Pro", sans-serif; font-weight: 400; font-size: 11px; color: #000; } .sidenav > li.nav-header > a { padding: 5px 15px; border: 1px solid #e5e5e5; width: 190px; font-family: "Source Sans Pro", sans-serif; font-weight: 700; font-size: 16px; background-color: #000a1e; color: #fff; } .sidenav > li.nav-header.active > a { background-color: #2f2c33; color: #fff; } .sidenav > .active > a { position: relative; z-index: 2; } .sidenav > li > a:hover { background-color: #2f2c33; color: #fff; border-left: 1px solid #000a1e; } .sidenav > li.has-modifications a { border-left: #60d060 4px solid; } .sidenav > li.is-new a { border-left: #e5e5e5 4px solid; } /* ------------------------------------------------------------------------------------------ * Tabs * ------------------------------------------------------------------------------------------ */ ul.nav-tabs { margin: 0; } /* ------------------------------------------------------------------------------------------ * Print * ------------------------------------------------------------------------------------------ */ @media print { #sidenav, #version, #versions, section .version, section .versions { display: none; } #content { margin-left: 0; } a { text-decoration: none; color: inherit; } a:after { content: " [" attr(href) "] "; } p { color: #000000 } pre { background-color: #ffffff; color: #000000; padding: 10px; border: #808080 1px solid; border-radius: 6px; position: relative; margin: 10px 0 20px 0; } } /* /@media print */ .doc-chapter { display: none; background-color: #eee; border-radius: 1px; padding: 10px; margin-bottom: 20px; } /*! * json-schema-view-js * https://github.com/mohsen1/json-schema-view-js#readme * Version: 0.4.1 - 2015-11-12T17:19:27.615Z * License: MIT */ .json-schema-view .toggle-handle:after, .json-schema-view.json-schema-view-dark .toggle-handle:after, json-schema-view .toggle-handle:after, json-schema-view[json-schema-view-dark] .toggle-handle:after { content: "\25BC" } .json-schema-view .title, .json-schema-view.json-schema-view-dark .title, json-schema-view .title, json-schema-view[json-schema-view-dark] .title { font-weight: 700; cursor: pointer } .json-schema-view, json-schema-view { font-family: monospace; font-size: 0; display: table-cell } .json-schema-view>*, json-schema-view>* { font-size: 14px } .json-schema-view .toggle-handle, json-schema-view .toggle-handle { cursor: pointer; margin: auto .3em; font-size: 10px; display: inline-block; transform-origin: 50% 40%; transition: transform 150ms ease-in } .json-schema-view .toggle-handle, .json-schema-view .toggle-handle:hover, json-schema-view .toggle-handle, json-schema-view .toggle-handle:hover { text-decoration: none; color: #333 } .json-schema-view .description, json-schema-view .description { color: gray; font-style: italic } .json-schema-view .readOnly, json-schema-view .readOnly { color: gray; font-style: italic } .json-schema-view .nullable, json-schema-view .nullable { color: gray; font-style: italic } .pattern, .example { color: blue; } .default { color: black; } .required { color: black; } .json-schema-view .title, .json-schema-view .title:hover, json-schema-view .title, json-schema-view .title:hover { text-decoration: none; color: #333 } .json-schema-view .brace, .json-schema-view .bracket, .json-schema-view .title, json-schema-view .brace, json-schema-view .bracket, json-schema-view .title { color: #333 } .json-schema-view .property, json-schema-view .property { font-size: 0; display: table-row } .json-schema-view .property>*, json-schema-view .property>* { font-size: 14px; padding: .2em } .json-schema-view .name, json-schema-view .name { color: #00f; display: table-cell; vertical-align: top } .json-schema-view .type, json-schema-view .type { color: green } .json-schema-view .type-any, json-schema-view .type-any { color: #33f } .json-schema-view .required, json-schema-view .required { color: red } .json-schema-view .inner, json-schema-view .inner { padding-left: 18px } .json-schema-view.collapsed .description, .json-schema-view.collapsed .property, json-schema-view.collapsed .description, json-schema-view.collapsed .property { display: none } .json-schema-view.collapsed .closeing.brace, json-schema-view.collapsed .closeing.brace { display: inline-block } .json-schema-view.collapsed .toggle-handle, json-schema-view.collapsed .toggle-handle { transform: rotate(-90deg) } .json-schema-view.json-schema-view-dark, json-schema-view[json-schema-view-dark] { font-family: monospace; font-size: 0; display: table-cell } .json-schema-view.json-schema-view-dark>*, json-schema-view[json-schema-view-dark]>* { font-size: 14px } .json-schema-view.json-schema-view-dark .toggle-handle, json-schema-view[json-schema-view-dark] .toggle-handle { cursor: pointer; margin: auto .3em; font-size: 10px; display: inline-block; transform-origin: 50% 40%; transition: transform 150ms ease-in } .json-schema-view.json-schema-view-dark .toggle-handle, .json-schema-view.json-schema-view-dark .toggle-handle:hover, json-schema-view[json-schema-view-dark] .toggle-handle, json-schema-view[json-schema-view-dark] .toggle-handle:hover { text-decoration: none; color: #eee } .json-schema-view.json-schema-view-dark .description, json-schema-view[json-schema-view-dark] .description { color: gray; font-style: italic } .json-schema-view.json-schema-view-dark .title, .json-schema-view.json-schema-view-dark .title:hover, json-schema-view[json-schema-view-dark] .title, json-schema-view[json-schema-view-dark] .title:hover { text-decoration: none; color: #eee } .json-schema-view.json-schema-view-dark .brace, .json-schema-view.json-schema-view-dark .bracket, .json-schema-view.json-schema-view-dark .title, json-schema-view[json-schema-view-dark] .brace, json-schema-view[json-schema-view-dark] .bracket, json-schema-view[json-schema-view-dark] .title { color: #eee } .json-schema-view.json-schema-view-dark .property, json-schema-view[json-schema-view-dark] .property { font-size: 0; display: table-row } .json-schema-view.json-schema-view-dark .property>*, json-schema-view[json-schema-view-dark] .property>* { font-size: 14px; padding: .2em } .json-schema-view.json-schema-view-dark .name, json-schema-view[json-schema-view-dark] .name { color: #add8e6; display: table-cell; vertical-align: top } .json-schema-view.json-schema-view-dark .type, json-schema-view[json-schema-view-dark] .type { color: #90ee90 } .json-schema-view.json-schema-view-dark .type-any, json-schema-view[json-schema-view-dark] .type-any { color: #d4ebf2 } .json-schema-view.json-schema-view-dark .required, json-schema-view[json-schema-view-dark] .required { color: #fe0000 } .json-schema-view.json-schema-view-dark .inner, json-schema-view[json-schema-view-dark] .inner { padding-left: 18px } .json-schema-view.json-schema-view-dark.collapsed .description, .json-schema-view.json-schema-view-dark.collapsed .property, json-schema-view[json-schema-view-dark].collapsed .description, json-schema-view[json-schema-view-dark].collapsed .property { display: none } .json-schema-view.json-schema-view-dark.collapsed .closeing.brace, json-schema-view[json-schema-view-dark].collapsed .closeing.brace { display: inline-block } .json-schema-view.json-schema-view-dark.collapsed .toggle-handle, json-schema-view[json-schema-view-dark].collapsed .toggle-handle { transform: rotate(-90deg) } .exampleStyle { padding: 30px; border-left: 1px solid #eee; border-right: 1px solid #eee; border-bottom: 1px solid #eee; } .docs-header { position: fixed; width: 100%; background: black; padding: 10px; z-index: 100; } .xero-logo { float: left; margin-top: 5px; } .language { background: #fff; border-radius: 50%; padding: 1px; } .language, .api-set-wrapper { float: left; margin-left: 30px; } .language img { height: 30px; width: auto; padding: 5px; } .api-set { float: left; margin-left: 30px; margin-top: 5px; } .api-set-wrapper { padding-top: 5px; } </style> </head> <body> <script> // Script section to load models into a JS Var var defs = {} defs["Account"] = { "title" : "", "type" : "object", "properties" : { "Code" : { "type" : "string", "description" : "Customer defined alpha numeric account code e.g 200 or SALES (max length = 10)", "example" : "4400" }, "Name" : { "maxLength" : 150, "type" : "string", "description" : "Name of account (max length = 150)", "example" : "Food Sales" }, "AccountID" : { "type" : "string", "description" : "The Xero identifier for an account – specified as a string following the endpoint name e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "Type" : { "$ref" : "#/components/schemas/AccountType" }, "BankAccountNumber" : { "type" : "string", "description" : "For bank accounts only (Account Type BANK)" }, "Status" : { "type" : "string", "description" : "Accounts with a status of ACTIVE can be updated to ARCHIVED. See Account Status Codes", "enum" : [ "ACTIVE", "ARCHIVED", "DELETED" ] }, "Description" : { "type" : "string", "description" : "Description of the Account. Valid for all types of accounts except bank accounts (max length = 4000)" }, "BankAccountType" : { "type" : "string", "description" : "For bank accounts only. See Bank Account types", "enum" : [ "BANK", "CREDITCARD", "PAYPAL", "NONE", "" ] }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "TaxType" : { "type" : "string", "description" : "The tax type from TaxRates" }, "EnablePaymentsToAccount" : { "type" : "boolean", "description" : "Boolean – describes whether account can have payments applied to it" }, "ShowInExpenseClaims" : { "type" : "boolean", "description" : "Boolean – describes whether account code is available for use with expense claims" }, "Class" : { "type" : "string", "description" : "See Account Class Types", "readOnly" : true, "enum" : [ "ASSET", "EQUITY", "EXPENSE", "LIABILITY", "REVENUE" ] }, "SystemAccount" : { "type" : "string", "description" : "If this is a system account then this element is returned. See System Account types. Note that non-system accounts may have this element set as either “” or null.", "readOnly" : true, "enum" : [ "DEBTORS", "CREDITORS", "BANKCURRENCYGAIN", "GST", "GSTONIMPORTS", "HISTORICAL", "REALISEDCURRENCYGAIN", "RETAINEDEARNINGS", "ROUNDING", "TRACKINGTRANSFERS", "UNPAIDEXPCLM", "UNREALISEDCURRENCYGAIN", "WAGEPAYABLES", "CISASSETS", "CISASSET", "CISLABOUR", "CISLABOUREXPENSE", "CISLABOURINCOME", "CISLIABILITY", "CISMATERIALS", "" ] }, "ReportingCode" : { "type" : "string", "description" : "Shown if set" }, "ReportingCodeName" : { "type" : "string", "description" : "Shown if set", "readOnly" : true }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if an account has an attachment (read only)", "readOnly" : true, "example" : false, "default" : false }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "AddToWatchlist" : { "type" : "boolean", "description" : "Boolean – describes whether the account is shown in the watchlist widget on the dashboard" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/accounts/" } }; defs["AccountType"] = { "title" : "", "type" : "string", "description" : "See Account Types", "enum" : [ "BANK", "CURRENT", "CURRLIAB", "DEPRECIATN", "DIRECTCOSTS", "EQUITY", "EXPENSE", "FIXED", "INVENTORY", "LIABILITY", "NONCURRENT", "OTHERINCOME", "OVERHEADS", "PREPAYMENT", "REVENUE", "SALES", "TERMLIAB", "PAYGLIABILITY", "PAYG", "SUPERANNUATIONEXPENSE", "SUPERANNUATIONLIABILITY", "WAGESEXPENSE" ] }; defs["Accounts"] = { "title" : "", "type" : "object", "properties" : { "Accounts" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Account" } } }, "description" : "", "x-isObjectArray" : true }; defs["AccountsPayable"] = { "title" : "", "type" : "object", "properties" : { "Outstanding" : { "type" : "number", "format" : "double", "x-is-money" : true }, "Overdue" : { "type" : "number", "format" : "double", "x-is-money" : true } }, "description" : "" }; defs["AccountsReceivable"] = { "title" : "", "type" : "object", "properties" : { "Outstanding" : { "type" : "number", "format" : "double", "x-is-money" : true }, "Overdue" : { "type" : "number", "format" : "double", "x-is-money" : true } }, "description" : "" }; defs["Action"] = { "title" : "", "properties" : { "Name" : { "type" : "string", "description" : "Name of the actions for this organisation", "example" : "UseMulticurrency" }, "Status" : { "type" : "string", "description" : "Status of the action for this organisation", "enum" : [ "ALLOWED", "NOT-ALLOWED" ] } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/organisation/" } }; defs["Actions"] = { "title" : "", "type" : "object", "properties" : { "Actions" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Action" } } }, "description" : "", "x-isObjectArray" : true }; defs["Address"] = { "title" : "", "type" : "object", "properties" : { "AddressType" : { "type" : "string", "description" : "define the type of address", "enum" : [ "POBOX", "STREET" ] }, "AddressLine1" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "AddressLine2" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "AddressLine3" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "AddressLine4" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "City" : { "maxLength" : 255, "type" : "string", "description" : "max length = 255" }, "Region" : { "maxLength" : 255, "type" : "string", "description" : "max length = 255" }, "PostalCode" : { "maxLength" : 50, "type" : "string", "description" : "max length = 50" }, "Country" : { "maxLength" : 50, "type" : "string", "description" : "max length = 50, [A-Z], [a-z] only" }, "AttentionTo" : { "maxLength" : 255, "type" : "string", "description" : "max length = 255" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/types" } }; defs["AddressForOrganisation"] = { "title" : "", "type" : "object", "properties" : { "AddressType" : { "type" : "string", "description" : "define the type of address", "enum" : [ "POBOX", "STREET", "DELIVERY" ] }, "AddressLine1" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "AddressLine2" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "AddressLine3" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "AddressLine4" : { "maxLength" : 500, "type" : "string", "description" : "max length = 500" }, "City" : { "maxLength" : 255, "type" : "string", "description" : "max length = 255" }, "Region" : { "maxLength" : 255, "type" : "string", "description" : "max length = 255" }, "PostalCode" : { "maxLength" : 50, "type" : "string", "description" : "max length = 50" }, "Country" : { "maxLength" : 50, "type" : "string", "description" : "max length = 50, [A-Z], [a-z] only" }, "AttentionTo" : { "maxLength" : 255, "type" : "string", "description" : "max length = 255" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/types" } }; defs["Allocation"] = { "title" : "", "required" : [ "Amount", "Date", "Invoice" ], "type" : "object", "properties" : { "Invoice" : { "$ref" : "#/components/schemas/Invoice" }, "Overpayment" : { "$ref" : "#/components/schemas/Overpayment" }, "Prepayment" : { "$ref" : "#/components/schemas/Prepayment" }, "CreditNote" : { "$ref" : "#/components/schemas/CreditNote" }, "Amount" : { "type" : "number", "description" : "the amount being applied to the invoice", "format" : "double", "x-is-money" : true }, "Date" : { "type" : "string", "description" : "the date the allocation is applied YYYY-MM-DD.", "x-is-msdate" : true }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/prepayments/" } }; defs["Allocations"] = { "title" : "", "type" : "object", "properties" : { "Allocations" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Allocation" } } }, "description" : "", "x-isObjectArray" : true }; defs["Attachment"] = { "title" : "", "type" : "object", "properties" : { "AttachmentID" : { "type" : "string", "description" : "Unique ID for the file", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "FileName" : { "type" : "string", "description" : "Name of the file", "example" : "xero-dev.jpg" }, "Url" : { "type" : "string", "description" : "URL to the file on xero.com", "example" : "https://api.xero.com/api.xro/2.0/Accounts/da962997-a8bd-4dff-9616-01cdc199283f/Attachments/sample5.jpg" }, "MimeType" : { "type" : "string", "description" : "Type of file", "example" : "image/jpg" }, "ContentLength" : { "type" : "integer", "description" : "Length of the file content" }, "IncludeOnline" : { "type" : "boolean", "description" : "Include the file with the online invoice" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/attachments/" } }; defs["Attachments"] = { "title" : "", "type" : "object", "properties" : { "Attachments" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Attachment" } } }, "description" : "", "x-isObjectArray" : true }; defs["BalanceDetails"] = { "title" : "", "type" : "object", "properties" : { "Balance" : { "type" : "number", "description" : "The opening balances of the account. Debits are positive, credits are negative values", "format" : "double" }, "CurrencyCode" : { "type" : "string", "description" : "The currency of the balance (Not required for base currency)" }, "CurrencyRate" : { "type" : "number", "description" : "(Optional) Exchange rate to base currency when money is spent or received. If not specified, XE rate for the day is applied", "format" : "double", "x-is-money" : true } }, "description" : "An array to specify multiple currency balances of an account" }; defs["Balances"] = { "title" : "", "type" : "object", "properties" : { "AccountsReceivable" : { "$ref" : "#/components/schemas/AccountsReceivable" }, "AccountsPayable" : { "$ref" : "#/components/schemas/AccountsPayable" } }, "description" : "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)" }; defs["BankTransaction"] = { "title" : "", "required" : [ "BankAccount", "LineItems", "Type" ], "type" : "object", "properties" : { "Type" : { "type" : "string", "description" : "See Bank Transaction Types", "enum" : [ "RECEIVE", "RECEIVE-OVERPAYMENT", "RECEIVE-PREPAYMENT", "SPEND", "SPEND-OVERPAYMENT", "SPEND-PREPAYMENT", "RECEIVE-TRANSFER", "SPEND-TRANSFER" ] }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "LineItems" : { "type" : "array", "description" : "See LineItems", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "BankAccount" : { "$ref" : "#/components/schemas/Account" }, "IsReconciled" : { "type" : "boolean", "description" : "Boolean to show if transaction is reconciled" }, "Date" : { "type" : "string", "description" : "Date of transaction – YYYY-MM-DD", "x-is-msdate" : true }, "Reference" : { "type" : "string", "description" : "Reference for the transaction. Only supported for SPEND and RECEIVE transactions." }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "CurrencyRate" : { "type" : "number", "description" : "Exchange rate to base currency when money is spent or received. e.g.0.7500 Only used for bank transactions in non base currency. If this isn’t specified for non base currency accounts then either the user-defined rate (preference) or the XE.com day rate will be used. Setting currency is only supported on overpayments.", "format" : "double", "x-is-money" : true }, "Url" : { "type" : "string", "description" : "URL link to a source document – shown as “Go to App Name”" }, "Status" : { "type" : "string", "description" : "See Bank Transaction Status Codes", "enum" : [ "AUTHORISED", "DELETED", "VOIDED" ] }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "SubTotal" : { "type" : "number", "description" : "Total of bank transaction excluding taxes", "format" : "double", "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "Total tax on bank transaction", "format" : "double", "x-is-money" : true }, "Total" : { "type" : "number", "description" : "Total of bank transaction tax inclusive", "format" : "double", "x-is-money" : true }, "BankTransactionID" : { "type" : "string", "description" : "Xero generated unique identifier for bank transaction", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "PrepaymentID" : { "type" : "string", "description" : "Xero generated unique identifier for a Prepayment. This will be returned on BankTransactions with a Type of SPEND-PREPAYMENT or RECEIVE-PREPAYMENT", "format" : "uuid", "readOnly" : true, "example" : "00000000-0000-0000-0000-000000000000" }, "OverpaymentID" : { "type" : "string", "description" : "Xero generated unique identifier for an Overpayment. This will be returned on BankTransactions with a Type of SPEND-OVERPAYMENT or RECEIVE-OVERPAYMENT", "format" : "uuid", "readOnly" : true, "example" : "00000000-0000-0000-0000-000000000000" }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "HasAttachments" : { "type" : "boolean", "description" : "Boolean to indicate if a bank transaction has an attachment", "readOnly" : true, "example" : false, "default" : false }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/banktransactions/" } }; defs["BankTransactions"] = { "title" : "", "type" : "object", "properties" : { "BankTransactions" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/BankTransaction" } } }, "description" : "", "x-isObjectArray" : true }; defs["BankTransfer"] = { "title" : "", "required" : [ "Amount", "FromBankAccount", "ToBankAccount" ], "type" : "object", "properties" : { "FromBankAccount" : { "$ref" : "#/components/schemas/Account" }, "ToBankAccount" : { "$ref" : "#/components/schemas/Account" }, "Amount" : { "type" : "number", "description" : "amount of the transaction", "format" : "double", "x-is-money" : true }, "Date" : { "type" : "string", "description" : "The date of the Transfer YYYY-MM-DD", "x-is-msdate" : true }, "BankTransferID" : { "type" : "string", "description" : "The identifier of the Bank Transfer", "format" : "uuid", "readOnly" : true }, "CurrencyRate" : { "type" : "number", "description" : "The currency rate", "format" : "double", "readOnly" : true, "x-is-money" : true }, "FromBankTransactionID" : { "type" : "string", "description" : "The Bank Transaction ID for the source account", "format" : "uuid", "readOnly" : true }, "ToBankTransactionID" : { "type" : "string", "description" : "The Bank Transaction ID for the destination account", "format" : "uuid", "readOnly" : true }, "HasAttachments" : { "type" : "boolean", "description" : "Boolean to indicate if a Bank Transfer has an attachment", "readOnly" : true, "example" : false, "default" : false }, "CreatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of creation date of bank transfer", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/bank-transfers/" } }; defs["BankTransfers"] = { "title" : "", "type" : "object", "properties" : { "BankTransfers" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/BankTransfer" } } }, "description" : "", "x-isObjectArray" : true }; defs["BatchPayment"] = { "title" : "", "type" : "object", "properties" : { "Account" : { "$ref" : "#/components/schemas/Account" }, "Reference" : { "maxLength" : 255, "type" : "string", "description" : "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero." }, "Particulars" : { "maxLength" : 12, "type" : "string", "description" : "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero." }, "Code" : { "maxLength" : 12, "type" : "string", "description" : "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero." }, "Details" : { "type" : "string", "description" : "(Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18" }, "Narrative" : { "maxLength" : 18, "type" : "string", "description" : "(UK Only) Only shows on the statement line in Xero. Max length =18" }, "BatchPaymentID" : { "type" : "string", "description" : "The Xero generated unique identifier for the bank transaction (read-only)", "format" : "uuid", "readOnly" : true }, "DateString" : { "type" : "string", "description" : "Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06" }, "Date" : { "type" : "string", "description" : "Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06", "x-is-msdate" : true }, "Amount" : { "type" : "number", "description" : "The amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00", "format" : "double", "x-is-money" : true }, "Payments" : { "type" : "array", "description" : "An array of payments", "items" : { "$ref" : "#/components/schemas/Payment" } }, "Type" : { "type" : "string", "description" : "PAYBATCH for bill payments or RECBATCH for sales invoice payments (read-only)", "readOnly" : true, "enum" : [ "PAYBATCH", "RECBATCH" ] }, "Status" : { "type" : "string", "description" : "AUTHORISED or DELETED (read-only). New batch payments will have a status of AUTHORISED. It is not possible to delete batch payments via the API.", "readOnly" : true, "enum" : [ "AUTHORISED", "DELETED" ] }, "TotalAmount" : { "type" : "string", "description" : "The total of the payments that make up the batch (read-only)", "readOnly" : true }, "UpdatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of last update to the payment", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "IsReconciled" : { "type" : "string", "description" : "Booelan that tells you if the batch payment has been reconciled (read-only)", "readOnly" : true }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/BatchPayments/" } }; defs["BatchPaymentDetails"] = { "title" : "", "properties" : { "BankAccountNumber" : { "type" : "string", "description" : "Bank account number for use with Batch Payments", "example" : "123-456-1111111" }, "BankAccountName" : { "type" : "string", "description" : "Name of bank for use with Batch Payments", "example" : "ACME Bank" }, "Details" : { "type" : "string", "description" : "(Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18", "example" : "Hello World" }, "Code" : { "maxLength" : 12, "type" : "string", "description" : "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.", "example" : "ABC" }, "Reference" : { "maxLength" : 12, "type" : "string", "description" : "(NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.", "example" : "Foobar" } }, "description" : "Bank details for use on a batch payment stored with each contact", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/Contact/" } }; defs["BatchPayments"] = { "title" : "", "type" : "object", "properties" : { "BatchPayments" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/BatchPayment" } } }, "description" : "", "x-isObjectArray" : true }; defs["Bill"] = { "title" : "", "type" : "object", "properties" : { "Day" : { "type" : "integer", "description" : "Day of Month (0-31)" }, "Type" : { "$ref" : "#/components/schemas/PaymentTermType" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/organisation/" } }; defs["BrandingTheme"] = { "title" : "", "type" : "object", "properties" : { "BrandingThemeID" : { "type" : "string", "description" : "Xero identifier", "format" : "uuid" }, "Name" : { "type" : "string", "description" : "Name of branding theme" }, "LogoUrl" : { "type" : "string", "description" : "The location of the image file used as the logo on this branding theme" }, "Type" : { "type" : "string", "description" : "Always INVOICE", "enum" : [ "INVOICE" ] }, "SortOrder" : { "type" : "integer", "description" : "Integer – ranked order of branding theme. The default branding theme has a value of 0" }, "CreatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of creation date of branding theme", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/branding-themes/" } }; defs["BrandingThemes"] = { "title" : "", "type" : "object", "properties" : { "BrandingThemes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/BrandingTheme" } } }, "description" : "", "x-isObjectArray" : true }; defs["Budget"] = { "title" : "", "type" : "object", "properties" : { "BudgetID" : { "type" : "string", "description" : "Xero identifier", "format" : "uuid" }, "Type" : { "type" : "string", "description" : "Type of Budget. OVERALL or TRACKING", "enum" : [ "OVERALL", "TRACKING" ] }, "Description" : { "maxLength" : 255, "type" : "string", "description" : "The Budget description" }, "UpdatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of last update to budget", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "BudgetLines" : { "$ref" : "#/components/schemas/BudgetLines" }, "Tracking" : { "$ref" : "#/components/schemas/TrackingCategory" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/budgets/" } }; defs["BudgetLines"] = { "title" : "", "type" : "object", "properties" : { "Period" : { "type" : "string", "description" : "Period the amount applies to (e.g. “2019-08”)", "x-is-msdate" : true }, "Amount" : { "type" : "integer", "description" : "LineItem Quantity" }, "UnitAmount" : { "type" : "integer", "description" : "Budgeted amount" }, "Notes" : { "maxLength" : 255, "type" : "string", "description" : "Any footnotes associated with this balance" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/budgets/" } }; defs["Budgets"] = { "title" : "", "type" : "object", "properties" : { "Budgets" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Budget" } } }, "description" : "", "x-isObjectArray" : true }; defs["CISOrgSetting"] = { "title" : "", "properties" : { "CISContractorEnabled" : { "type" : "boolean", "description" : "true or false - Boolean that describes if the organisation is a CIS Contractor" }, "CISSubContractorEnabled" : { "type" : "boolean", "description" : "true or false - Boolean that describes if the organisation is a CIS SubContractor" }, "Rate" : { "type" : "number", "description" : "CIS Deduction rate for the organisation", "format" : "double", "readOnly" : true, "x-is-money" : true } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/organisation" } }; defs["CISOrgSettings"] = { "title" : "", "type" : "object", "properties" : { "CISSettings" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/CISOrgSetting" } } }, "description" : "", "x-isObjectArray" : true }; defs["CISSetting"] = { "title" : "", "properties" : { "CISEnabled" : { "type" : "boolean", "description" : "Boolean that describes if the contact is a CIS Subcontractor" }, "Rate" : { "type" : "number", "description" : "CIS Deduction rate for the contact if he is a subcontractor. If the contact is not CISEnabled, then the rate is not returned", "format" : "double", "readOnly" : true, "x-is-money" : true } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/contacts/" } }; defs["CISSettings"] = { "title" : "", "type" : "object", "properties" : { "CISSettings" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/CISSetting" } } }, "description" : "", "x-isObjectArray" : true }; defs["Contact"] = { "title" : "", "type" : "object", "properties" : { "ContactID" : { "type" : "string", "description" : "Xero identifier", "format" : "uuid" }, "ContactNumber" : { "maxLength" : 50, "type" : "string", "description" : "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero." }, "AccountNumber" : { "maxLength" : 50, "type" : "string", "description" : "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)" }, "ContactStatus" : { "type" : "string", "description" : "Current status of a contact – see contact status types", "enum" : [ "ACTIVE", "ARCHIVED", "GDPRREQUEST" ] }, "Name" : { "maxLength" : 255, "type" : "string", "description" : "Full name of contact/organisation (max length = 255)" }, "FirstName" : { "maxLength" : 255, "type" : "string", "description" : "First name of contact person (max length = 255)" }, "LastName" : { "maxLength" : 255, "type" : "string", "description" : "Last name of contact person (max length = 255)" }, "EmailAddress" : { "maxLength" : 255, "type" : "string", "description" : "Email address of contact person (umlauts not supported) (max length = 255)" }, "SkypeUserName" : { "type" : "string", "description" : "Skype user name of contact" }, "ContactPersons" : { "type" : "array", "description" : "See contact persons", "items" : { "$ref" : "#/components/schemas/ContactPerson" } }, "BankAccountDetails" : { "type" : "string", "description" : "Bank account number of contact" }, "TaxNumber" : { "maxLength" : 50, "type" : "string", "description" : "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)" }, "AccountsReceivableTaxType" : { "type" : "string", "description" : "The tax type from TaxRates" }, "AccountsPayableTaxType" : { "type" : "string", "description" : "The tax type from TaxRates" }, "Addresses" : { "type" : "array", "description" : "Store certain address types for a contact – see address types", "items" : { "$ref" : "#/components/schemas/Address" } }, "Phones" : { "type" : "array", "description" : "Store certain phone types for a contact – see phone types", "items" : { "$ref" : "#/components/schemas/Phone" } }, "IsSupplier" : { "type" : "boolean", "description" : "true or false – Boolean that describes if a contact that has any AP invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact." }, "IsCustomer" : { "type" : "boolean", "description" : "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact." }, "DefaultCurrency" : { "$ref" : "#/components/schemas/CurrencyCode" }, "XeroNetworkKey" : { "type" : "string", "description" : "Store XeroNetworkKey for contacts." }, "SalesDefaultAccountCode" : { "type" : "string", "description" : "The default sales account code for contacts" }, "PurchasesDefaultAccountCode" : { "type" : "string", "description" : "The default purchases account code for contacts" }, "SalesTrackingCategories" : { "type" : "array", "description" : "The default sales tracking categories for contacts", "items" : { "$ref" : "#/components/schemas/SalesTrackingCategory" } }, "PurchasesTrackingCategories" : { "type" : "array", "description" : "The default purchases tracking categories for contacts", "items" : { "$ref" : "#/components/schemas/SalesTrackingCategory" } }, "TrackingCategoryName" : { "type" : "string", "description" : "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" }, "TrackingCategoryOption" : { "type" : "string", "description" : "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories" }, "PaymentTerms" : { "$ref" : "#/components/schemas/PaymentTerm" }, "UpdatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of last update to contact", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "ContactGroups" : { "type" : "array", "description" : "Displays which contact groups a contact is included in", "items" : { "$ref" : "#/components/schemas/ContactGroup" } }, "Website" : { "type" : "string", "description" : "Website address for contact (read only)", "readOnly" : true }, "BrandingTheme" : { "$ref" : "#/components/schemas/BrandingTheme" }, "BatchPayments" : { "$ref" : "#/components/schemas/BatchPaymentDetails" }, "Discount" : { "type" : "number", "description" : "The default discount rate for the contact (read only)", "format" : "double", "readOnly" : true, "x-is-money" : true }, "Balances" : { "$ref" : "#/components/schemas/Balances" }, "Attachments" : { "type" : "array", "description" : "Displays array of attachments from the API", "items" : { "$ref" : "#/components/schemas/Attachment" } }, "HasAttachments" : { "type" : "boolean", "description" : "A boolean to indicate if a contact has an attachment", "example" : false, "default" : false }, "ValidationErrors" : { "type" : "array", "description" : "Displays validation errors returned from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "HasValidationErrors" : { "type" : "boolean", "description" : "A boolean to indicate if a contact has an validation errors", "example" : false, "default" : false }, "StatusAttributeString" : { "type" : "string", "description" : "Status of object" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/contacts/" } }; defs["ContactGroup"] = { "title" : "", "type" : "object", "properties" : { "Name" : { "type" : "string", "description" : "The Name of the contact group. Required when creating a new contact group" }, "Status" : { "type" : "string", "description" : "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.", "enum" : [ "ACTIVE", "DELETED" ] }, "ContactGroupID" : { "type" : "string", "description" : "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9", "format" : "uuid" }, "Contacts" : { "type" : "array", "description" : "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL.", "items" : { "$ref" : "#/components/schemas/Contact" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/contactgroups/" } }; defs["ContactGroups"] = { "title" : "", "type" : "object", "properties" : { "ContactGroups" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ContactGroup" } } }, "description" : "", "x-isObjectArray" : true }; defs["ContactPerson"] = { "title" : "", "type" : "object", "properties" : { "FirstName" : { "type" : "string", "description" : "First name of person" }, "LastName" : { "type" : "string", "description" : "Last name of person" }, "EmailAddress" : { "type" : "string", "description" : "Email address of person" }, "IncludeInEmails" : { "type" : "boolean", "description" : "boolean to indicate whether contact should be included on emails with invoices etc." } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/contacts/" } }; defs["Contacts"] = { "title" : "", "type" : "object", "properties" : { "Contacts" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Contact" } } }, "description" : "", "x-isObjectArray" : true }; defs["ConversionBalances"] = { "title" : "", "type" : "object", "properties" : { "AccountCode" : { "type" : "string", "description" : "The account code for a account" }, "Balance" : { "type" : "number", "description" : "The opening balances of the account. Debits are positive, credits are negative values", "format" : "double" }, "BalanceDetails" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/BalanceDetails" } } }, "description" : "Balance supplied for each account that has a value as at the conversion date." }; defs["ConversionDate"] = { "title" : "", "type" : "object", "properties" : { "Month" : { "type" : "integer", "description" : "The month the organisation starts using Xero. Value is an integer between 1 and 12", "example" : 1 }, "Year" : { "type" : "integer", "description" : "The year the organisation starts using Xero. Value is an integer greater than 2006", "example" : 2020 } }, "description" : "The date when the organisation starts using Xero" }; defs["CountryCode"] = { "title" : "", "type" : "string", "description" : "", "enum" : [ "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BR", "BS", "BT", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GG", "GH", "GI", "GL", "GM", "GN", "GQ", "GR", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW" ] }; defs["CreditNote"] = { "title" : "", "type" : "object", "properties" : { "Type" : { "type" : "string", "description" : "See Credit Note Types", "enum" : [ "ACCPAYCREDIT", "ACCRECCREDIT" ] }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "Date" : { "type" : "string", "description" : "The date the credit note is issued YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation", "x-is-msdate" : true }, "DueDate" : { "type" : "string", "description" : "Date invoice is due – YYYY-MM-DD", "x-is-msdate" : true }, "Status" : { "type" : "string", "description" : "See Credit Note Status Codes", "enum" : [ "DRAFT", "SUBMITTED", "DELETED", "AUTHORISED", "PAID", "VOIDED" ] }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "LineItems" : { "type" : "array", "description" : "See Invoice Line Items", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "SubTotal" : { "type" : "number", "description" : "The subtotal of the credit note excluding taxes", "format" : "double", "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "The total tax on the credit note", "format" : "double", "x-is-money" : true }, "Total" : { "type" : "number", "description" : "The total of the Credit Note(subtotal + total tax)", "format" : "double", "x-is-money" : true }, "CISDeduction" : { "type" : "number", "description" : "CIS deduction for UK contractors", "format" : "double", "readOnly" : true, "x-is-money" : true }, "CISRate" : { "type" : "number", "description" : "CIS Deduction rate for the organisation", "format" : "double", "readOnly" : true, "x-is-money" : true }, "UpdatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of last update to the credit note", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "FullyPaidOnDate" : { "type" : "string", "description" : "Date when credit note was fully paid(UTC format)", "x-is-msdate" : true }, "CreditNoteID" : { "type" : "string", "description" : "Xero generated unique identifier", "format" : "uuid" }, "CreditNoteNumber" : { "type" : "string", "description" : "ACCRECCREDIT – Unique alpha numeric code identifying credit note (when missing will auto-generate from your Organisation Invoice Settings)" }, "Reference" : { "type" : "string", "description" : "ACCRECCREDIT only – additional reference number" }, "SentToContact" : { "type" : "boolean", "description" : "boolean to indicate if a credit note has been sent to a contact via the Xero app (currently read only)", "readOnly" : true }, "CurrencyRate" : { "type" : "number", "description" : "The currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used", "format" : "double", "x-is-money" : true }, "RemainingCredit" : { "type" : "number", "description" : "The remaining credit balance on the Credit Note", "format" : "double", "x-is-money" : true }, "Allocations" : { "type" : "array", "description" : "See Allocations", "items" : { "$ref" : "#/components/schemas/Allocation" } }, "AppliedAmount" : { "type" : "number", "description" : "The amount of applied to an invoice", "format" : "double", "example" : 2.0, "x-is-money" : true }, "Payments" : { "type" : "array", "description" : "See Payments", "items" : { "$ref" : "#/components/schemas/Payment" } }, "BrandingThemeID" : { "type" : "string", "description" : "See BrandingThemes", "format" : "uuid" }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status" }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if a credit note has an attachment", "example" : false, "default" : false }, "HasErrors" : { "type" : "boolean", "description" : "A boolean to indicate if a credit note has an validation errors", "example" : false, "default" : false }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "Warnings" : { "type" : "array", "description" : "Displays array of warning messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/credit-notes/" } }; defs["CreditNotes"] = { "title" : "", "type" : "object", "properties" : { "CreditNotes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/CreditNote" } } }, "description" : "", "x-isObjectArray" : true }; defs["Currencies"] = { "title" : "", "type" : "object", "properties" : { "Currencies" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Currency" } } }, "description" : "", "x-isObjectArray" : true }; defs["Currency"] = { "title" : "", "type" : "object", "properties" : { "Code" : { "$ref" : "#/components/schemas/CurrencyCode" }, "Description" : { "type" : "string", "description" : "Name of Currency" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/currencies/" } }; defs["CurrencyCode"] = { "title" : "", "type" : "string", "description" : "3 letter alpha code for the currency – see list of currency codes", "enum" : [ "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GGP", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SPL", "SRD", "STN", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZMK", "ZWD", "" ], "x-enum-varnames" : [ "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GGP", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SPL", "SRD", "STN", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY_LIRA", "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZMK", "ZWD", "EMPTY_CURRENCY" ] }; defs["Element"] = { "title" : "", "type" : "object", "properties" : { "ValidationErrors" : { "type" : "array", "description" : "Array of Validation Error message", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "BatchPaymentID" : { "type" : "string", "description" : "Unique ID for batch payment object with validation error", "format" : "uuid" }, "BankTransactionID" : { "type" : "string", "format" : "uuid" }, "CreditNoteID" : { "type" : "string", "format" : "uuid" }, "ContactID" : { "type" : "string", "format" : "uuid" }, "InvoiceID" : { "type" : "string", "format" : "uuid" }, "ItemID" : { "type" : "string", "format" : "uuid" }, "PurchaseOrderID" : { "type" : "string", "format" : "uuid" } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/http-response-codes" } }; defs["Employee"] = { "title" : "", "type" : "object", "properties" : { "EmployeeID" : { "type" : "string", "description" : "The Xero identifier for an employee e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9", "format" : "uuid" }, "Status" : { "type" : "string", "description" : "Current status of an employee – see contact status types", "enum" : [ "ACTIVE", "ARCHIVED", "GDPRREQUEST", "DELETED" ] }, "FirstName" : { "maxLength" : 255, "type" : "string", "description" : "First name of an employee (max length = 255)" }, "LastName" : { "maxLength" : 255, "type" : "string", "description" : "Last name of an employee (max length = 255)" }, "ExternalLink" : { "$ref" : "#/components/schemas/ExternalLink" }, "UpdatedDateUTC" : { "type" : "string", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status", "example" : "ERROR" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/employees/" } }; defs["Employees"] = { "title" : "", "type" : "object", "properties" : { "Employees" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Employee" } } }, "description" : "", "x-isObjectArray" : true }; defs["Error"] = { "title" : "", "type" : "object", "properties" : { "ErrorNumber" : { "type" : "integer", "description" : "Exception number" }, "Type" : { "type" : "string", "description" : "Exception type" }, "Message" : { "type" : "string", "description" : "Exception message" }, "Elements" : { "type" : "array", "description" : "Array of Elements of validation Errors", "items" : { "$ref" : "#/components/schemas/Element" } } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/http-response-codes" } }; defs["ExpenseClaim"] = { "title" : "", "type" : "object", "properties" : { "ExpenseClaimID" : { "type" : "string", "description" : "Xero generated unique identifier for an expense claim", "format" : "uuid" }, "Status" : { "type" : "string", "description" : "Current status of an expense claim – see status types", "enum" : [ "SUBMITTED", "AUTHORISED", "PAID", "VOIDED", "DELETED" ] }, "Payments" : { "type" : "array", "description" : "See Payments", "items" : { "$ref" : "#/components/schemas/Payment" } }, "User" : { "$ref" : "#/components/schemas/User" }, "Receipts" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Receipt" } }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "Total" : { "type" : "number", "description" : "The total of an expense claim being paid", "format" : "double", "readOnly" : true, "x-is-money" : true }, "AmountDue" : { "type" : "number", "description" : "The amount due to be paid for an expense claim", "format" : "double", "readOnly" : true, "x-is-money" : true }, "AmountPaid" : { "type" : "number", "description" : "The amount still to pay for an expense claim", "format" : "double", "readOnly" : true, "x-is-money" : true }, "PaymentDueDate" : { "type" : "string", "description" : "The date when the expense claim is due to be paid YYYY-MM-DD", "readOnly" : true, "x-is-msdate" : true }, "ReportingDate" : { "type" : "string", "description" : "The date the expense claim will be reported in Xero YYYY-MM-DD", "readOnly" : true, "x-is-msdate" : true }, "ReceiptID" : { "type" : "string", "description" : "The Xero identifier for the Receipt e.g. e59a2c7f-1306-4078-a0f3-73537afcbba9", "format" : "uuid" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/expense-claims/" } }; defs["ExpenseClaims"] = { "title" : "", "type" : "object", "properties" : { "ExpenseClaims" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ExpenseClaim" } } }, "description" : "", "x-isObjectArray" : true }; defs["ExternalLink"] = { "title" : "", "type" : "object", "properties" : { "LinkType" : { "type" : "string", "description" : "See External link types", "enum" : [ "Facebook", "GooglePlus", "LinkedIn", "Twitter", "Website" ] }, "Url" : { "type" : "string", "description" : "URL for service e.g. http://twitter.com/xeroapi" }, "Description" : { "type" : "string" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/organisation/" } }; defs["HistoryRecord"] = { "title" : "", "type" : "object", "properties" : { "Details" : { "type" : "string", "description" : "details" }, "Changes" : { "type" : "string", "description" : "Name of branding theme" }, "User" : { "type" : "string", "description" : "has a value of 0" }, "DateUTC" : { "type" : "string", "description" : "UTC timestamp of creation date of branding theme", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/history-and-notes" } }; defs["HistoryRecords"] = { "title" : "", "type" : "object", "properties" : { "HistoryRecords" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/HistoryRecord" } } }, "description" : "", "x-isObjectArray" : true }; defs["ImportSummary"] = { "title" : "", "type" : "object", "properties" : { "Accounts" : { "$ref" : "#/components/schemas/ImportSummaryAccounts" }, "Organisation" : { "$ref" : "#/components/schemas/ImportSummaryOrganisation" } }, "description" : "A summary of the import from setup endpoint", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api-guides/conversions" } }; defs["ImportSummaryAccounts"] = { "title" : "", "type" : "object", "properties" : { "Total" : { "type" : "integer", "description" : "The total number of accounts in the org", "format" : "int32" }, "New" : { "type" : "integer", "description" : "The number of new accounts created", "format" : "int32" }, "Updated" : { "type" : "integer", "description" : "The number of accounts updated", "format" : "int32" }, "Deleted" : { "type" : "integer", "description" : "The number of accounts deleted", "format" : "int32" }, "Locked" : { "type" : "integer", "description" : "The number of locked accounts", "format" : "int32" }, "System" : { "type" : "integer", "description" : "The number of system accounts", "format" : "int32" }, "Errored" : { "type" : "integer", "description" : "The number of accounts that had an error", "format" : "int32" }, "Present" : { "type" : "boolean" }, "NewOrUpdated" : { "type" : "integer", "description" : "The number of new or updated accounts", "format" : "int32" } }, "description" : "A summary of the accounts changes" }; defs["ImportSummaryObject"] = { "title" : "", "properties" : { "ImportSummary" : { "$ref" : "#/components/schemas/ImportSummary" } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api-guides/conversions" } }; defs["ImportSummaryOrganisation"] = { "title" : "", "type" : "object", "properties" : { "Present" : { "type" : "boolean" } }, "description" : "" }; defs["Invoice"] = { "title" : "", "type" : "object", "properties" : { "Type" : { "type" : "string", "description" : "See Invoice Types", "enum" : [ "ACCPAY", "ACCPAYCREDIT", "APOVERPAYMENT", "APPREPAYMENT", "ACCREC", "ACCRECCREDIT", "AROVERPAYMENT", "ARPREPAYMENT" ] }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "LineItems" : { "type" : "array", "description" : "See LineItems", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "Date" : { "type" : "string", "description" : "Date invoice was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation", "x-is-msdate" : true }, "DueDate" : { "type" : "string", "description" : "Date invoice is due – YYYY-MM-DD", "x-is-msdate" : true }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "InvoiceNumber" : { "maxLength" : 255, "type" : "string", "description" : "ACCREC – Unique alpha numeric code identifying invoice (when missing will auto-generate from your Organisation Invoice Settings) (max length = 255)" }, "Reference" : { "type" : "string", "description" : "ACCREC only – additional reference number" }, "BrandingThemeID" : { "type" : "string", "description" : "See BrandingThemes", "format" : "uuid" }, "Url" : { "type" : "string", "description" : "URL link to a source document – shown as “Go to [appName]” in the Xero app" }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "CurrencyRate" : { "type" : "number", "description" : "The currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used. (max length = [18].[6])", "format" : "double", "x-is-money" : true }, "Status" : { "type" : "string", "description" : "See Invoice Status Codes", "enum" : [ "DRAFT", "SUBMITTED", "DELETED", "AUTHORISED", "PAID", "VOIDED" ] }, "SentToContact" : { "type" : "boolean", "description" : "Boolean to set whether the invoice in the Xero app should be marked as “sent”. This can be set only on invoices that have been approved" }, "ExpectedPaymentDate" : { "type" : "string", "description" : "Shown on sales invoices (Accounts Receivable) when this has been set", "x-is-msdate" : true }, "PlannedPaymentDate" : { "type" : "string", "description" : "Shown on bills (Accounts Payable) when this has been set", "x-is-msdate" : true }, "CISDeduction" : { "type" : "number", "description" : "CIS deduction for UK contractors", "format" : "double", "readOnly" : true, "x-is-money" : true }, "CISRate" : { "type" : "number", "description" : "CIS Deduction rate for the organisation", "format" : "double", "readOnly" : true, "x-is-money" : true }, "SubTotal" : { "type" : "number", "description" : "Total of invoice excluding taxes", "format" : "double", "readOnly" : true, "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "Total tax on invoice", "format" : "double", "readOnly" : true, "x-is-money" : true }, "Total" : { "type" : "number", "description" : "Total of Invoice tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts", "format" : "double", "readOnly" : true, "x-is-money" : true }, "TotalDiscount" : { "type" : "number", "description" : "Total of discounts applied on the invoice line items", "format" : "double", "readOnly" : true, "x-is-money" : true }, "InvoiceID" : { "type" : "string", "description" : "Xero generated unique identifier for invoice", "format" : "uuid" }, "RepeatingInvoiceID" : { "type" : "string", "description" : "Xero generated unique identifier for repeating invoices", "format" : "uuid" }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if an invoice has an attachment", "readOnly" : true, "example" : false, "default" : false }, "IsDiscounted" : { "type" : "boolean", "description" : "boolean to indicate if an invoice has a discount", "readOnly" : true }, "Payments" : { "type" : "array", "description" : "See Payments", "readOnly" : true, "items" : { "$ref" : "#/components/schemas/Payment" } }, "Prepayments" : { "type" : "array", "description" : "See Prepayments", "readOnly" : true, "items" : { "$ref" : "#/components/schemas/Prepayment" } }, "Overpayments" : { "type" : "array", "description" : "See Overpayments", "readOnly" : true, "items" : { "$ref" : "#/components/schemas/Overpayment" } }, "AmountDue" : { "type" : "number", "description" : "Amount remaining to be paid on invoice", "format" : "double", "readOnly" : true, "x-is-money" : true }, "AmountPaid" : { "type" : "number", "description" : "Sum of payments received for invoice", "format" : "double", "readOnly" : true, "x-is-money" : true }, "FullyPaidOnDate" : { "type" : "string", "description" : "The date the invoice was fully paid. Only returned on fully paid invoices", "readOnly" : true, "x-is-msdate" : true }, "AmountCredited" : { "type" : "number", "description" : "Sum of all credit notes, over-payments and pre-payments applied to invoice", "format" : "double", "readOnly" : true, "x-is-money" : true }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "CreditNotes" : { "type" : "array", "description" : "Details of credit notes that have been applied to an invoice", "readOnly" : true, "items" : { "$ref" : "#/components/schemas/CreditNote" } }, "Attachments" : { "type" : "array", "description" : "Displays array of attachments from the API", "items" : { "$ref" : "#/components/schemas/Attachment" } }, "HasErrors" : { "type" : "boolean", "description" : "A boolean to indicate if a invoice has an validation errors", "example" : false, "default" : false }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "Warnings" : { "type" : "array", "description" : "Displays array of warning messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/invoices/" } }; defs["InvoiceReminder"] = { "title" : "", "type" : "object", "properties" : { "Enabled" : { "type" : "boolean", "description" : "setting for on or off" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/invoice-reminders/" } }; defs["InvoiceReminders"] = { "title" : "", "type" : "object", "properties" : { "InvoiceReminders" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/InvoiceReminder" } } }, "description" : "", "x-isObjectArray" : true }; defs["Invoices"] = { "title" : "", "type" : "object", "properties" : { "Invoices" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Invoice" } } }, "description" : "", "x-isObjectArray" : true }; defs["Item"] = { "title" : "", "required" : [ "Code" ], "type" : "object", "properties" : { "Code" : { "maxLength" : 30, "type" : "string", "description" : "User defined item code (max length = 30)" }, "InventoryAssetAccountCode" : { "type" : "string", "description" : "The inventory asset account for the item. The account must be of type INVENTORY. The COGSAccountCode in PurchaseDetails is also required to create a tracked item" }, "Name" : { "maxLength" : 50, "type" : "string", "description" : "The name of the item (max length = 50)" }, "IsSold" : { "type" : "boolean", "description" : "Boolean value, defaults to true. When IsSold is true the item will be available on sales transactions in the Xero UI. If IsSold is updated to false then Description and SalesDetails values will be nulled." }, "IsPurchased" : { "type" : "boolean", "description" : "Boolean value, defaults to true. When IsPurchased is true the item is available for purchase transactions in the Xero UI. If IsPurchased is updated to false then PurchaseDescription and PurchaseDetails values will be nulled." }, "Description" : { "maxLength" : 4000, "type" : "string", "description" : "The sales description of the item (max length = 4000)" }, "PurchaseDescription" : { "maxLength" : 4000, "type" : "string", "description" : "The purchase description of the item (max length = 4000)" }, "PurchaseDetails" : { "$ref" : "#/components/schemas/Purchase" }, "SalesDetails" : { "$ref" : "#/components/schemas/Purchase" }, "IsTrackedAsInventory" : { "type" : "boolean", "description" : "True for items that are tracked as inventory. An item will be tracked as inventory if the InventoryAssetAccountCode and COGSAccountCode are set." }, "TotalCostPool" : { "type" : "number", "description" : "The value of the item on hand. Calculated using average cost accounting.", "format" : "double", "x-is-money" : true }, "QuantityOnHand" : { "type" : "number", "description" : "The quantity of the item on hand", "format" : "double", "x-is-money" : true }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date in UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "ItemID" : { "type" : "string", "description" : "The Xero identifier for an Item", "format" : "uuid" }, "StatusAttributeString" : { "type" : "string", "description" : "Status of object" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/items/" } }; defs["Items"] = { "title" : "", "type" : "object", "properties" : { "Items" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Item" } } }, "description" : "", "x-isObjectArray" : true }; defs["Journal"] = { "title" : "", "type" : "object", "properties" : { "JournalID" : { "type" : "string", "description" : "Xero identifier", "format" : "uuid" }, "JournalDate" : { "type" : "string", "description" : "Date the journal was posted", "x-is-msdate" : true }, "JournalNumber" : { "type" : "integer", "description" : "Xero generated journal number" }, "CreatedDateUTC" : { "type" : "string", "description" : "Created date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "Reference" : { "type" : "string", "description" : "reference field for additional indetifying information" }, "SourceID" : { "type" : "string", "description" : "The identifier for the source transaction (e.g. InvoiceID)", "format" : "uuid" }, "SourceType" : { "type" : "string", "description" : "The journal source type. The type of transaction that created the journal", "enum" : [ "ACCREC", "ACCPAY", "ACCRECCREDIT", "ACCPAYCREDIT", "ACCRECPAYMENT", "ACCPAYPAYMENT", "ARCREDITPAYMENT", "APCREDITPAYMENT", "CASHREC", "CASHPAID", "TRANSFER", "ARPREPAYMENT", "APPREPAYMENT", "AROVERPAYMENT", "APOVERPAYMENT", "EXPCLAIM", "EXPPAYMENT", "MANJOURNAL", "PAYSLIP", "WAGEPAYABLE", "INTEGRATEDPAYROLLPE", "INTEGRATEDPAYROLLPT", "EXTERNALSPENDMONEY", "INTEGRATEDPAYROLLPTPAYMENT", "INTEGRATEDPAYROLLCN" ] }, "JournalLines" : { "type" : "array", "description" : "See JournalLines", "items" : { "$ref" : "#/components/schemas/JournalLine" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/journals/" } }; defs["JournalLine"] = { "title" : "", "type" : "object", "properties" : { "JournalLineID" : { "type" : "string", "description" : "Xero identifier for Journal", "format" : "uuid", "example" : "7be9db36-3598-4755-ba5c-c2dbc8c4a7a2" }, "AccountID" : { "type" : "string", "description" : "See Accounts", "format" : "uuid", "example" : "ceef66a5-a545-413b-9312-78a53caadbc4" }, "AccountCode" : { "type" : "string", "description" : "See Accounts", "example" : "90.0" }, "AccountType" : { "$ref" : "#/components/schemas/AccountType" }, "AccountName" : { "type" : "string", "description" : "See AccountCodes", "example" : "Checking Account" }, "Description" : { "type" : "string", "description" : "The description from the source transaction line item. Only returned if populated.", "example" : "My business checking account" }, "NetAmount" : { "type" : "number", "description" : "Net amount of journal line. This will be a positive value for a debit and negative for a credit", "format" : "double", "example" : 4130.98, "x-is-money" : true }, "GrossAmount" : { "type" : "number", "description" : "Gross amount of journal line (NetAmount + TaxAmount).", "format" : "double", "example" : 4130.98, "x-is-money" : true }, "TaxAmount" : { "type" : "number", "description" : "Total tax on a journal line", "format" : "double", "readOnly" : true, "example" : 0.0, "x-is-money" : true }, "TaxType" : { "type" : "string", "description" : "The tax type from TaxRates" }, "TaxName" : { "type" : "string", "description" : "see TaxRates", "example" : "Tax Exempt" }, "TrackingCategories" : { "type" : "array", "description" : "Optional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 <TrackingCategory> elements.", "items" : { "$ref" : "#/components/schemas/TrackingCategory" } } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/journals#JournalLines" } }; defs["Journals"] = { "title" : "", "type" : "object", "properties" : { "Journals" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Journal" } } }, "description" : "", "x-isObjectArray" : true }; defs["LineAmountTypes"] = { "title" : "", "type" : "string", "description" : "Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types", "enum" : [ "Exclusive", "Inclusive", "NoTax" ] }; defs["LineItem"] = { "title" : "", "type" : "object", "properties" : { "LineItemID" : { "type" : "string", "description" : "LineItem unique ID", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "Description" : { "type" : "string", "description" : "Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a <Description> element that contains at least 1 character" }, "Quantity" : { "type" : "number", "description" : "LineItem Quantity", "format" : "double", "x-is-money" : true }, "UnitAmount" : { "type" : "number", "description" : "LineItem Unit Amount", "format" : "double", "x-is-money" : true }, "ItemCode" : { "type" : "string", "description" : "See Items" }, "AccountCode" : { "type" : "string", "description" : "See Accounts" }, "AccountID" : { "type" : "string", "description" : "The associated account ID related to this line item", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "TaxType" : { "type" : "string", "description" : "The tax type from TaxRates" }, "TaxAmount" : { "type" : "number", "description" : "The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated <TaxAmount> is not correct.", "format" : "double", "x-is-money" : true }, "LineAmount" : { "type" : "number", "description" : "If you wish to omit either of the <Quantity> or <UnitAmount> you can provide a LineAmount and Xero will calculate the missing amount for you. The line amount reflects the discounted price if a DiscountRate has been used . i.e LineAmount = Quantity * Unit Amount * ((100 – DiscountRate)/100)", "format" : "double", "x-is-money" : true }, "Tracking" : { "type" : "array", "description" : "Optional Tracking Category – see Tracking. Any LineItem can have a maximum of 2 <TrackingCategory> elements.", "items" : { "$ref" : "#/components/schemas/LineItemTracking" } }, "DiscountRate" : { "type" : "number", "description" : "Percentage discount being applied to a line item (only supported on ACCREC invoices – ACC PAY invoices and credit notes in Xero do not support discounts", "format" : "double", "x-is-money" : true }, "DiscountAmount" : { "type" : "number", "description" : "Discount amount being applied to a line item. Only supported on ACCREC invoices - ACCPAY invoices and credit notes in Xero do not support discounts.", "format" : "double", "x-is-money" : true }, "RepeatingInvoiceID" : { "type" : "string", "description" : "The Xero identifier for a Repeating Invoice", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/invoices#post" } }; defs["LineItemTracking"] = { "title" : "", "type" : "object", "properties" : { "TrackingCategoryID" : { "type" : "string", "description" : "The Xero identifier for a tracking category", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "TrackingOptionID" : { "type" : "string", "description" : "The Xero identifier for a tracking category option", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "Name" : { "maxLength" : 100, "type" : "string", "description" : "The name of the tracking category", "example" : "Region" }, "Option" : { "type" : "string", "description" : "See Tracking Options", "example" : "North" } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/invoices#post" } }; defs["LinkedTransaction"] = { "title" : "", "type" : "object", "properties" : { "SourceTransactionID" : { "type" : "string", "description" : "Filter by the SourceTransactionID. Get all the linked transactions created from a particular ACCPAY invoice", "format" : "uuid" }, "SourceLineItemID" : { "type" : "string", "description" : "The line item identifier from the source transaction.", "format" : "uuid" }, "ContactID" : { "type" : "string", "description" : "Filter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.", "format" : "uuid" }, "TargetTransactionID" : { "type" : "string", "description" : "Filter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice", "format" : "uuid" }, "TargetLineItemID" : { "type" : "string", "description" : "The line item identifier from the target transaction. It is possible to link multiple billable expenses to the same TargetLineItemID.", "format" : "uuid" }, "LinkedTransactionID" : { "type" : "string", "description" : "The Xero identifier for an Linked Transaction e.g./LinkedTransactions/297c2dc5-cc47-4afd-8ec8-74990b8761e9", "format" : "uuid" }, "Status" : { "type" : "string", "description" : "Filter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.", "enum" : [ "APPROVED", "DRAFT", "ONDRAFT", "BILLED", "VOIDED" ] }, "Type" : { "type" : "string", "description" : "This will always be BILLABLEEXPENSE. More types may be added in future.", "enum" : [ "BILLABLEEXPENSE" ] }, "UpdatedDateUTC" : { "type" : "string", "description" : "The last modified date in UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "SourceTransactionTypeCode" : { "type" : "string", "description" : "The Type of the source tranasction. This will be ACCPAY if the linked transaction was created from an invoice and SPEND if it was created from a bank transaction.", "enum" : [ "ACCPAY", "SPEND" ] }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/linked-transactions/" } }; defs["LinkedTransactions"] = { "title" : "", "type" : "object", "properties" : { "LinkedTransactions" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/LinkedTransaction" } } }, "description" : "", "x-isObjectArray" : true }; defs["ManualJournal"] = { "title" : "", "required" : [ "Narration" ], "type" : "object", "properties" : { "Narration" : { "type" : "string", "description" : "Description of journal being posted" }, "JournalLines" : { "type" : "array", "description" : "See JournalLines", "items" : { "$ref" : "#/components/schemas/ManualJournalLine" } }, "Date" : { "type" : "string", "description" : "Date journal was posted – YYYY-MM-DD", "x-is-msdate" : true }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "Status" : { "type" : "string", "description" : "See Manual Journal Status Codes", "enum" : [ "DRAFT", "POSTED", "DELETED", "VOIDED", "ARCHIVED" ] }, "Url" : { "type" : "string", "description" : "Url link to a source document – shown as “Go to [appName]” in the Xero app" }, "ShowOnCashBasisReports" : { "type" : "boolean", "description" : "Boolean – default is true if not specified" }, "HasAttachments" : { "type" : "boolean", "description" : "Boolean to indicate if a manual journal has an attachment", "readOnly" : true, "example" : false, "default" : false }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "ManualJournalID" : { "type" : "string", "description" : "The Xero identifier for a Manual Journal", "format" : "uuid" }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status", "example" : "ERROR" }, "Warnings" : { "type" : "array", "description" : "Displays array of warning messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "Attachments" : { "type" : "array", "description" : "Displays array of attachments from the API", "items" : { "$ref" : "#/components/schemas/Attachment" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/manual-journals/" } }; defs["ManualJournalLine"] = { "title" : "", "type" : "object", "properties" : { "LineAmount" : { "type" : "number", "description" : "total for line. Debits are positive, credits are negative value", "format" : "double", "example" : -2569.0, "x-is-money" : true }, "AccountCode" : { "type" : "string", "description" : "See Accounts", "example" : "720" }, "AccountID" : { "type" : "string", "description" : "See Accounts", "format" : "uuid" }, "Description" : { "type" : "string", "description" : "Description for journal line", "example" : "Coded incorrectly Office Equipment should be Computer Equipment" }, "TaxType" : { "type" : "string", "description" : "The tax type from TaxRates" }, "Tracking" : { "type" : "array", "description" : "Optional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 <TrackingCategory> elements.", "items" : { "$ref" : "#/components/schemas/TrackingCategory" } }, "TaxAmount" : { "type" : "number", "description" : "The calculated tax amount based on the TaxType and LineAmount", "format" : "double", "example" : 0.0, "x-is-money" : true }, "IsBlank" : { "type" : "boolean", "description" : "is the line blank", "example" : false } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/manual-journals/" } }; defs["ManualJournals"] = { "title" : "", "type" : "object", "properties" : { "ManualJournals" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ManualJournal" } } }, "description" : "", "x-isObjectArray" : true }; defs["OnlineInvoice"] = { "title" : "", "type" : "object", "properties" : { "OnlineInvoiceUrl" : { "type" : "string", "description" : "the URL to an online invoice" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/invoices/" } }; defs["OnlineInvoices"] = { "title" : "", "type" : "object", "properties" : { "OnlineInvoices" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/OnlineInvoice" } } }, "description" : "", "x-isObjectArray" : true }; defs["Organisation"] = { "title" : "", "type" : "object", "properties" : { "OrganisationID" : { "type" : "string", "description" : "Unique Xero identifier", "format" : "uuid", "example" : "8be9db36-3598-4755-ba5c-c2dbc8c4a7a2" }, "APIKey" : { "type" : "string", "description" : "Display a unique key used for Xero-to-Xero transactions" }, "Name" : { "type" : "string", "description" : "Display name of organisation shown in Xero" }, "LegalName" : { "type" : "string", "description" : "Organisation name shown on Reports" }, "PaysTax" : { "type" : "boolean", "description" : "Boolean to describe if organisation is registered with a local tax authority i.e. true, false" }, "Version" : { "type" : "string", "description" : "See Version Types", "enum" : [ "AU", "NZ", "GLOBAL", "UK", "US", "AUONRAMP", "NZONRAMP", "GLOBALONRAMP", "UKONRAMP", "USONRAMP" ] }, "OrganisationType" : { "type" : "string", "description" : "Organisation Type", "enum" : [ "ACCOUNTING_PRACTICE", "COMPANY", "CHARITY", "CLUB_OR_SOCIETY", "LOOK_THROUGH_COMPANY", "NOT_FOR_PROFIT", "PARTNERSHIP", "S_CORPORATION", "SELF_MANAGED_SUPERANNUATION_FUND", "SOLE_TRADER", "SUPERANNUATION_FUND", "TRUST" ] }, "BaseCurrency" : { "$ref" : "#/components/schemas/CurrencyCode" }, "CountryCode" : { "$ref" : "#/components/schemas/CountryCode" }, "IsDemoCompany" : { "type" : "boolean", "description" : "Boolean to describe if organisation is a demo company." }, "OrganisationStatus" : { "type" : "string", "description" : "Will be set to ACTIVE if you can connect to organisation via the Xero API" }, "RegistrationNumber" : { "type" : "string", "description" : "Shows for New Zealand, Australian and UK organisations" }, "EmployerIdentificationNumber" : { "type" : "string", "description" : "Shown if set. US Only." }, "TaxNumber" : { "type" : "string", "description" : "Shown if set. Displays in the Xero UI as Tax File Number (AU), GST Number (NZ), VAT Number (UK) and Tax ID Number (US & Global)." }, "FinancialYearEndDay" : { "type" : "integer", "description" : "Calendar day e.g. 0-31" }, "FinancialYearEndMonth" : { "type" : "integer", "description" : "Calendar Month e.g. 1-12" }, "SalesTaxBasis" : { "type" : "string", "description" : "The accounting basis used for tax returns. See Sales Tax Basis", "enum" : [ "PAYMENTS", "INVOICE", "NONE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS" ] }, "SalesTaxPeriod" : { "type" : "string", "description" : "The frequency with which tax returns are processed. See Sales Tax Period", "enum" : [ "MONTHLY", "QUARTERLY1", "QUARTERLY2", "QUARTERLY3", "ANNUALLY", "ONEMONTHS", "TWOMONTHS", "SIXMONTHS", "1MONTHLY", "2MONTHLY", "3MONTHLY", "6MONTHLY", "QUARTERLY", "YEARLY", "NONE" ] }, "DefaultSalesTax" : { "type" : "string", "description" : "The default for LineAmountTypes on sales transactions" }, "DefaultPurchasesTax" : { "type" : "string", "description" : "The default for LineAmountTypes on purchase transactions" }, "PeriodLockDate" : { "type" : "string", "description" : "Shown if set. See lock dates", "x-is-msdate" : true }, "EndOfYearLockDate" : { "type" : "string", "description" : "Shown if set. See lock dates", "x-is-msdate" : true }, "CreatedDateUTC" : { "type" : "string", "description" : "Timestamp when the organisation was created in Xero", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "Timezone" : { "$ref" : "#/components/schemas/TimeZone" }, "OrganisationEntityType" : { "type" : "string", "description" : "Organisation Entity Type", "enum" : [ "ACCOUNTING_PRACTICE", "COMPANY", "CHARITY", "CLUB_OR_SOCIETY", "LOOK_THROUGH_COMPANY", "NOT_FOR_PROFIT", "PARTNERSHIP", "S_CORPORATION", "SELF_MANAGED_SUPERANNUATION_FUND", "SOLE_TRADER", "SUPERANNUATION_FUND", "TRUST" ] }, "ShortCode" : { "type" : "string", "description" : "A unique identifier for the organisation. Potential uses." }, "Class" : { "type" : "string", "description" : "Organisation Classes describe which plan the Xero organisation is on (e.g. DEMO, TRIAL, PREMIUM)", "enum" : [ "DEMO", "TRIAL", "STARTER", "STANDARD", "PREMIUM", "PREMIUM_20", "PREMIUM_50", "PREMIUM_100", "LEDGER", "GST_CASHBOOK", "NON_GST_CASHBOOK" ] }, "Edition" : { "type" : "string", "description" : "BUSINESS or PARTNER. Partner edition organisations are sold exclusively through accounting partners and have restricted functionality (e.g. no access to invoicing)", "enum" : [ "BUSINESS", "PARTNER" ] }, "LineOfBusiness" : { "type" : "string", "description" : "Description of business type as defined in Organisation settings" }, "Addresses" : { "type" : "array", "description" : "Address details for organisation – see Addresses", "items" : { "$ref" : "#/components/schemas/AddressForOrganisation" } }, "Phones" : { "type" : "array", "description" : "Phones details for organisation – see Phones", "items" : { "$ref" : "#/components/schemas/Phone" } }, "ExternalLinks" : { "type" : "array", "description" : "Organisation profile links for popular services such as Facebook,Twitter, GooglePlus and LinkedIn. You can also add link to your website here. Shown if Organisation settings is updated in Xero. See ExternalLinks below", "items" : { "$ref" : "#/components/schemas/ExternalLink" } }, "PaymentTerms" : { "$ref" : "#/components/schemas/PaymentTerm" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/organisation/" } }; defs["Organisations"] = { "title" : "", "type" : "object", "properties" : { "Organisations" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Organisation" } } }, "description" : "", "x-isObjectArray" : true }; defs["Overpayment"] = { "title" : "", "type" : "object", "properties" : { "Type" : { "type" : "string", "description" : "See Overpayment Types", "enum" : [ "RECEIVE-OVERPAYMENT", "SPEND-OVERPAYMENT", "AROVERPAYMENT" ] }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "Date" : { "type" : "string", "description" : "The date the overpayment is created YYYY-MM-DD", "x-is-msdate" : true }, "Status" : { "type" : "string", "description" : "See Overpayment Status Codes", "enum" : [ "AUTHORISED", "PAID", "VOIDED" ] }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "LineItems" : { "type" : "array", "description" : "See Overpayment Line Items", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "SubTotal" : { "type" : "number", "description" : "The subtotal of the overpayment excluding taxes", "format" : "double", "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "The total tax on the overpayment", "format" : "double", "x-is-money" : true }, "Total" : { "type" : "number", "description" : "The total of the overpayment (subtotal + total tax)", "format" : "double", "x-is-money" : true }, "UpdatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of last update to the overpayment", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "OverpaymentID" : { "type" : "string", "description" : "Xero generated unique identifier", "format" : "uuid" }, "CurrencyRate" : { "type" : "number", "description" : "The currency rate for a multicurrency overpayment. If no rate is specified, the XE.com day rate is used", "format" : "double", "x-is-money" : true }, "RemainingCredit" : { "type" : "number", "description" : "The remaining credit balance on the overpayment", "format" : "double", "x-is-money" : true }, "Allocations" : { "type" : "array", "description" : "See Allocations", "items" : { "$ref" : "#/components/schemas/Allocation" } }, "AppliedAmount" : { "type" : "number", "description" : "The amount of applied to an invoice", "format" : "double", "example" : 2.0 }, "Payments" : { "type" : "array", "description" : "See Payments", "items" : { "$ref" : "#/components/schemas/Payment" } }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if a overpayment has an attachment", "readOnly" : true, "example" : false, "default" : false }, "Attachments" : { "type" : "array", "description" : "See Attachments", "items" : { "$ref" : "#/components/schemas/Attachment" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/overpayments/" } }; defs["Overpayments"] = { "title" : "", "type" : "object", "properties" : { "Overpayments" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Overpayment" } } }, "description" : "", "x-isObjectArray" : true }; defs["Payment"] = { "title" : "", "type" : "object", "properties" : { "Invoice" : { "$ref" : "#/components/schemas/Invoice" }, "CreditNote" : { "$ref" : "#/components/schemas/CreditNote" }, "Prepayment" : { "$ref" : "#/components/schemas/Prepayment" }, "Overpayment" : { "$ref" : "#/components/schemas/Overpayment" }, "InvoiceNumber" : { "type" : "string", "description" : "Number of invoice or credit note you are applying payment to e.g.INV-4003" }, "CreditNoteNumber" : { "type" : "string", "description" : "Number of invoice or credit note you are applying payment to e.g. INV-4003" }, "Account" : { "$ref" : "#/components/schemas/Account" }, "Code" : { "type" : "string", "description" : "Code of account you are using to make the payment e.g. 001 (note- not all accounts have a code value)" }, "Date" : { "type" : "string", "description" : "Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06", "x-is-msdate" : true }, "CurrencyRate" : { "type" : "number", "description" : "Exchange rate when payment is received. Only used for non base currency invoices and credit notes e.g. 0.7500", "format" : "double", "x-is-money" : true }, "Amount" : { "type" : "number", "description" : "The amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00", "format" : "double", "x-is-money" : true }, "Reference" : { "type" : "string", "description" : "An optional description for the payment e.g. Direct Debit" }, "IsReconciled" : { "type" : "boolean", "description" : "An optional parameter for the payment. A boolean indicating whether you would like the payment to be created as reconciled when using PUT, or whether a payment has been reconciled when using GET" }, "Status" : { "type" : "string", "description" : "The status of the payment.", "enum" : [ "AUTHORISED", "DELETED" ] }, "PaymentType" : { "type" : "string", "description" : "See Payment Types.", "readOnly" : true, "enum" : [ "ACCRECPAYMENT", "ACCPAYPAYMENT", "ARCREDITPAYMENT", "APCREDITPAYMENT", "AROVERPAYMENTPAYMENT", "ARPREPAYMENTPAYMENT", "APPREPAYMENTPAYMENT", "APOVERPAYMENTPAYMENT" ] }, "UpdatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of last update to the payment", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "PaymentID" : { "type" : "string", "description" : "The Xero identifier for an Payment e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "BatchPaymentID" : { "type" : "string", "description" : "Present if the payment was created as part of a batch.", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" }, "BankAccountNumber" : { "type" : "string", "description" : "The suppliers bank account number the payment is being made to" }, "Particulars" : { "type" : "string", "description" : "The suppliers bank account number the payment is being made to" }, "Details" : { "type" : "string", "description" : "The information to appear on the supplier's bank account" }, "HasAccount" : { "type" : "boolean", "description" : "A boolean to indicate if a contact has an validation errors", "example" : false, "default" : false }, "HasValidationErrors" : { "type" : "boolean", "description" : "A boolean to indicate if a contact has an validation errors", "example" : false, "default" : false }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/payments/" } }; defs["PaymentDelete"] = { "title" : "", "required" : [ "Status" ], "type" : "object", "properties" : { "Status" : { "type" : "string", "description" : "The status of the payment.", "default" : "DELETED" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/payments/" } }; defs["PaymentService"] = { "title" : "", "properties" : { "PaymentServiceID" : { "type" : "string", "description" : "Xero identifier", "format" : "uuid" }, "PaymentServiceName" : { "type" : "string", "description" : "Name of payment service" }, "PaymentServiceUrl" : { "type" : "string", "description" : "The custom payment URL" }, "PayNowText" : { "type" : "string", "description" : "The text displayed on the Pay Now button in Xero Online Invoicing. If this is not set it will default to Pay by credit card" }, "PaymentServiceType" : { "type" : "string", "description" : "This will always be CUSTOM for payment services created via the API." }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/branding-themes/" } }; defs["PaymentServices"] = { "title" : "", "type" : "object", "properties" : { "PaymentServices" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/PaymentService" } } }, "description" : "", "x-isObjectArray" : true }; defs["PaymentTerm"] = { "title" : "", "type" : "object", "properties" : { "Bills" : { "$ref" : "#/components/schemas/Bill" }, "Sales" : { "$ref" : "#/components/schemas/Bill" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/organisation/" } }; defs["PaymentTermType"] = { "title" : "", "type" : "string", "description" : "", "enum" : [ "DAYSAFTERBILLDATE", "DAYSAFTERBILLMONTH", "OFCURRENTMONTH", "OFFOLLOWINGMONTH" ] }; defs["Payments"] = { "title" : "", "type" : "object", "properties" : { "Payments" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Payment" } } }, "description" : "", "x-isObjectArray" : true }; defs["Phone"] = { "title" : "", "type" : "object", "properties" : { "PhoneType" : { "type" : "string", "enum" : [ "DEFAULT", "DDI", "MOBILE", "FAX", "OFFICE" ] }, "PhoneNumber" : { "maxLength" : 50, "type" : "string", "description" : "max length = 50" }, "PhoneAreaCode" : { "maxLength" : 10, "type" : "string", "description" : "max length = 10" }, "PhoneCountryCode" : { "maxLength" : 20, "type" : "string", "description" : "max length = 20" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/types" } }; defs["Prepayment"] = { "title" : "", "type" : "object", "properties" : { "Type" : { "type" : "string", "description" : "See Prepayment Types", "enum" : [ "RECEIVE-PREPAYMENT", "SPEND-PREPAYMENT", "ARPREPAYMENT", "APPREPAYMENT" ] }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "Date" : { "type" : "string", "description" : "The date the prepayment is created YYYY-MM-DD", "x-is-msdate" : true }, "Status" : { "type" : "string", "description" : "See Prepayment Status Codes", "enum" : [ "AUTHORISED", "PAID", "VOIDED" ] }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "LineItems" : { "type" : "array", "description" : "See Prepayment Line Items", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "SubTotal" : { "type" : "number", "description" : "The subtotal of the prepayment excluding taxes", "format" : "double", "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "The total tax on the prepayment", "format" : "double", "x-is-money" : true }, "Total" : { "type" : "number", "description" : "The total of the prepayment(subtotal + total tax)", "format" : "double", "x-is-money" : true }, "Reference" : { "type" : "string", "description" : "Returns Invoice number field. Reference field isn't available.", "readOnly" : true }, "UpdatedDateUTC" : { "type" : "string", "description" : "UTC timestamp of last update to the prepayment", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "PrepaymentID" : { "type" : "string", "description" : "Xero generated unique identifier", "format" : "uuid" }, "CurrencyRate" : { "type" : "number", "description" : "The currency rate for a multicurrency prepayment. If no rate is specified, the XE.com day rate is used", "format" : "double", "x-is-money" : true }, "RemainingCredit" : { "type" : "number", "description" : "The remaining credit balance on the prepayment", "format" : "double", "x-is-money" : true }, "Allocations" : { "type" : "array", "description" : "See Allocations", "items" : { "$ref" : "#/components/schemas/Allocation" } }, "Payments" : { "type" : "array", "description" : "See Payments", "items" : { "$ref" : "#/components/schemas/Payment" } }, "AppliedAmount" : { "type" : "number", "description" : "The amount of applied to an invoice", "format" : "double", "example" : 2.0 }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if a prepayment has an attachment", "readOnly" : true, "example" : false, "default" : false }, "Attachments" : { "type" : "array", "description" : "See Attachments", "items" : { "$ref" : "#/components/schemas/Attachment" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/prepayments/" } }; defs["Prepayments"] = { "title" : "", "type" : "object", "properties" : { "Prepayments" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Prepayment" } } }, "description" : "", "x-isObjectArray" : true }; defs["Purchase"] = { "title" : "", "type" : "object", "properties" : { "UnitPrice" : { "type" : "number", "description" : "Unit Price of the item. By default UnitPrice is rounded to two decimal places. You can use 4 decimal places by adding the unitdp=4 querystring parameter to your request.", "format" : "double", "x-is-money" : true }, "AccountCode" : { "type" : "string", "description" : "Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items" }, "COGSAccountCode" : { "type" : "string", "description" : "Cost of goods sold account. Only applicable to the purchase details of tracked items." }, "TaxType" : { "type" : "string", "description" : "The tax type from TaxRates" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/items/" } }; defs["PurchaseOrder"] = { "title" : "", "type" : "object", "properties" : { "Contact" : { "$ref" : "#/components/schemas/Contact" }, "LineItems" : { "type" : "array", "description" : "See LineItems", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "Date" : { "type" : "string", "description" : "Date purchase order was issued – YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation", "x-is-msdate" : true }, "DeliveryDate" : { "type" : "string", "description" : "Date the goods are to be delivered – YYYY-MM-DD", "x-is-msdate" : true }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "PurchaseOrderNumber" : { "type" : "string", "description" : "Unique alpha numeric code identifying purchase order (when missing will auto-generate from your Organisation Invoice Settings)" }, "Reference" : { "type" : "string", "description" : "Additional reference number" }, "BrandingThemeID" : { "type" : "string", "description" : "See BrandingThemes", "format" : "uuid" }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "Status" : { "type" : "string", "description" : "See Purchase Order Status Codes", "enum" : [ "DRAFT", "SUBMITTED", "AUTHORISED", "BILLED", "DELETED" ] }, "SentToContact" : { "type" : "boolean", "description" : "Boolean to set whether the purchase order should be marked as “sent”. This can be set only on purchase orders that have been approved or billed" }, "DeliveryAddress" : { "type" : "string", "description" : "The address the goods are to be delivered to" }, "AttentionTo" : { "type" : "string", "description" : "The person that the delivery is going to" }, "Telephone" : { "type" : "string", "description" : "The phone number for the person accepting the delivery" }, "DeliveryInstructions" : { "type" : "string", "description" : "A free text feild for instructions (500 characters max)" }, "ExpectedArrivalDate" : { "type" : "string", "description" : "The date the goods are expected to arrive.", "x-is-msdate" : true }, "PurchaseOrderID" : { "type" : "string", "description" : "Xero generated unique identifier for purchase order", "format" : "uuid" }, "CurrencyRate" : { "type" : "number", "description" : "The currency rate for a multicurrency purchase order. If no rate is specified, the XE.com day rate is used.", "format" : "double", "x-is-money" : true }, "SubTotal" : { "type" : "number", "description" : "Total of purchase order excluding taxes", "format" : "double", "readOnly" : true, "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "Total tax on purchase order", "format" : "double", "readOnly" : true, "x-is-money" : true }, "Total" : { "type" : "number", "description" : "Total of Purchase Order tax inclusive (i.e. SubTotal + TotalTax)", "format" : "double", "readOnly" : true, "x-is-money" : true }, "TotalDiscount" : { "type" : "number", "description" : "Total of discounts applied on the purchase order line items", "format" : "double", "readOnly" : true, "x-is-money" : true }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if a purchase order has an attachment", "readOnly" : true, "example" : false, "default" : false }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "Warnings" : { "type" : "array", "description" : "Displays array of warning messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "Attachments" : { "type" : "array", "description" : "Displays array of attachments from the API", "items" : { "$ref" : "#/components/schemas/Attachment" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/purchase-orders/" } }; defs["PurchaseOrders"] = { "title" : "", "type" : "object", "properties" : { "PurchaseOrders" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/PurchaseOrder" } } }, "description" : "", "x-isObjectArray" : true }; defs["Quote"] = { "title" : "", "type" : "object", "properties" : { "QuoteID" : { "type" : "string", "description" : "QuoteID GUID is automatically generated and is returned after create or GET.", "format" : "uuid" }, "QuoteNumber" : { "maxLength" : 255, "type" : "string", "description" : "Unique alpha numeric code identifying a quote (Max Length = 255)" }, "Reference" : { "maxLength" : 4000, "type" : "string", "description" : "Additional reference number" }, "Terms" : { "maxLength" : 4000, "type" : "string", "description" : "Terms of the quote" }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "LineItems" : { "type" : "array", "description" : "See LineItems", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "Date" : { "type" : "string", "description" : "Date quote was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation", "x-is-msdate" : true }, "DateString" : { "type" : "string", "description" : "Date the quote was issued (YYYY-MM-DD)" }, "ExpiryDate" : { "type" : "string", "description" : "Date the quote expires – YYYY-MM-DD.", "x-is-msdate" : true }, "ExpiryDateString" : { "type" : "string", "description" : "Date the quote expires – YYYY-MM-DD." }, "Status" : { "$ref" : "#/components/schemas/QuoteStatusCodes" }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "CurrencyRate" : { "type" : "number", "description" : "The currency rate for a multicurrency quote", "format" : "double" }, "SubTotal" : { "type" : "number", "description" : "Total of quote excluding taxes.", "format" : "double", "readOnly" : true, "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "Total tax on quote", "format" : "double", "readOnly" : true, "x-is-money" : true }, "Total" : { "type" : "number", "description" : "Total of Quote tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts", "format" : "double", "readOnly" : true, "x-is-money" : true }, "TotalDiscount" : { "type" : "number", "description" : "Total of discounts applied on the quote line items", "format" : "double", "readOnly" : true, "x-is-money" : true }, "Title" : { "maxLength" : 100, "type" : "string", "description" : "Title text for the quote" }, "Summary" : { "maxLength" : 3000, "type" : "string", "description" : "Summary text for the quote" }, "BrandingThemeID" : { "type" : "string", "description" : "See BrandingThemes", "format" : "uuid" }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "LineAmountTypes" : { "$ref" : "#/components/schemas/QuoteLineAmountTypes" }, "StatusAttributeString" : { "type" : "string", "description" : "A string to indicate if a invoice status" }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/Quotes/" } }; defs["QuoteLineAmountTypes"] = { "title" : "", "type" : "string", "description" : "Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types", "enum" : [ "EXCLUSIVE", "INCLUSIVE", "NOTAX" ] }; defs["QuoteStatusCodes"] = { "title" : "", "type" : "string", "description" : "The status of the quote.", "enum" : [ "DRAFT", "SENT", "DECLINED", "ACCEPTED", "INVOICED", "DELETED" ] }; defs["Quotes"] = { "title" : "", "type" : "object", "properties" : { "Quotes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Quote" } } }, "description" : "", "x-isObjectArray" : true }; defs["Receipt"] = { "title" : "", "type" : "object", "properties" : { "Date" : { "type" : "string", "description" : "Date of receipt – YYYY-MM-DD", "x-is-msdate" : true }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "LineItems" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "User" : { "$ref" : "#/components/schemas/User" }, "Reference" : { "type" : "string", "description" : "Additional reference number" }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "SubTotal" : { "type" : "number", "description" : "Total of receipt excluding taxes", "format" : "double", "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "Total tax on receipt", "format" : "double", "x-is-money" : true }, "Total" : { "type" : "number", "description" : "Total of receipt tax inclusive (i.e. SubTotal + TotalTax)", "format" : "double", "x-is-money" : true }, "ReceiptID" : { "type" : "string", "description" : "Xero generated unique identifier for receipt", "format" : "uuid" }, "Status" : { "type" : "string", "description" : "Current status of receipt – see status types", "enum" : [ "DRAFT", "SUBMITTED", "AUTHORISED", "DECLINED", "VOIDED" ] }, "ReceiptNumber" : { "type" : "string", "description" : "Xero generated sequence number for receipt in current claim for a given user", "readOnly" : true }, "UpdatedDateUTC" : { "type" : "string", "description" : "Last modified date UTC format", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if a receipt has an attachment", "readOnly" : true, "example" : false, "default" : false }, "Url" : { "type" : "string", "description" : "URL link to a source document – shown as “Go to [appName]” in the Xero app", "readOnly" : true }, "ValidationErrors" : { "type" : "array", "description" : "Displays array of validation error messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "Warnings" : { "type" : "array", "description" : "Displays array of warning messages from the API", "items" : { "$ref" : "#/components/schemas/ValidationError" } }, "Attachments" : { "type" : "array", "description" : "Displays array of attachments from the API", "items" : { "$ref" : "#/components/schemas/Attachment" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/receipts/" } }; defs["Receipts"] = { "title" : "", "type" : "object", "properties" : { "Receipts" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Receipt" } } }, "description" : "", "x-isObjectArray" : true }; defs["RepeatingInvoice"] = { "title" : "", "type" : "object", "properties" : { "Type" : { "type" : "string", "description" : "See Invoice Types", "enum" : [ "ACCPAY", "ACCREC" ] }, "Contact" : { "$ref" : "#/components/schemas/Contact" }, "Schedule" : { "$ref" : "#/components/schemas/Schedule" }, "LineItems" : { "type" : "array", "description" : "See LineItems", "items" : { "$ref" : "#/components/schemas/LineItem" } }, "LineAmountTypes" : { "$ref" : "#/components/schemas/LineAmountTypes" }, "Reference" : { "type" : "string", "description" : "ACCREC only – additional reference number" }, "BrandingThemeID" : { "type" : "string", "description" : "See BrandingThemes", "format" : "uuid" }, "CurrencyCode" : { "$ref" : "#/components/schemas/CurrencyCode" }, "Status" : { "type" : "string", "description" : "One of the following - DRAFT or AUTHORISED – See Invoice Status Codes", "enum" : [ "DRAFT", "AUTHORISED", "DELETED" ] }, "SubTotal" : { "type" : "number", "description" : "Total of invoice excluding taxes", "format" : "double", "x-is-money" : true }, "TotalTax" : { "type" : "number", "description" : "Total tax on invoice", "format" : "double", "x-is-money" : true }, "Total" : { "type" : "number", "description" : "Total of Invoice tax inclusive (i.e. SubTotal + TotalTax)", "format" : "double", "x-is-money" : true }, "RepeatingInvoiceID" : { "type" : "string", "description" : "Xero generated unique identifier for repeating invoice template", "format" : "uuid" }, "ID" : { "type" : "string", "description" : "Xero generated unique identifier for repeating invoice template", "format" : "uuid" }, "HasAttachments" : { "type" : "boolean", "description" : "boolean to indicate if an invoice has an attachment", "readOnly" : true, "example" : false, "default" : false }, "Attachments" : { "type" : "array", "description" : "Displays array of attachments from the API", "items" : { "$ref" : "#/components/schemas/Attachment" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/repeating-invoices/" } }; defs["RepeatingInvoices"] = { "title" : "", "type" : "object", "properties" : { "RepeatingInvoices" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/RepeatingInvoice" } } }, "description" : "", "x-isObjectArray" : true }; defs["Report"] = { "title" : "", "properties" : { "ReportName" : { "type" : "string", "description" : "See Prepayment Types" }, "ReportType" : { "type" : "string", "description" : "See Prepayment Types", "enum" : [ "AgedPayablesByContact" ] }, "ReportTitle" : { "type" : "string", "description" : "See Prepayment Types" }, "ReportDate" : { "type" : "string", "description" : "Date of report" }, "UpdatedDateUTC" : { "type" : "string", "description" : "Updated Date", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "Contacts" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/TenNinetyNineContact" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/reports/" } }; defs["ReportAttribute"] = { "title" : "", "properties" : { "Id" : { "type" : "string" }, "Value" : { "type" : "string" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/reports/" } }; defs["ReportCell"] = { "title" : "", "type" : "object", "properties" : { "Value" : { "type" : "string" }, "Attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReportAttribute" } } }, "description" : "" }; defs["ReportFields"] = { "title" : "", "type" : "object", "properties" : { "FieldID" : { "type" : "string" }, "Description" : { "type" : "string" }, "Value" : { "type" : "string" } }, "description" : "" }; defs["ReportRow"] = { "title" : "", "type" : "object", "properties" : { "RowType" : { "$ref" : "#/components/schemas/RowType" }, "Title" : { "type" : "string" }, "Cells" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReportCell" } } }, "description" : "" }; defs["ReportRows"] = { "title" : "", "type" : "object", "properties" : { "RowType" : { "$ref" : "#/components/schemas/RowType" }, "Title" : { "type" : "string" }, "Cells" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReportCell" } }, "Rows" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReportRow" } } }, "description" : "" }; defs["ReportWithRow"] = { "title" : "", "properties" : { "ReportID" : { "type" : "string", "description" : "ID of the Report" }, "ReportName" : { "type" : "string", "description" : "Name of the report" }, "ReportTitle" : { "type" : "string", "description" : "Title of the report" }, "ReportType" : { "type" : "string", "description" : "The type of report (BalanceSheet,ProfitLoss, etc)" }, "ReportTitles" : { "type" : "array", "description" : "Report titles array (3 to 4 strings with the report name, orgnisation name and time frame of report)", "items" : { "type" : "string" } }, "ReportDate" : { "type" : "string", "description" : "Date of report" }, "Rows" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReportRows" } }, "UpdatedDateUTC" : { "type" : "string", "description" : "Updated Date", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "Fields" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReportFields" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/reports/" } }; defs["ReportWithRows"] = { "title" : "", "type" : "object", "properties" : { "Reports" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReportWithRow" } } }, "description" : "" }; defs["Reports"] = { "title" : "", "type" : "object", "properties" : { "Reports" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Report" } } }, "description" : "", "x-isObjectArray" : true }; defs["RequestEmpty"] = { "title" : "", "type" : "object", "properties" : { "Status" : { "type" : "string", "description" : "Need at least one field to create an empty JSON payload" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/invoice/" } }; defs["RowType"] = { "title" : "", "type" : "string", "description" : "", "enum" : [ "Header", "Section", "Row", "SummaryRow" ] }; defs["SalesTrackingCategory"] = { "title" : "", "type" : "object", "properties" : { "TrackingCategoryName" : { "type" : "string", "description" : "The default sales tracking category name for contacts" }, "TrackingOptionName" : { "type" : "string", "description" : "The default purchase tracking category name for contacts" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/tracking-categories/" } }; defs["Schedule"] = { "title" : "", "type" : "object", "properties" : { "Period" : { "type" : "integer", "description" : "Integer used with the unit e.g. 1 (every 1 week), 2 (every 2 months)" }, "Unit" : { "type" : "string", "description" : "One of the following - WEEKLY or MONTHLY", "enum" : [ "WEEKLY", "MONTHLY" ] }, "DueDate" : { "type" : "integer", "description" : "Integer used with due date type e.g 20 (of following month), 31 (of current month)" }, "DueDateType" : { "type" : "string", "description" : "the payment terms", "enum" : [ "DAYSAFTERBILLDATE", "DAYSAFTERBILLMONTH", "DAYSAFTERINVOICEDATE", "DAYSAFTERINVOICEMONTH", "OFCURRENTMONTH", "OFFOLLOWINGMONTH" ] }, "StartDate" : { "type" : "string", "description" : "Date the first invoice of the current version of the repeating schedule was generated (changes when repeating invoice is edited)", "x-is-msdate" : true }, "NextScheduledDate" : { "type" : "string", "description" : "The calendar date of the next invoice in the schedule to be generated", "x-is-msdate" : true }, "EndDate" : { "type" : "string", "description" : "Invoice end date – only returned if the template has an end date set", "x-is-msdate" : true } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/repeating-invoices/" } }; defs["Setup"] = { "title" : "", "properties" : { "ConversionDate" : { "$ref" : "#/components/schemas/ConversionDate" }, "ConversionBalances" : { "type" : "array", "description" : "Balance supplied for each account that has a value as at the conversion date.", "items" : { "$ref" : "#/components/schemas/ConversionBalances" } }, "Accounts" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Account" } } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api-guides/conversions" } }; defs["TaxComponent"] = { "title" : "", "type" : "object", "properties" : { "Name" : { "type" : "string", "description" : "Name of Tax Component" }, "Rate" : { "type" : "number", "description" : "Tax Rate (up to 4dp)", "format" : "double", "x-is-money" : true }, "IsCompound" : { "type" : "boolean", "description" : "Boolean to describe if Tax rate is compounded." }, "IsNonRecoverable" : { "type" : "boolean", "description" : "Boolean to describe if tax rate is non-recoverable. Non-recoverable rates are only applicable to Canadian organisations" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/tax-rates/" } }; defs["TaxRate"] = { "title" : "", "type" : "object", "properties" : { "Name" : { "type" : "string", "description" : "Name of tax rate" }, "TaxType" : { "type" : "string", "description" : "The tax type" }, "TaxComponents" : { "type" : "array", "description" : "See TaxComponents", "items" : { "$ref" : "#/components/schemas/TaxComponent" } }, "Status" : { "type" : "string", "description" : "See Status Codes", "enum" : [ "ACTIVE", "DELETED", "ARCHIVED", "PENDING" ] }, "ReportTaxType" : { "type" : "string", "description" : "See ReportTaxTypes", "enum" : [ "AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT" ] }, "CanApplyToAssets" : { "type" : "boolean", "description" : "Boolean to describe if tax rate can be used for asset accounts i.e. true,false", "readOnly" : true }, "CanApplyToEquity" : { "type" : "boolean", "description" : "Boolean to describe if tax rate can be used for equity accounts i.e true,false", "readOnly" : true }, "CanApplyToExpenses" : { "type" : "boolean", "description" : "Boolean to describe if tax rate can be used for expense accounts i.e. true,false", "readOnly" : true }, "CanApplyToLiabilities" : { "type" : "boolean", "description" : "Boolean to describe if tax rate can be used for liability accounts i.e. true,false", "readOnly" : true }, "CanApplyToRevenue" : { "type" : "boolean", "description" : "Boolean to describe if tax rate can be used for revenue accounts i.e. true,false", "readOnly" : true }, "DisplayTaxRate" : { "type" : "number", "description" : "Tax Rate (decimal to 4dp) e.g 12.5000", "format" : "double", "readOnly" : true, "x-is-money" : true }, "EffectiveRate" : { "type" : "number", "description" : "Effective Tax Rate (decimal to 4dp) e.g 12.5000", "format" : "double", "readOnly" : true, "x-is-money" : true } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/tax-rates/" } }; defs["TaxRates"] = { "title" : "", "type" : "object", "properties" : { "TaxRates" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/TaxRate" } } }, "description" : "", "x-isObjectArray" : true }; defs["TaxType"] = { "title" : "", "type" : "string", "description" : "See Tax Types – can only be used on update calls", "enum" : [ "OUTPUT", "INPUT", "CAPEXINPUT", "EXEMPTEXPORT", "EXEMPTEXPENSES", "EXEMPTCAPITAL", "EXEMPTOUTPUT", "INPUTTAXED", "BASEXCLUDED", "GSTONCAPIMPORTS", "GSTONIMPORTS", "NONE", "INPUT2", "ZERORATED", "OUTPUT2", "CAPEXINPUT2", "CAPEXOUTPUT", "CAPEXOUTPUT2", "CAPEXSRINPUT", "CAPEXSROUTPUT", "ECACQUISITIONS", "ECZRINPUT", "ECZROUTPUT", "ECZROUTPUTSERVICES", "EXEMPTINPUT", "REVERSECHARGES", "RRINPUT", "RROUTPUT", "SRINPUT", "SROUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "BLINPUT", "DSOUTPUT", "EPINPUT", "ES33OUTPUT", "ESN33OUTPUT", "IGDSINPUT2", "IMINPUT2", "MEINPUT", "NRINPUT", "OPINPUT", "OSOUTPUT", "TXESSINPUT", "TXN33INPUT", "TXPETINPUT", "TXREINPUT", "INPUT3", "INPUT4", "OUTPUT3", "OUTPUT4", "SROUTPUT2", "TXCA", "SRCAS", "BLINPUT2", "DRCHARGESUPPLY20", "DRCHARGE20", "DRCHARGESUPPLY5", "DRCHARGE5" ] }; defs["TenNinetyNineContact"] = { "title" : "", "properties" : { "Box1" : { "type" : "number", "description" : "Box 1 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box2" : { "type" : "number", "description" : "Box 2 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box3" : { "type" : "number", "description" : "Box 3 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box4" : { "type" : "number", "description" : "Box 4 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box5" : { "type" : "number", "description" : "Box 5 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box6" : { "type" : "number", "description" : "Box 6 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box7" : { "type" : "number", "description" : "Box 7 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box8" : { "type" : "number", "description" : "Box 8 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box9" : { "type" : "number", "description" : "Box 9 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box10" : { "type" : "number", "description" : "Box 10 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box11" : { "type" : "number", "description" : "Box 11 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box13" : { "type" : "number", "description" : "Box 13 on 1099 Form", "format" : "double", "x-is-money" : true }, "Box14" : { "type" : "number", "description" : "Box 14 on 1099 Form", "format" : "double", "x-is-money" : true }, "Name" : { "type" : "string", "description" : "Contact name on 1099 Form" }, "FederalTaxIDType" : { "type" : "string", "description" : "Contact Fed Tax ID type" }, "City" : { "type" : "string", "description" : "Contact city on 1099 Form" }, "Zip" : { "type" : "string", "description" : "Contact zip on 1099 Form" }, "State" : { "type" : "string", "description" : "Contact State on 1099 Form" }, "Email" : { "type" : "string", "description" : "Contact email on 1099 Form" }, "StreetAddress" : { "type" : "string", "description" : "Contact address on 1099 Form" }, "TaxID" : { "type" : "string", "description" : "Contact tax id on 1099 Form" }, "ContactId" : { "type" : "string", "description" : "Contact contact id", "format" : "uuid" } }, "description" : "" }; defs["TimeZone"] = { "title" : "", "type" : "string", "description" : "Timezone specifications", "enum" : [ "MOROCCOSTANDARDTIME", "UTC", "GMTSTANDARDTIME", "GREENWICHSTANDARDTIME", "WEUROPESTANDARDTIME", "CENTRALEUROPESTANDARDTIME", "ROMANCESTANDARDTIME", "CENTRALEUROPEANSTANDARDTIME", "WCENTRALAFRICASTANDARDTIME", "NAMIBIASTANDARDTIME", "JORDANSTANDARDTIME", "GTBSTANDARDTIME", "MIDDLEEASTSTANDARDTIME", "EGYPTSTANDARDTIME", "SYRIASTANDARDTIME", "EEUROPESTANDARDTIME", "SOUTHAFRICASTANDARDTIME", "FLESTANDARDTIME", "TURKEYSTANDARDTIME", "ISRAELSTANDARDTIME", "KALININGRADSTANDARDTIME", "LIBYASTANDARDTIME", "ARABICSTANDARDTIME", "ARABSTANDARDTIME", "BELARUSSTANDARDTIME", "RUSSIANSTANDARDTIME", "EAFRICASTANDARDTIME", "IRANSTANDARDTIME", "ARABIANSTANDARDTIME", "AZERBAIJANSTANDARDTIME", "RUSSIATIMEZONE3", "MAURITIUSSTANDARDTIME", "GEORGIANSTANDARDTIME", "CAUCASUSSTANDARDTIME", "AFGHANISTANSTANDARDTIME", "WESTASIASTANDARDTIME", "EKATERINBURGSTANDARDTIME", "PAKISTANSTANDARDTIME", "INDIASTANDARDTIME", "SRILANKASTANDARDTIME", "NEPALSTANDARDTIME", "CENTRALASIASTANDARDTIME", "BANGLADESHSTANDARDTIME", "NCENTRALASIASTANDARDTIME", "MYANMARSTANDARDTIME", "SEASIASTANDARDTIME", "NORTHASIASTANDARDTIME", "CHINASTANDARDTIME", "NORTHASIAEASTSTANDARDTIME", "SINGAPORESTANDARDTIME", "WAUSTRALIASTANDARDTIME", "TAIPEISTANDARDTIME", "ULAANBAATARSTANDARDTIME", "TOKYOSTANDARDTIME", "KOREASTANDARDTIME", "YAKUTSKSTANDARDTIME", "CENAUSTRALIASTANDARDTIME", "AUSCENTRALSTANDARDTIME", "EAUSTRALIASTANDARDTIME", "AUSEASTERNSTANDARDTIME", "WESTPACIFICSTANDARDTIME", "TASMANIASTANDARDTIME", "MAGADANSTANDARDTIME", "VLADIVOSTOKSTANDARDTIME", "RUSSIATIMEZONE10", "CENTRALPACIFICSTANDARDTIME", "RUSSIATIMEZONE11", "NEWZEALANDSTANDARDTIME", "UTC+12", "UTC+13", "FIJISTANDARDTIME", "KAMCHATKASTANDARDTIME", "TONGASTANDARDTIME", "SAMOASTANDARDTIME", "LINEISLANDSSTANDARDTIME", "AZORESSTANDARDTIME", "CAPEVERDESTANDARDTIME", "UTC02", "MIDATLANTICSTANDARDTIME", "ESOUTHAMERICASTANDARDTIME", "ARGENTINASTANDARDTIME", "SAEASTERNSTANDARDTIME", "GREENLANDSTANDARDTIME", "MONTEVIDEOSTANDARDTIME", "BAHIASTANDARDTIME", "NEWFOUNDLANDSTANDARDTIME", "PARAGUAYSTANDARDTIME", "ATLANTICSTANDARDTIME", "CENTRALBRAZILIANSTANDARDTIME", "SAWESTERNSTANDARDTIME", "PACIFICSASTANDARDTIME", "VENEZUELASTANDARDTIME", "SAPACIFICSTANDARDTIME", "EASTERNSTANDARDTIME", "USEASTERNSTANDARDTIME", "CENTRALAMERICASTANDARDTIME", "CENTRALSTANDARDTIME", "CENTRALSTANDARDTIME(MEXICO)", "CANADACENTRALSTANDARDTIME", "USMOUNTAINSTANDARDTIME", "MOUNTAINSTANDARDTIME(MEXICO)", "MOUNTAINSTANDARDTIME", "PACIFICSTANDARDTIME(MEXICO)", "PACIFICSTANDARDTIME", "ALASKANSTANDARDTIME", "HAWAIIANSTANDARDTIME", "UTC11", "DATELINESTANDARDTIME" ] }; defs["TrackingCategories"] = { "title" : "", "type" : "object", "properties" : { "TrackingCategories" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/TrackingCategory" } } }, "description" : "", "x-isObjectArray" : true }; defs["TrackingCategory"] = { "title" : "", "type" : "object", "properties" : { "TrackingCategoryID" : { "type" : "string", "description" : "The Xero identifier for a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9", "format" : "uuid" }, "TrackingOptionID" : { "type" : "string", "description" : "The Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f", "format" : "uuid" }, "Name" : { "maxLength" : 100, "type" : "string", "description" : "The name of the tracking category e.g. Department, Region (max length = 100)" }, "Option" : { "maxLength" : 100, "type" : "string", "description" : "The option name of the tracking option e.g. East, West (max length = 100)" }, "Status" : { "type" : "string", "description" : "The status of a tracking category", "enum" : [ "ACTIVE", "ARCHIVED", "DELETED" ] }, "Options" : { "type" : "array", "description" : "See Tracking Options", "items" : { "$ref" : "#/components/schemas/TrackingOption" } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/tracking-categories/" } }; defs["TrackingOption"] = { "title" : "", "type" : "object", "properties" : { "TrackingOptionID" : { "type" : "string", "description" : "The Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a", "format" : "uuid" }, "Name" : { "maxLength" : 100, "type" : "string", "description" : "The name of the tracking option e.g. Marketing, East (max length = 100)" }, "Status" : { "type" : "string", "description" : "The status of a tracking option", "enum" : [ "ACTIVE", "ARCHIVED", "DELETED" ] }, "TrackingCategoryID" : { "type" : "string", "description" : "Filter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9", "format" : "uuid" } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/tracking-categories/" } }; defs["TrackingOptions"] = { "title" : "", "type" : "object", "properties" : { "Options" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/TrackingOption" } } }, "description" : "", "x-isObjectArray" : true }; defs["User"] = { "title" : "", "type" : "object", "properties" : { "UserID" : { "type" : "string", "description" : "Xero identifier", "format" : "uuid" }, "EmailAddress" : { "type" : "string", "description" : "Email address of user" }, "FirstName" : { "type" : "string", "description" : "First name of user" }, "LastName" : { "type" : "string", "description" : "Last name of user" }, "UpdatedDateUTC" : { "type" : "string", "description" : "Timestamp of last change to user", "readOnly" : true, "example" : "/Date(1573755038314)/", "x-is-msdate-time" : true }, "IsSubscriber" : { "type" : "boolean", "description" : "Boolean to indicate if user is the subscriber" }, "OrganisationRole" : { "type" : "string", "description" : "User role that defines permissions in Xero and via API (READONLY, INVOICEONLY, STANDARD, FINANCIALADVISER, etc)", "enum" : [ "READONLY", "INVOICEONLY", "STANDARD", "FINANCIALADVISER", "MANAGEDCLIENT", "CASHBOOKCLIENT", "UNKNOWN" ] } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/users/" } }; defs["Users"] = { "title" : "", "type" : "object", "properties" : { "Users" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/User" } } }, "description" : "", "x-isObjectArray" : true }; defs["ValidationError"] = { "title" : "", "type" : "object", "properties" : { "Message" : { "type" : "string", "description" : "Validation error message" } }, "description" : "", "externalDocs" : { "url" : "https://developer.xero.com/documentation/api/http-response-codes" } }; var errs = {}; function routeDocs(event) { var selectedOption = event.options[event.selectedIndex]; location = selectedOption.dataset.url } </script> <div class='docs-header'> <div class='xero-logo'> <a target="_blank" href="https://developer.xero.com/documentation/"> <img alt="" width="115" height="30" class="xrh-app-image" src="https://developer.xero.com/static/images/developer-logo.svg"> </a> </div> <fieldset class='api-set'> <select name="form" id="language-set-selection" onchange="routeDocs(this);"> <option data-url="#">-SDK-</option> <option data-url="https://xeroapi.github.io/Xero-Java/v4/accounting/index.html" value="java">Java</option> <option data-url="https://xeroapi.github.io/xero-node/accounting/index.html" value="node">Node</option> <option data-url="https://xeroapi.github.io/Xero-NetStandard/accounting/index.html" value="dotnet">C#</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/accounting/index.html" value="php">PHP</option> <option data-url="https://xeroapi.github.io/xero-python/v1/accounting/index.html" value="python">Python</option> <option data-url="https://xeroapi.github.io/xero-ruby/accounting/index.html" value="ruby">Ruby</option> </select> </fieldset> <div class='language'> <img alt="xero-php icon" class="xrh-app-image language-logo" src="https://i.imgur.com/Adg8LOt.png"> <!-- *****REPLACE***** with a small png of your language --> </div> <fieldset class='api-set'> <select name="form" id="api-set-selection" onchange="routeDocs(this);"> <!-- *****REPLACE***** `xero-node` with the correct repo naming pattern + also add/delete api sets (ex. Ruby does not have Bankfeeds) --> <option data-url="#">-API-</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/accounting/index.html" value="Accounting">Accounting</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/assets/index.html" value="Asset">Assets</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/projects/index.html" value="Project">Projects</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/files/index.html" value="Files">Files</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/payroll_au/index.html" value="PayrollAu">Payroll AU</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/payroll_uk/index.html" value="PayrollUk">Payroll UK</option> <option data-url="https://xeroapi.github.io/xero-php-oauth2/docs/v2/payroll_nz/index.html" value="PayrollNz">Payroll NZ</option> </select> </fieldset> <div class='api-set-wrapper'> <script> $(document).ready(function() { const location = window.location.href.toLowerCase() let sdkLang let sdkName if( location.includes('ruby') ){ sdkLang = 'ruby' sdkName = 'xero-ruby' } else if (location.includes('node')){ sdkLang = 'node' sdkName = 'xero-node' } else if (location.includes('php')){ sdkLang = 'php' sdkName = 'xero-php-oauth2' } else if (location.includes('xero-netstandard') || location.includes('csharp')){ sdkLang = 'dotnet' sdkName = 'Xero-NetStandard' } else if (location.includes('java')){ sdkLang = 'java' sdkName = 'Xero-Java' } else if (location.includes('python')){ sdkLang = 'python' sdkName = 'xero-python' } $('#language-set-selection option[value="'+ sdkLang +'"]').attr("selected", "selected"); $('#sdk-name').html(sdkName); console.log('Accounting') $('#api-set-selection option[value="'+ 'Accounting' + '"]').attr("selected", "selected"); }); </script> </div> </div> <div class="container-fluid docs-start"> <div class="row-fluid"> <div id="sidenav" class="span2"> <nav id="scrollingNav"> <ul class="sidenav nav nav-list"> <li class="nav-header" data-group="Accounting"><strong>SDK: </strong><span id='sdk-name'></span></li> <li class="nav-header" data-group="Accounting"><strong>VSN: </strong>2.6.0</li> <li class="nav-header" data-group="Accounting"><a href="#api-Accounting">Methods</a></li> <li data-group="Accounting" data-name="createAccount" class=""> <a href="#api-Accounting-createAccount">createAccount</a> </li> <li data-group="Accounting" data-name="createAccountAttachmentByFileName" class=""> <a href="#api-Accounting-createAccountAttachmentByFileName">createAccountAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createBankTransactionAttachmentByFileName" class=""> <a href="#api-Accounting-createBankTransactionAttachmentByFileName">createBankTransactionAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createBankTransactionHistoryRecord" class=""> <a href="#api-Accounting-createBankTransactionHistoryRecord">createBankTransactionHistoryRecord</a> </li> <li data-group="Accounting" data-name="createBankTransactions" class=""> <a href="#api-Accounting-createBankTransactions">createBankTransactions</a> </li> <li data-group="Accounting" data-name="createBankTransfer" class=""> <a href="#api-Accounting-createBankTransfer">createBankTransfer</a> </li> <li data-group="Accounting" data-name="createBankTransferAttachmentByFileName" class=""> <a href="#api-Accounting-createBankTransferAttachmentByFileName">createBankTransferAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createBankTransferHistoryRecord" class=""> <a href="#api-Accounting-createBankTransferHistoryRecord">createBankTransferHistoryRecord</a> </li> <li data-group="Accounting" data-name="createBatchPayment" class=""> <a href="#api-Accounting-createBatchPayment">createBatchPayment</a> </li> <li data-group="Accounting" data-name="createBatchPaymentHistoryRecord" class=""> <a href="#api-Accounting-createBatchPaymentHistoryRecord">createBatchPaymentHistoryRecord</a> </li> <li data-group="Accounting" data-name="createBrandingThemePaymentServices" class=""> <a href="#api-Accounting-createBrandingThemePaymentServices">createBrandingThemePaymentServices</a> </li> <li data-group="Accounting" data-name="createContactAttachmentByFileName" class=""> <a href="#api-Accounting-createContactAttachmentByFileName">createContactAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createContactGroup" class=""> <a href="#api-Accounting-createContactGroup">createContactGroup</a> </li> <li data-group="Accounting" data-name="createContactGroupContacts" class=""> <a href="#api-Accounting-createContactGroupContacts">createContactGroupContacts</a> </li> <li data-group="Accounting" data-name="createContactHistory" class=""> <a href="#api-Accounting-createContactHistory">createContactHistory</a> </li> <li data-group="Accounting" data-name="createContacts" class=""> <a href="#api-Accounting-createContacts">createContacts</a> </li> <li data-group="Accounting" data-name="createCreditNoteAllocation" class=""> <a href="#api-Accounting-createCreditNoteAllocation">createCreditNoteAllocation</a> </li> <li data-group="Accounting" data-name="createCreditNoteAttachmentByFileName" class=""> <a href="#api-Accounting-createCreditNoteAttachmentByFileName">createCreditNoteAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createCreditNoteHistory" class=""> <a href="#api-Accounting-createCreditNoteHistory">createCreditNoteHistory</a> </li> <li data-group="Accounting" data-name="createCreditNotes" class=""> <a href="#api-Accounting-createCreditNotes">createCreditNotes</a> </li> <li data-group="Accounting" data-name="createCurrency" class=""> <a href="#api-Accounting-createCurrency">createCurrency</a> </li> <li data-group="Accounting" data-name="createEmployees" class=""> <a href="#api-Accounting-createEmployees">createEmployees</a> </li> <li data-group="Accounting" data-name="createExpenseClaimHistory" class=""> <a href="#api-Accounting-createExpenseClaimHistory">createExpenseClaimHistory</a> </li> <li data-group="Accounting" data-name="createExpenseClaims" class=""> <a href="#api-Accounting-createExpenseClaims">createExpenseClaims</a> </li> <li data-group="Accounting" data-name="createInvoiceAttachmentByFileName" class=""> <a href="#api-Accounting-createInvoiceAttachmentByFileName">createInvoiceAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createInvoiceHistory" class=""> <a href="#api-Accounting-createInvoiceHistory">createInvoiceHistory</a> </li> <li data-group="Accounting" data-name="createInvoices" class=""> <a href="#api-Accounting-createInvoices">createInvoices</a> </li> <li data-group="Accounting" data-name="createItemHistory" class=""> <a href="#api-Accounting-createItemHistory">createItemHistory</a> </li> <li data-group="Accounting" data-name="createItems" class=""> <a href="#api-Accounting-createItems">createItems</a> </li> <li data-group="Accounting" data-name="createLinkedTransaction" class=""> <a href="#api-Accounting-createLinkedTransaction">createLinkedTransaction</a> </li> <li data-group="Accounting" data-name="createManualJournalAttachmentByFileName" class=""> <a href="#api-Accounting-createManualJournalAttachmentByFileName">createManualJournalAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createManualJournalHistoryRecord" class=""> <a href="#api-Accounting-createManualJournalHistoryRecord">createManualJournalHistoryRecord</a> </li> <li data-group="Accounting" data-name="createManualJournals" class=""> <a href="#api-Accounting-createManualJournals">createManualJournals</a> </li> <li data-group="Accounting" data-name="createOverpaymentAllocations" class=""> <a href="#api-Accounting-createOverpaymentAllocations">createOverpaymentAllocations</a> </li> <li data-group="Accounting" data-name="createOverpaymentHistory" class=""> <a href="#api-Accounting-createOverpaymentHistory">createOverpaymentHistory</a> </li> <li data-group="Accounting" data-name="createPayment" class=""> <a href="#api-Accounting-createPayment">createPayment</a> </li> <li data-group="Accounting" data-name="createPaymentHistory" class=""> <a href="#api-Accounting-createPaymentHistory">createPaymentHistory</a> </li> <li data-group="Accounting" data-name="createPaymentService" class=""> <a href="#api-Accounting-createPaymentService">createPaymentService</a> </li> <li data-group="Accounting" data-name="createPayments" class=""> <a href="#api-Accounting-createPayments">createPayments</a> </li> <li data-group="Accounting" data-name="createPrepaymentAllocations" class=""> <a href="#api-Accounting-createPrepaymentAllocations">createPrepaymentAllocations</a> </li> <li data-group="Accounting" data-name="createPrepaymentHistory" class=""> <a href="#api-Accounting-createPrepaymentHistory">createPrepaymentHistory</a> </li> <li data-group="Accounting" data-name="createPurchaseOrderAttachmentByFileName" class=""> <a href="#api-Accounting-createPurchaseOrderAttachmentByFileName">createPurchaseOrderAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createPurchaseOrderHistory" class=""> <a href="#api-Accounting-createPurchaseOrderHistory">createPurchaseOrderHistory</a> </li> <li data-group="Accounting" data-name="createPurchaseOrders" class=""> <a href="#api-Accounting-createPurchaseOrders">createPurchaseOrders</a> </li> <li data-group="Accounting" data-name="createQuoteAttachmentByFileName" class=""> <a href="#api-Accounting-createQuoteAttachmentByFileName">createQuoteAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createQuoteHistory" class=""> <a href="#api-Accounting-createQuoteHistory">createQuoteHistory</a> </li> <li data-group="Accounting" data-name="createQuotes" class=""> <a href="#api-Accounting-createQuotes">createQuotes</a> </li> <li data-group="Accounting" data-name="createReceipt" class=""> <a href="#api-Accounting-createReceipt">createReceipt</a> </li> <li data-group="Accounting" data-name="createReceiptAttachmentByFileName" class=""> <a href="#api-Accounting-createReceiptAttachmentByFileName">createReceiptAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createReceiptHistory" class=""> <a href="#api-Accounting-createReceiptHistory">createReceiptHistory</a> </li> <li data-group="Accounting" data-name="createRepeatingInvoiceAttachmentByFileName" class=""> <a href="#api-Accounting-createRepeatingInvoiceAttachmentByFileName">createRepeatingInvoiceAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="createRepeatingInvoiceHistory" class=""> <a href="#api-Accounting-createRepeatingInvoiceHistory">createRepeatingInvoiceHistory</a> </li> <li data-group="Accounting" data-name="createTaxRates" class=""> <a href="#api-Accounting-createTaxRates">createTaxRates</a> </li> <li data-group="Accounting" data-name="createTrackingCategory" class=""> <a href="#api-Accounting-createTrackingCategory">createTrackingCategory</a> </li> <li data-group="Accounting" data-name="createTrackingOptions" class=""> <a href="#api-Accounting-createTrackingOptions">createTrackingOptions</a> </li> <li data-group="Accounting" data-name="deleteAccount" class=""> <a href="#api-Accounting-deleteAccount">deleteAccount</a> </li> <li data-group="Accounting" data-name="deleteContactGroupContact" class=""> <a href="#api-Accounting-deleteContactGroupContact">deleteContactGroupContact</a> </li> <li data-group="Accounting" data-name="deleteContactGroupContacts" class=""> <a href="#api-Accounting-deleteContactGroupContacts">deleteContactGroupContacts</a> </li> <li data-group="Accounting" data-name="deleteItem" class=""> <a href="#api-Accounting-deleteItem">deleteItem</a> </li> <li data-group="Accounting" data-name="deleteLinkedTransaction" class=""> <a href="#api-Accounting-deleteLinkedTransaction">deleteLinkedTransaction</a> </li> <li data-group="Accounting" data-name="deletePayment" class=""> <a href="#api-Accounting-deletePayment">deletePayment</a> </li> <li data-group="Accounting" data-name="deleteTrackingCategory" class=""> <a href="#api-Accounting-deleteTrackingCategory">deleteTrackingCategory</a> </li> <li data-group="Accounting" data-name="deleteTrackingOptions" class=""> <a href="#api-Accounting-deleteTrackingOptions">deleteTrackingOptions</a> </li> <li data-group="Accounting" data-name="emailInvoice" class=""> <a href="#api-Accounting-emailInvoice">emailInvoice</a> </li> <li data-group="Accounting" data-name="getAccount" class=""> <a href="#api-Accounting-getAccount">getAccount</a> </li> <li data-group="Accounting" data-name="getAccountAttachmentByFileName" class=""> <a href="#api-Accounting-getAccountAttachmentByFileName">getAccountAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getAccountAttachmentById" class=""> <a href="#api-Accounting-getAccountAttachmentById">getAccountAttachmentById</a> </li> <li data-group="Accounting" data-name="getAccountAttachments" class=""> <a href="#api-Accounting-getAccountAttachments">getAccountAttachments</a> </li> <li data-group="Accounting" data-name="getAccounts" class=""> <a href="#api-Accounting-getAccounts">getAccounts</a> </li> <li data-group="Accounting" data-name="getBankTransaction" class=""> <a href="#api-Accounting-getBankTransaction">getBankTransaction</a> </li> <li data-group="Accounting" data-name="getBankTransactionAttachmentByFileName" class=""> <a href="#api-Accounting-getBankTransactionAttachmentByFileName">getBankTransactionAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getBankTransactionAttachmentById" class=""> <a href="#api-Accounting-getBankTransactionAttachmentById">getBankTransactionAttachmentById</a> </li> <li data-group="Accounting" data-name="getBankTransactionAttachments" class=""> <a href="#api-Accounting-getBankTransactionAttachments">getBankTransactionAttachments</a> </li> <li data-group="Accounting" data-name="getBankTransactions" class=""> <a href="#api-Accounting-getBankTransactions">getBankTransactions</a> </li> <li data-group="Accounting" data-name="getBankTransactionsHistory" class=""> <a href="#api-Accounting-getBankTransactionsHistory">getBankTransactionsHistory</a> </li> <li data-group="Accounting" data-name="getBankTransfer" class=""> <a href="#api-Accounting-getBankTransfer">getBankTransfer</a> </li> <li data-group="Accounting" data-name="getBankTransferAttachmentByFileName" class=""> <a href="#api-Accounting-getBankTransferAttachmentByFileName">getBankTransferAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getBankTransferAttachmentById" class=""> <a href="#api-Accounting-getBankTransferAttachmentById">getBankTransferAttachmentById</a> </li> <li data-group="Accounting" data-name="getBankTransferAttachments" class=""> <a href="#api-Accounting-getBankTransferAttachments">getBankTransferAttachments</a> </li> <li data-group="Accounting" data-name="getBankTransferHistory" class=""> <a href="#api-Accounting-getBankTransferHistory">getBankTransferHistory</a> </li> <li data-group="Accounting" data-name="getBankTransfers" class=""> <a href="#api-Accounting-getBankTransfers">getBankTransfers</a> </li> <li data-group="Accounting" data-name="getBatchPaymentHistory" class=""> <a href="#api-Accounting-getBatchPaymentHistory">getBatchPaymentHistory</a> </li> <li data-group="Accounting" data-name="getBatchPayments" class=""> <a href="#api-Accounting-getBatchPayments">getBatchPayments</a> </li> <li data-group="Accounting" data-name="getBrandingTheme" class=""> <a href="#api-Accounting-getBrandingTheme">getBrandingTheme</a> </li> <li data-group="Accounting" data-name="getBrandingThemePaymentServices" class=""> <a href="#api-Accounting-getBrandingThemePaymentServices">getBrandingThemePaymentServices</a> </li> <li data-group="Accounting" data-name="getBrandingThemes" class=""> <a href="#api-Accounting-getBrandingThemes">getBrandingThemes</a> </li> <li data-group="Accounting" data-name="getBudget" class=""> <a href="#api-Accounting-getBudget">getBudget</a> </li> <li data-group="Accounting" data-name="getBudgets" class=""> <a href="#api-Accounting-getBudgets">getBudgets</a> </li> <li data-group="Accounting" data-name="getContact" class=""> <a href="#api-Accounting-getContact">getContact</a> </li> <li data-group="Accounting" data-name="getContactAttachmentByFileName" class=""> <a href="#api-Accounting-getContactAttachmentByFileName">getContactAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getContactAttachmentById" class=""> <a href="#api-Accounting-getContactAttachmentById">getContactAttachmentById</a> </li> <li data-group="Accounting" data-name="getContactAttachments" class=""> <a href="#api-Accounting-getContactAttachments">getContactAttachments</a> </li> <li data-group="Accounting" data-name="getContactByContactNumber" class=""> <a href="#api-Accounting-getContactByContactNumber">getContactByContactNumber</a> </li> <li data-group="Accounting" data-name="getContactCISSettings" class=""> <a href="#api-Accounting-getContactCISSettings">getContactCISSettings</a> </li> <li data-group="Accounting" data-name="getContactGroup" class=""> <a href="#api-Accounting-getContactGroup">getContactGroup</a> </li> <li data-group="Accounting" data-name="getContactGroups" class=""> <a href="#api-Accounting-getContactGroups">getContactGroups</a> </li> <li data-group="Accounting" data-name="getContactHistory" class=""> <a href="#api-Accounting-getContactHistory">getContactHistory</a> </li> <li data-group="Accounting" data-name="getContacts" class=""> <a href="#api-Accounting-getContacts">getContacts</a> </li> <li data-group="Accounting" data-name="getCreditNote" class=""> <a href="#api-Accounting-getCreditNote">getCreditNote</a> </li> <li data-group="Accounting" data-name="getCreditNoteAsPdf" class=""> <a href="#api-Accounting-getCreditNoteAsPdf">getCreditNoteAsPdf</a> </li> <li data-group="Accounting" data-name="getCreditNoteAttachmentByFileName" class=""> <a href="#api-Accounting-getCreditNoteAttachmentByFileName">getCreditNoteAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getCreditNoteAttachmentById" class=""> <a href="#api-Accounting-getCreditNoteAttachmentById">getCreditNoteAttachmentById</a> </li> <li data-group="Accounting" data-name="getCreditNoteAttachments" class=""> <a href="#api-Accounting-getCreditNoteAttachments">getCreditNoteAttachments</a> </li> <li data-group="Accounting" data-name="getCreditNoteHistory" class=""> <a href="#api-Accounting-getCreditNoteHistory">getCreditNoteHistory</a> </li> <li data-group="Accounting" data-name="getCreditNotes" class=""> <a href="#api-Accounting-getCreditNotes">getCreditNotes</a> </li> <li data-group="Accounting" data-name="getCurrencies" class=""> <a href="#api-Accounting-getCurrencies">getCurrencies</a> </li> <li data-group="Accounting" data-name="getEmployee" class=""> <a href="#api-Accounting-getEmployee">getEmployee</a> </li> <li data-group="Accounting" data-name="getEmployees" class=""> <a href="#api-Accounting-getEmployees">getEmployees</a> </li> <li data-group="Accounting" data-name="getExpenseClaim" class=""> <a href="#api-Accounting-getExpenseClaim">getExpenseClaim</a> </li> <li data-group="Accounting" data-name="getExpenseClaimHistory" class=""> <a href="#api-Accounting-getExpenseClaimHistory">getExpenseClaimHistory</a> </li> <li data-group="Accounting" data-name="getExpenseClaims" class=""> <a href="#api-Accounting-getExpenseClaims">getExpenseClaims</a> </li> <li data-group="Accounting" data-name="getInvoice" class=""> <a href="#api-Accounting-getInvoice">getInvoice</a> </li> <li data-group="Accounting" data-name="getInvoiceAsPdf" class=""> <a href="#api-Accounting-getInvoiceAsPdf">getInvoiceAsPdf</a> </li> <li data-group="Accounting" data-name="getInvoiceAttachmentByFileName" class=""> <a href="#api-Accounting-getInvoiceAttachmentByFileName">getInvoiceAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getInvoiceAttachmentById" class=""> <a href="#api-Accounting-getInvoiceAttachmentById">getInvoiceAttachmentById</a> </li> <li data-group="Accounting" data-name="getInvoiceAttachments" class=""> <a href="#api-Accounting-getInvoiceAttachments">getInvoiceAttachments</a> </li> <li data-group="Accounting" data-name="getInvoiceHistory" class=""> <a href="#api-Accounting-getInvoiceHistory">getInvoiceHistory</a> </li> <li data-group="Accounting" data-name="getInvoiceReminders" class=""> <a href="#api-Accounting-getInvoiceReminders">getInvoiceReminders</a> </li> <li data-group="Accounting" data-name="getInvoices" class=""> <a href="#api-Accounting-getInvoices">getInvoices</a> </li> <li data-group="Accounting" data-name="getItem" class=""> <a href="#api-Accounting-getItem">getItem</a> </li> <li data-group="Accounting" data-name="getItemHistory" class=""> <a href="#api-Accounting-getItemHistory">getItemHistory</a> </li> <li data-group="Accounting" data-name="getItems" class=""> <a href="#api-Accounting-getItems">getItems</a> </li> <li data-group="Accounting" data-name="getJournal" class=""> <a href="#api-Accounting-getJournal">getJournal</a> </li> <li data-group="Accounting" data-name="getJournals" class=""> <a href="#api-Accounting-getJournals">getJournals</a> </li> <li data-group="Accounting" data-name="getLinkedTransaction" class=""> <a href="#api-Accounting-getLinkedTransaction">getLinkedTransaction</a> </li> <li data-group="Accounting" data-name="getLinkedTransactions" class=""> <a href="#api-Accounting-getLinkedTransactions">getLinkedTransactions</a> </li> <li data-group="Accounting" data-name="getManualJournal" class=""> <a href="#api-Accounting-getManualJournal">getManualJournal</a> </li> <li data-group="Accounting" data-name="getManualJournalAttachmentByFileName" class=""> <a href="#api-Accounting-getManualJournalAttachmentByFileName">getManualJournalAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getManualJournalAttachmentById" class=""> <a href="#api-Accounting-getManualJournalAttachmentById">getManualJournalAttachmentById</a> </li> <li data-group="Accounting" data-name="getManualJournalAttachments" class=""> <a href="#api-Accounting-getManualJournalAttachments">getManualJournalAttachments</a> </li> <li data-group="Accounting" data-name="getManualJournals" class=""> <a href="#api-Accounting-getManualJournals">getManualJournals</a> </li> <li data-group="Accounting" data-name="getManualJournalsHistory" class=""> <a href="#api-Accounting-getManualJournalsHistory">getManualJournalsHistory</a> </li> <li data-group="Accounting" data-name="getOnlineInvoice" class=""> <a href="#api-Accounting-getOnlineInvoice">getOnlineInvoice</a> </li> <li data-group="Accounting" data-name="getOrganisationActions" class=""> <a href="#api-Accounting-getOrganisationActions">getOrganisationActions</a> </li> <li data-group="Accounting" data-name="getOrganisationCISSettings" class=""> <a href="#api-Accounting-getOrganisationCISSettings">getOrganisationCISSettings</a> </li> <li data-group="Accounting" data-name="getOrganisations" class=""> <a href="#api-Accounting-getOrganisations">getOrganisations</a> </li> <li data-group="Accounting" data-name="getOverpayment" class=""> <a href="#api-Accounting-getOverpayment">getOverpayment</a> </li> <li data-group="Accounting" data-name="getOverpaymentHistory" class=""> <a href="#api-Accounting-getOverpaymentHistory">getOverpaymentHistory</a> </li> <li data-group="Accounting" data-name="getOverpayments" class=""> <a href="#api-Accounting-getOverpayments">getOverpayments</a> </li> <li data-group="Accounting" data-name="getPayment" class=""> <a href="#api-Accounting-getPayment">getPayment</a> </li> <li data-group="Accounting" data-name="getPaymentHistory" class=""> <a href="#api-Accounting-getPaymentHistory">getPaymentHistory</a> </li> <li data-group="Accounting" data-name="getPaymentServices" class=""> <a href="#api-Accounting-getPaymentServices">getPaymentServices</a> </li> <li data-group="Accounting" data-name="getPayments" class=""> <a href="#api-Accounting-getPayments">getPayments</a> </li> <li data-group="Accounting" data-name="getPrepayment" class=""> <a href="#api-Accounting-getPrepayment">getPrepayment</a> </li> <li data-group="Accounting" data-name="getPrepaymentHistory" class=""> <a href="#api-Accounting-getPrepaymentHistory">getPrepaymentHistory</a> </li> <li data-group="Accounting" data-name="getPrepayments" class=""> <a href="#api-Accounting-getPrepayments">getPrepayments</a> </li> <li data-group="Accounting" data-name="getPurchaseOrder" class=""> <a href="#api-Accounting-getPurchaseOrder">getPurchaseOrder</a> </li> <li data-group="Accounting" data-name="getPurchaseOrderAsPdf" class=""> <a href="#api-Accounting-getPurchaseOrderAsPdf">getPurchaseOrderAsPdf</a> </li> <li data-group="Accounting" data-name="getPurchaseOrderAttachmentById" class=""> <a href="#api-Accounting-getPurchaseOrderAttachmentById">getPurchaseOrderAttachmentById</a> </li> <li data-group="Accounting" data-name="getPurchaseOrderAttachments" class=""> <a href="#api-Accounting-getPurchaseOrderAttachments">getPurchaseOrderAttachments</a> </li> <li data-group="Accounting" data-name="getPurchaseOrderByNumber" class=""> <a href="#api-Accounting-getPurchaseOrderByNumber">getPurchaseOrderByNumber</a> </li> <li data-group="Accounting" data-name="getPurchaseOrderHistory" class=""> <a href="#api-Accounting-getPurchaseOrderHistory">getPurchaseOrderHistory</a> </li> <li data-group="Accounting" data-name="getPurchaseOrders" class=""> <a href="#api-Accounting-getPurchaseOrders">getPurchaseOrders</a> </li> <li data-group="Accounting" data-name="getPurchaseOrder≠AttachmentByFileName" class=""> <a href="#api-Accounting-getPurchaseOrder≠AttachmentByFileName">getPurchaseOrder≠AttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getQuote" class=""> <a href="#api-Accounting-getQuote">getQuote</a> </li> <li data-group="Accounting" data-name="getQuoteAsPdf" class=""> <a href="#api-Accounting-getQuoteAsPdf">getQuoteAsPdf</a> </li> <li data-group="Accounting" data-name="getQuoteAttachmentByFileName" class=""> <a href="#api-Accounting-getQuoteAttachmentByFileName">getQuoteAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getQuoteAttachmentById" class=""> <a href="#api-Accounting-getQuoteAttachmentById">getQuoteAttachmentById</a> </li> <li data-group="Accounting" data-name="getQuoteAttachments" class=""> <a href="#api-Accounting-getQuoteAttachments">getQuoteAttachments</a> </li> <li data-group="Accounting" data-name="getQuoteHistory" class=""> <a href="#api-Accounting-getQuoteHistory">getQuoteHistory</a> </li> <li data-group="Accounting" data-name="getQuotes" class=""> <a href="#api-Accounting-getQuotes">getQuotes</a> </li> <li data-group="Accounting" data-name="getReceipt" class=""> <a href="#api-Accounting-getReceipt">getReceipt</a> </li> <li data-group="Accounting" data-name="getReceiptAttachmentByFileName" class=""> <a href="#api-Accounting-getReceiptAttachmentByFileName">getReceiptAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getReceiptAttachmentById" class=""> <a href="#api-Accounting-getReceiptAttachmentById">getReceiptAttachmentById</a> </li> <li data-group="Accounting" data-name="getReceiptAttachments" class=""> <a href="#api-Accounting-getReceiptAttachments">getReceiptAttachments</a> </li> <li data-group="Accounting" data-name="getReceiptHistory" class=""> <a href="#api-Accounting-getReceiptHistory">getReceiptHistory</a> </li> <li data-group="Accounting" data-name="getReceipts" class=""> <a href="#api-Accounting-getReceipts">getReceipts</a> </li> <li data-group="Accounting" data-name="getRepeatingInvoice" class=""> <a href="#api-Accounting-getRepeatingInvoice">getRepeatingInvoice</a> </li> <li data-group="Accounting" data-name="getRepeatingInvoiceAttachmentByFileName" class=""> <a href="#api-Accounting-getRepeatingInvoiceAttachmentByFileName">getRepeatingInvoiceAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="getRepeatingInvoiceAttachmentById" class=""> <a href="#api-Accounting-getRepeatingInvoiceAttachmentById">getRepeatingInvoiceAttachmentById</a> </li> <li data-group="Accounting" data-name="getRepeatingInvoiceAttachments" class=""> <a href="#api-Accounting-getRepeatingInvoiceAttachments">getRepeatingInvoiceAttachments</a> </li> <li data-group="Accounting" data-name="getRepeatingInvoiceHistory" class=""> <a href="#api-Accounting-getRepeatingInvoiceHistory">getRepeatingInvoiceHistory</a> </li> <li data-group="Accounting" data-name="getRepeatingInvoices" class=""> <a href="#api-Accounting-getRepeatingInvoices">getRepeatingInvoices</a> </li> <li data-group="Accounting" data-name="getReportAgedPayablesByContact" class=""> <a href="#api-Accounting-getReportAgedPayablesByContact">getReportAgedPayablesByContact</a> </li> <li data-group="Accounting" data-name="getReportAgedReceivablesByContact" class=""> <a href="#api-Accounting-getReportAgedReceivablesByContact">getReportAgedReceivablesByContact</a> </li> <li data-group="Accounting" data-name="getReportBalanceSheet" class=""> <a href="#api-Accounting-getReportBalanceSheet">getReportBalanceSheet</a> </li> <li data-group="Accounting" data-name="getReportBankSummary" class=""> <a href="#api-Accounting-getReportBankSummary">getReportBankSummary</a> </li> <li data-group="Accounting" data-name="getReportBudgetSummary" class=""> <a href="#api-Accounting-getReportBudgetSummary">getReportBudgetSummary</a> </li> <li data-group="Accounting" data-name="getReportExecutiveSummary" class=""> <a href="#api-Accounting-getReportExecutiveSummary">getReportExecutiveSummary</a> </li> <li data-group="Accounting" data-name="getReportFromId" class=""> <a href="#api-Accounting-getReportFromId">getReportFromId</a> </li> <li data-group="Accounting" data-name="getReportProfitAndLoss" class=""> <a href="#api-Accounting-getReportProfitAndLoss">getReportProfitAndLoss</a> </li> <li data-group="Accounting" data-name="getReportTenNinetyNine" class=""> <a href="#api-Accounting-getReportTenNinetyNine">getReportTenNinetyNine</a> </li> <li data-group="Accounting" data-name="getReportTrialBalance" class=""> <a href="#api-Accounting-getReportTrialBalance">getReportTrialBalance</a> </li> <li data-group="Accounting" data-name="getReportsList" class=""> <a href="#api-Accounting-getReportsList">getReportsList</a> </li> <li data-group="Accounting" data-name="getTaxRates" class=""> <a href="#api-Accounting-getTaxRates">getTaxRates</a> </li> <li data-group="Accounting" data-name="getTrackingCategories" class=""> <a href="#api-Accounting-getTrackingCategories">getTrackingCategories</a> </li> <li data-group="Accounting" data-name="getTrackingCategory" class=""> <a href="#api-Accounting-getTrackingCategory">getTrackingCategory</a> </li> <li data-group="Accounting" data-name="getUser" class=""> <a href="#api-Accounting-getUser">getUser</a> </li> <li data-group="Accounting" data-name="getUsers" class=""> <a href="#api-Accounting-getUsers">getUsers</a> </li> <li data-group="Accounting" data-name="postSetup" class=""> <a href="#api-Accounting-postSetup">postSetup</a> </li> <li data-group="Accounting" data-name="updateAccount" class=""> <a href="#api-Accounting-updateAccount">updateAccount</a> </li> <li data-group="Accounting" data-name="updateAccountAttachmentByFileName" class=""> <a href="#api-Accounting-updateAccountAttachmentByFileName">updateAccountAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateBankTransaction" class=""> <a href="#api-Accounting-updateBankTransaction">updateBankTransaction</a> </li> <li data-group="Accounting" data-name="updateBankTransactionAttachmentByFileName" class=""> <a href="#api-Accounting-updateBankTransactionAttachmentByFileName">updateBankTransactionAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateBankTransferAttachmentByFileName" class=""> <a href="#api-Accounting-updateBankTransferAttachmentByFileName">updateBankTransferAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateContact" class=""> <a href="#api-Accounting-updateContact">updateContact</a> </li> <li data-group="Accounting" data-name="updateContactAttachmentByFileName" class=""> <a href="#api-Accounting-updateContactAttachmentByFileName">updateContactAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateContactGroup" class=""> <a href="#api-Accounting-updateContactGroup">updateContactGroup</a> </li> <li data-group="Accounting" data-name="updateCreditNote" class=""> <a href="#api-Accounting-updateCreditNote">updateCreditNote</a> </li> <li data-group="Accounting" data-name="updateCreditNoteAttachmentByFileName" class=""> <a href="#api-Accounting-updateCreditNoteAttachmentByFileName">updateCreditNoteAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateExpenseClaim" class=""> <a href="#api-Accounting-updateExpenseClaim">updateExpenseClaim</a> </li> <li data-group="Accounting" data-name="updateInvoice" class=""> <a href="#api-Accounting-updateInvoice">updateInvoice</a> </li> <li data-group="Accounting" data-name="updateInvoiceAttachmentByFileName" class=""> <a href="#api-Accounting-updateInvoiceAttachmentByFileName">updateInvoiceAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateItem" class=""> <a href="#api-Accounting-updateItem">updateItem</a> </li> <li data-group="Accounting" data-name="updateLinkedTransaction" class=""> <a href="#api-Accounting-updateLinkedTransaction">updateLinkedTransaction</a> </li> <li data-group="Accounting" data-name="updateManualJournal" class=""> <a href="#api-Accounting-updateManualJournal">updateManualJournal</a> </li> <li data-group="Accounting" data-name="updateManualJournalAttachmentByFileName" class=""> <a href="#api-Accounting-updateManualJournalAttachmentByFileName">updateManualJournalAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateOrCreateBankTransactions" class=""> <a href="#api-Accounting-updateOrCreateBankTransactions">updateOrCreateBankTransactions</a> </li> <li data-group="Accounting" data-name="updateOrCreateContacts" class=""> <a href="#api-Accounting-updateOrCreateContacts">updateOrCreateContacts</a> </li> <li data-group="Accounting" data-name="updateOrCreateCreditNotes" class=""> <a href="#api-Accounting-updateOrCreateCreditNotes">updateOrCreateCreditNotes</a> </li> <li data-group="Accounting" data-name="updateOrCreateEmployees" class=""> <a href="#api-Accounting-updateOrCreateEmployees">updateOrCreateEmployees</a> </li> <li data-group="Accounting" data-name="updateOrCreateInvoices" class=""> <a href="#api-Accounting-updateOrCreateInvoices">updateOrCreateInvoices</a> </li> <li data-group="Accounting" data-name="updateOrCreateItems" class=""> <a href="#api-Accounting-updateOrCreateItems">updateOrCreateItems</a> </li> <li data-group="Accounting" data-name="updateOrCreateManualJournals" class=""> <a href="#api-Accounting-updateOrCreateManualJournals">updateOrCreateManualJournals</a> </li> <li data-group="Accounting" data-name="updateOrCreatePurchaseOrders" class=""> <a href="#api-Accounting-updateOrCreatePurchaseOrders">updateOrCreatePurchaseOrders</a> </li> <li data-group="Accounting" data-name="updateOrCreateQuotes" class=""> <a href="#api-Accounting-updateOrCreateQuotes">updateOrCreateQuotes</a> </li> <li data-group="Accounting" data-name="updatePurchaseOrder" class=""> <a href="#api-Accounting-updatePurchaseOrder">updatePurchaseOrder</a> </li> <li data-group="Accounting" data-name="updatePurchaseOrderAttachmentByFileName" class=""> <a href="#api-Accounting-updatePurchaseOrderAttachmentByFileName">updatePurchaseOrderAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateQuote" class=""> <a href="#api-Accounting-updateQuote">updateQuote</a> </li> <li data-group="Accounting" data-name="updateQuoteAttachmentByFileName" class=""> <a href="#api-Accounting-updateQuoteAttachmentByFileName">updateQuoteAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateReceipt" class=""> <a href="#api-Accounting-updateReceipt">updateReceipt</a> </li> <li data-group="Accounting" data-name="updateReceiptAttachmentByFileName" class=""> <a href="#api-Accounting-updateReceiptAttachmentByFileName">updateReceiptAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateRepeatingInvoiceAttachmentByFileName" class=""> <a href="#api-Accounting-updateRepeatingInvoiceAttachmentByFileName">updateRepeatingInvoiceAttachmentByFileName</a> </li> <li data-group="Accounting" data-name="updateTaxRate" class=""> <a href="#api-Accounting-updateTaxRate">updateTaxRate</a> </li> <li data-group="Accounting" data-name="updateTrackingCategory" class=""> <a href="#api-Accounting-updateTrackingCategory">updateTrackingCategory</a> </li> <li data-group="Accounting" data-name="updateTrackingOptions" class=""> <a href="#api-Accounting-updateTrackingOptions">updateTrackingOptions</a> </li> </ul> </nav> </div> <div id="content"> <div id="project"> <div class="pull-left"> <h1>Xero Accounting API</h1> </div> <div class="clearfix"></div> </div> <div id="header"> <div id="api-_"> <h2 id="welcome-to-apidoc">SDK Documentation</h2> </div> </div> <div id="sections"> <section id="api-Accounting"> <h1>Accounting</h1> <div id="api-Accounting-createAccount"> <article id="api-Accounting-createAccount-0" data-group="User" data-name="createAccount" data-version="0"> <div class="pull-left"> <h1>createAccount</h1> <p>Creates a new chart of accounts</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Accounts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createAccount-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createAccount-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $account = new XeroAPI\XeroPHP\Models\Accounting\Account; $account->setCode('123456'); $account->setName('FooBar'); $account->setType(XeroAPI\XeroPHP\Models\Accounting\AccountType::EXPENSE); $account->setDescription('Hello World'); try { $result = $apiInstance->createAccount($xeroTenantId, $account); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createAccount: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createAccount_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">account <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Account </span> <div class="inner description marked"> Account object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Account object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Account" }, "example" : "{ \"Code\":\"123456\", \"Name\":\"Foobar\", \"Type\":\"EXPENSE\", \"Description\":\"Hello World\" }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createAccountAttachmentByFileName"> <article id="api-Accounting-createAccountAttachmentByFileName-0" data-group="User" data-name="createAccountAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createAccountAttachmentByFileName</h1> <p>Creates an attachment on a specific account</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Accounts/{AccountID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createAccountAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createAccountAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createAccountAttachmentByFileName($xeroTenantId, $accountID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createAccountAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_createAccountAttachmentByFileName_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createAccountAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createAccountAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createBankTransactionAttachmentByFileName"> <article id="api-Accounting-createBankTransactionAttachmentByFileName-0" data-group="User" data-name="createBankTransactionAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createBankTransactionAttachmentByFileName</h1> <p>Creates an attachment for a specific bank transaction by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BankTransactions/{BankTransactionID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBankTransactionAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBankTransactionAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createBankTransactionAttachmentByFileName($xeroTenantId, $bankTransactionID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBankTransactionAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransactionAttachmentByFileName_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransactionAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransactionAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createBankTransactionHistoryRecord"> <article id="api-Accounting-createBankTransactionHistoryRecord-0" data-group="User" data-name="createBankTransactionHistoryRecord" data-version="0"> <div class="pull-left"> <h1>createBankTransactionHistoryRecord</h1> <p>Creates a history record for a specific bank transactions</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BankTransactions/{BankTransactionID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBankTransactionHistoryRecord-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBankTransactionHistoryRecord-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createBankTransactionHistoryRecord($xeroTenantId, $bankTransactionID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBankTransactionHistoryRecord: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransactionHistoryRecord_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransactionHistoryRecord_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createBankTransactions"> <article id="api-Accounting-createBankTransactions-0" data-group="User" data-name="createBankTransactions" data-version="0"> <div class="pull-left"> <h1>createBankTransactions</h1> <p>Creates one or more spent or received money transaction</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BankTransactions</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBankTransactions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBankTransactions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $bankAccount = new XeroAPI\XeroPHP\Models\Accounting\Account; $bankAccount->setAccountID('00000000-0000-0000-0000-000000000000'); $bankTransaction = new XeroAPI\XeroPHP\Models\Accounting\BankTransaction; $bankTransaction->setType(XeroAPI\XeroPHP\Models\Accounting\BankTransaction::TYPE_RECEIVE); $bankTransaction->setContact($contact); $bankTransaction->setLineItems($lineItems); $bankTransaction->setBankAccount($bankAccount); $bankTransactions = new XeroAPI\XeroPHP\Models\Accounting\BankTransactions; $arr_bank_transactions = []; array_push($arr_bank_transactions, $bankTransaction); $bankTransactions->setBankTransactions($arr_bank_transactions); try { $result = $apiInstance->createBankTransactions($xeroTenantId, $bankTransactions, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBankTransactions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransactions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">bankTransactions <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> BankTransactions </span> <div class="inner description marked"> BankTransactions with an array of BankTransaction objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "BankTransactions with an array of BankTransaction objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BankTransactions" }, "example" : "{ bankTransactions: [{ type: BankTransaction.TypeEnum.SPEND, contact: { contactID: \"00000000-0000-0000-0000-000000000000\" }, lineItems: [{ description: \"Foobar\", quantity: 1.0, unitAmount: 20.0, accountCode: \"000\" } ], bankAccount: { code: \"000\" }}]}" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createBankTransactions_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_createBankTransactions_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createBankTransfer"> <article id="api-Accounting-createBankTransfer-0" data-group="User" data-name="createBankTransfer" data-version="0"> <div class="pull-left"> <h1>createBankTransfer</h1> <p>Creates a bank transfer</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BankTransfers</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBankTransfer-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBankTransfer-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $fromBankAccount = new XeroAPI\XeroPHP\Models\Accounting\Account; $fromBankAccount->setAccountID('00000000-0000-0000-0000-000000000000'); $toBankAccount = new XeroAPI\XeroPHP\Models\Accounting\Account; $toBankAccount->setAccountID('00000000-0000-0000-0000-000000000000'); $bankTransfer = new XeroAPI\XeroPHP\Models\Accounting\BankTransfer; $bankTransfer->setFromBankAccount($fromBankAccount); $bankTransfer->setToBankAccount($toBankAccount); $bankTransfer->setAmount(1.0); $bankTransfers = new XeroAPI\XeroPHP\Models\Accounting\BankTransfers; $arr_bank_transfers = []; array_push($arr_bank_transfers, $bankTransfer); $bankTransfers->setBankTransfers($arr_bank_transfers); try { $result = $apiInstance->createBankTransfer($xeroTenantId, $bankTransfers); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBankTransfer: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransfer_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">bankTransfers <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> BankTransfers </span> <div class="inner description marked"> BankTransfers with array of BankTransfer objects in request body </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "BankTransfers with array of BankTransfer objects in request body", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BankTransfers" }, "example" : "{ \"BankTransfers\": [ { \"FromBankAccount\": { \"Code\": \"090\", \"Name\": \"My Savings\", \"AccountID\": \"00000000-0000-0000-0000-000000000000\", \"Type\": \"BANK\", \"BankAccountNumber\": \"123455\", \"Status\": \"ACTIVE\", \"BankAccountType\": \"BANK\", \"CurrencyCode\": \"USD\", \"TaxType\": \"NONE\", \"EnablePaymentsToAccount\": false, \"ShowInExpenseClaims\": false, \"Class\": \"ASSET\", \"ReportingCode\": \"ASS\", \"ReportingCodeName\": \"Assets\", \"HasAttachments\": false, \"UpdatedDateUTC\": \"2016-10-17T13:45:33.993-07:00\" }, \"ToBankAccount\": { \"Code\": \"088\", \"Name\": \"Business Wells Fargo\", \"AccountID\": \"00000000-0000-0000-0000-000000000000\", \"Type\": \"BANK\", \"BankAccountNumber\": \"123455\", \"Status\": \"ACTIVE\", \"BankAccountType\": \"BANK\", \"CurrencyCode\": \"USD\", \"TaxType\": \"NONE\", \"EnablePaymentsToAccount\": false, \"ShowInExpenseClaims\": false, \"Class\": \"ASSET\", \"ReportingCode\": \"ASS\", \"ReportingCodeName\": \"Assets\", \"HasAttachments\": false, \"UpdatedDateUTC\": \"2016-06-03T08:31:14.517-07:00\" }, \"Amount\": \"50.00\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createBankTransferAttachmentByFileName"> <article id="api-Accounting-createBankTransferAttachmentByFileName-0" data-group="User" data-name="createBankTransferAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createBankTransferAttachmentByFileName</h1> <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BankTransfers/{BankTransferID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBankTransferAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBankTransferAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createBankTransferAttachmentByFileName($xeroTenantId, $bankTransferID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBankTransferAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransferAttachmentByFileName_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransferAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransferAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createBankTransferHistoryRecord"> <article id="api-Accounting-createBankTransferHistoryRecord-0" data-group="User" data-name="createBankTransferHistoryRecord" data-version="0"> <div class="pull-left"> <h1>createBankTransferHistoryRecord</h1> <p>Creates a history record for a specific bank transfer</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BankTransfers/{BankTransferID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBankTransferHistoryRecord-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBankTransferHistoryRecord-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createBankTransferHistoryRecord($xeroTenantId, $bankTransferID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBankTransferHistoryRecord: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransferHistoryRecord_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBankTransferHistoryRecord_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createBatchPayment"> <article id="api-Accounting-createBatchPayment-0" data-group="User" data-name="createBatchPayment" data-version="0"> <div class="pull-left"> <h1>createBatchPayment</h1> <p>Creates one or many batch payments for invoices</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BatchPayments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBatchPayment-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBatchPayment-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $currDate = new DateTime('2020-12-10'); $paymentAccount = new XeroAPI\XeroPHP\Models\Accounting\Account; $paymentAccount->setAccountID('00000000-0000-0000-0000-000000000000'); $bankAccount = new XeroAPI\XeroPHP\Models\Accounting\Account; $bankAccount->setAccountID('00000000-0000-0000-0000-000000000000'); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setInvoiceID('00000000-0000-0000-0000-000000000000'); $payment = new XeroAPI\XeroPHP\Models\Accounting\Payment; $payment->setAccount($bankAccount); $payment->setDate($currDate); $payment->setAmount(1.0); $payment->setInvoice($invoice); $payments = []; array_push($payments, $payment); $batchPayment = new XeroAPI\XeroPHP\Models\Accounting\BatchPayment; $batchPayment->setAccount($paymentAccount); $batchPayment->setReference('hello foobar'); $batchPayment->setDate($currDate); $batchPayment->setPayments($payments); $batchPayments = new XeroAPI\XeroPHP\Models\Accounting\BatchPayments; $arr_batch_payments = []; array_push($arr_batch_payments, $batchPayment); $batchPayments->setBatchPayments($arr_batch_payments); try { $result = $apiInstance->createBatchPayment($xeroTenantId, $batchPayments, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBatchPayment: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBatchPayment_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">batchPayments <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> BatchPayments </span> <div class="inner description marked"> BatchPayments with an array of Payments in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "BatchPayments with an array of Payments in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchPayments" }, "example" : "{ \"BatchPayments\": [ { \"Account\": { \"AccountID\": \"00000000-0000-0000-0000-000000000000\" }, \"Reference\": \"ref\", \"Date\": \"2018-08-01\", \"Payments\": [ { \"Account\": { \"Code\": \"001\" }, \"Date\": \"2019-12-31\", \"Amount\": 500, \"Invoice\": { \"InvoiceID\": \"00000000-0000-0000-0000-000000000000\", \"LineItems\": [], \"Contact\": {}, \"Type\": \"ACCPAY\" } } ] } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createBatchPayment_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createBatchPaymentHistoryRecord"> <article id="api-Accounting-createBatchPaymentHistoryRecord-0" data-group="User" data-name="createBatchPaymentHistoryRecord" data-version="0"> <div class="pull-left"> <h1>createBatchPaymentHistoryRecord</h1> <p>Creates a history record for a specific batch payment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/BatchPayments/{BatchPaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBatchPaymentHistoryRecord-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBatchPaymentHistoryRecord-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $batchPaymentID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createBatchPaymentHistoryRecord($xeroTenantId, $batchPaymentID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBatchPaymentHistoryRecord: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BatchPaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_createBatchPaymentHistoryRecord_batchPaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for BatchPayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBatchPaymentHistoryRecord_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createBrandingThemePaymentServices"> <article id="api-Accounting-createBrandingThemePaymentServices-0" data-group="User" data-name="createBrandingThemePaymentServices" data-version="0"> <div class="pull-left"> <h1>createBrandingThemePaymentServices</h1> <p>Creates a new custom payment service for a specific branding theme</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/BrandingThemes/{BrandingThemeID}/PaymentServices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createBrandingThemePaymentServices-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createBrandingThemePaymentServices-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $brandingThemeID = "00000000-0000-0000-0000-000000000000"; $paymentService = new XeroAPI\XeroPHP\Models\Accounting\PaymentService; $paymentService->setPaymentServiceID('00000000-0000-0000-0000-000000000000'); $paymentService->setPaymentServiceName('ACME Payments'); $paymentService->setPaymentServiceUrl('https://www.payupnow.com/'); $paymentService->setPayNowText('Pay Now'); try { $result = $apiInstance->createBrandingThemePaymentServices($xeroTenantId, $brandingThemeID, $paymentService); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createBrandingThemePaymentServices: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>paymentservices</td> <td>Grant read-write access to payment services</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BrandingThemeID<span style="color:red;">*</span></td> <td> <div id="d2e199_createBrandingThemePaymentServices_brandingThemeID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Branding Theme </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createBrandingThemePaymentServices_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">paymentService <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> PaymentService </span> <div class="inner description marked"> PaymentService object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "PaymentService object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentService" }, "example" : "{ \"PaymentServiceID\": \"00000000-0000-0000-0000-000000000000\", \"PaymentServiceName\": \"Payments Service\", \"PaymentServiceUrl\": \"https://www.paymentservice.com/\", \"PayNowText\": \"Pay Now\" }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createContactAttachmentByFileName"> <article id="api-Accounting-createContactAttachmentByFileName-0" data-group="User" data-name="createContactAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createContactAttachmentByFileName</h1> <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Contacts/{ContactID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createContactAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createContactAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createContactAttachmentByFileName($xeroTenantId, $contactID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createContactAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactAttachmentByFileName_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createContactGroup"> <article id="api-Accounting-createContactGroup-0" data-group="User" data-name="createContactGroup" data-version="0"> <div class="pull-left"> <h1>createContactGroup</h1> <p>Creates a contact group</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/ContactGroups</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createContactGroup-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createContactGroup-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactGroup = new XeroAPI\XeroPHP\Models\Accounting\ContactGroup; $contactGroup->setName('VIPs'); $contactGroups = new XeroAPI\XeroPHP\Models\Accounting\ContactGroups; $arr_contact_groups = []; array_push($arr_contact_groups, $contactGroup); $contactGroups->setContactGroups($arr_contact_groups); try { $result = $apiInstance->createContactGroup($xeroTenantId, $contactGroups); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createContactGroup: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactGroup_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">contactGroups <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> ContactGroups </span> <div class="inner description marked"> ContactGroups with an array of names in request body </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "ContactGroups with an array of names in request body", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ContactGroups" }, "example" : "{ \"ContactGroups\": [{ \"Name\": \"VIPs\" }]}" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createContactGroupContacts"> <article id="api-Accounting-createContactGroupContacts-0" data-group="User" data-name="createContactGroupContacts" data-version="0"> <div class="pull-left"> <h1>createContactGroupContacts</h1> <p>Creates contacts to a specific contact group</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/ContactGroups/{ContactGroupID}/Contacts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createContactGroupContacts-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createContactGroupContacts-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactGroupID = "00000000-0000-0000-0000-000000000000"; $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $contacts = new XeroAPI\XeroPHP\Models\Accounting\Contacts; $arr_contacts = []; array_push($arr_contacts, $contact); $contacts->setContacts($arr_contacts); try { $result = $apiInstance->createContactGroupContacts($xeroTenantId, $contactGroupID, $contacts); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createContactGroupContacts: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactGroupID<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactGroupContacts_contactGroupID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact Group </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactGroupContacts_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">contacts <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Contacts </span> <div class="inner description marked"> Contacts with array of contacts specifying the ContactID to be added to ContactGroup in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Contacts with array of contacts specifying the ContactID to be added to ContactGroup in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Contacts" }, "example" : "{ \"Contacts\": [ { \"ContactID\": \"a3675fc4-f8dd-4f03-ba5b-f1870566bcd7\" }, { \"ContactID\": \"4e1753b9-018a-4775-b6aa-1bc7871cfee3\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createContactHistory"> <article id="api-Accounting-createContactHistory-0" data-group="User" data-name="createContactHistory" data-version="0"> <div class="pull-left"> <h1>createContactHistory</h1> <p>Creates a new history record for a specific contact</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Contacts/{ContactID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createContactHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createContactHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createContactHistory($xeroTenantId, $contactID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createContactHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactHistory_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createContactHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createContacts"> <article id="api-Accounting-createContacts-0" data-group="User" data-name="createContacts" data-version="0"> <div class="pull-left"> <h1>createContacts</h1> <p>Creates multiple contacts (bulk) in a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Contacts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createContacts-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createContacts-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $phone = new XeroAPI\XeroPHP\Models\Accounting\Phone; $phone->setPhoneNumber('555-1212'); $phone->setPhoneType(XeroAPI\XeroPHP\Models\Accounting\Phone::PHONE_TYPE_MOBILE); $phones = []; array_push($phones, $phone); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setName('Bruce Banner'); $contact->setEmailAddress('hulk@avengers.com'); $contact->setPhones($phones); $contacts = new XeroAPI\XeroPHP\Models\Accounting\Contacts; $arr_contacts = []; array_push($arr_contacts, $contact); $contacts->setContacts($arr_contacts); try { $result = $apiInstance->createContacts($xeroTenantId, $contacts, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createContacts: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createContacts_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">contacts <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Contacts </span> <div class="inner description marked"> Contacts with an array of Contact objects to create in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Contacts with an array of Contact objects to create in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Contacts" }, "example" : "{ \"Id\": \"e997d6d7-6dad-4458-beb8-d9c1bf7f2edf\", \"Status\": \"OK\", \"ProviderName\": \"Xero API Partner\", \"DateTimeUTC\": \"/Date(1551399321121)/\", \"Contacts\": [ { \"ContactID\": \"3ff6d40c-af9a-40a3-89ce-3c1556a25591\", \"ContactStatus\": \"ACTIVE\", \"Name\": \"Foo9987\", \"EmailAddress\": \"sid32476@blah.com\", \"BankAccountDetails\": \"\", \"Addresses\": [ { \"AddressType\": \"STREET\", \"City\": \"\", \"Region\": \"\", \"PostalCode\": \"\", \"Country\": \"\" }, { \"AddressType\": \"POBOX\", \"City\": \"\", \"Region\": \"\", \"PostalCode\": \"\", \"Country\": \"\" } ], \"Phones\": [ { \"PhoneType\": \"DEFAULT\", \"PhoneNumber\": \"\", \"PhoneAreaCode\": \"\", \"PhoneCountryCode\": \"\" }, { \"PhoneType\": \"DDI\", \"PhoneNumber\": \"\", \"PhoneAreaCode\": \"\", \"PhoneCountryCode\": \"\" }, { \"PhoneType\": \"FAX\", \"PhoneNumber\": \"\", \"PhoneAreaCode\": \"\", \"PhoneCountryCode\": \"\" }, { \"PhoneType\": \"MOBILE\", \"PhoneNumber\": \"555-1212\", \"PhoneAreaCode\": \"415\", \"PhoneCountryCode\": \"\" } ], \"UpdatedDateUTC\": \"/Date(1551399321043+0000)/\", \"ContactGroups\": [], \"IsSupplier\": false, \"IsCustomer\": false, \"SalesTrackingCategories\": [], \"PurchasesTrackingCategories\": [], \"PaymentTerms\": { \"Bills\": { \"Day\": 15, \"Type\": \"OFCURRENTMONTH\" }, \"Sales\": { \"Day\": 10, \"Type\": \"DAYSAFTERBILLMONTH\" } }, \"ContactPersons\": [], \"HasValidationErrors\": false } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createContacts_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createCreditNoteAllocation"> <article id="api-Accounting-createCreditNoteAllocation-0" data-group="User" data-name="createCreditNoteAllocation" data-version="0"> <div class="pull-left"> <h1>createCreditNoteAllocation</h1> <p>Creates allocation for a specific credit note</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/CreditNotes/{CreditNoteID}/Allocations</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createCreditNoteAllocation-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createCreditNoteAllocation-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $summarizeErrors = true; $currDate = new DateTime('2020-12-10'); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setInvoiceID('00000000-0000-0000-0000-000000000000'); $allocation = new XeroAPI\XeroPHP\Models\Accounting\Allocation; $allocation->setAmount(1.0); $allocation->setDate($currDate); $allocation->setInvoice($invoice); $allocations = new XeroAPI\XeroPHP\Models\Accounting\Allocations; $arr_allocations = []; array_push($arr_allocations, $allocation); $allocations->setAllocations($arr_allocations); try { $result = $apiInstance->createCreditNoteAllocation($xeroTenantId, $creditNoteID, $allocations, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createCreditNoteAllocation: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNoteAllocation_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNoteAllocation_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">allocations <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Allocations </span> <div class="inner description marked"> Allocations with array of Allocation object in body of request. </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Allocations with array of Allocation object in body of request.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Allocations" }, "example" : "{ \"Allocations\": [ { \"Invoice\": { \"LineItems\": [], \"InvoiceID\": \"c45720a1-ade3-4a38-a064-d15489be6841\" }, \"Amount\": 1, \"Date\": \"2019-03-05\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createCreditNoteAllocation_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createCreditNoteAttachmentByFileName"> <article id="api-Accounting-createCreditNoteAttachmentByFileName-0" data-group="User" data-name="createCreditNoteAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createCreditNoteAttachmentByFileName</h1> <p>Creates an attachment for a specific credit note</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/CreditNotes/{CreditNoteID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createCreditNoteAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createCreditNoteAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $includeOnline = true; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createCreditNoteAttachmentByFileName($xeroTenantId, $creditNoteID, $fileName, $body, $includeOnline); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createCreditNoteAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNoteAttachmentByFileName_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNoteAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNoteAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">IncludeOnline</td> <td> <div id="d2e199_createCreditNoteAttachmentByFileName_includeOnline"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Allows an attachment to be seen by the end customer within their online invoice </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createCreditNoteHistory"> <article id="api-Accounting-createCreditNoteHistory-0" data-group="User" data-name="createCreditNoteHistory" data-version="0"> <div class="pull-left"> <h1>createCreditNoteHistory</h1> <p>Retrieves history records of a specific credit note</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/CreditNotes/{CreditNoteID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createCreditNoteHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createCreditNoteHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createCreditNoteHistory($xeroTenantId, $creditNoteID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createCreditNoteHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNoteHistory_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNoteHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createCreditNotes"> <article id="api-Accounting-createCreditNotes-0" data-group="User" data-name="createCreditNotes" data-version="0"> <div class="pull-left"> <h1>createCreditNotes</h1> <p>Creates a new credit note</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/CreditNotes</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createCreditNotes-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createCreditNotes-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $currDate = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $creditNote = new XeroAPI\XeroPHP\Models\Accounting\CreditNote; $creditNote->setType(XeroAPI\XeroPHP\Models\Accounting\CreditNote::TYPE_ACCPAYCREDIT); $creditNote->setContact($contact); $creditNote->setDate($currDate); $creditNote->setLineItems($lineItems); $creditNotes = new XeroAPI\XeroPHP\Models\Accounting\CreditNotes; $arr_credit_notes = []; array_push($arr_credit_notes, $creditNote); $creditNotes->setCreditNotes($arr_credit_notes); try { $result = $apiInstance->createCreditNotes($xeroTenantId, $creditNotes, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createCreditNotes: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createCreditNotes_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">creditNotes <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> CreditNotes </span> <div class="inner description marked"> Credit Notes with array of CreditNote object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Credit Notes with array of CreditNote object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CreditNotes" }, "example" : "{ \"CreditNotes\":[ { \"Type\":\"ACCPAYCREDIT\", \"Contact\":{ \"ContactID\":\"430fa14a-f945-44d3-9f97-5df5e28441b8\" }, \"Date\":\"2019-01-05\", \"LineItems\":[ { \"Description\":\"Foobar\", \"Quantity\":2.0, \"UnitAmount\":20.0, \"AccountCode\":\"400\" } ] } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createCreditNotes_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_createCreditNotes_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createCurrency"> <article id="api-Accounting-createCurrency-0" data-group="User" data-name="createCurrency" data-version="0"> <div class="pull-left"> <h1>createCurrency</h1> <p>Create a new currency for a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Currencies</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createCurrency-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createCurrency-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $currency = new XeroAPI\XeroPHP\Models\Accounting\Currency; $currency->setCode(XeroAPI\XeroPHP\Models\Accounting\CurrencyCode::USD); $currency->setDescription('United States Dollar'); try { $result = $apiInstance->createCurrency($xeroTenantId, $currency); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createCurrency: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createCurrency_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">currency <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Currency </span> <div class="inner description marked"> Currency object in the body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Currency object in the body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Currency" }, "example" : "{ \"Code\": \"USD\", \"Description\": \"United States Dollar\" }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createEmployees"> <article id="api-Accounting-createEmployees-0" data-group="User" data-name="createEmployees" data-version="0"> <div class="pull-left"> <h1>createEmployees</h1> <p>Creates new employees used in Xero payrun</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Employees</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createEmployees-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createEmployees-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $employee = new XeroAPI\XeroPHP\Models\Accounting\Employee; $employee->setFirstName('Nick'); $employee->setLastName('Fury'); $employees = new XeroAPI\XeroPHP\Models\Accounting\Employees; $arr_employees = []; array_push($arr_employees, $employee); $employees->setEmployees($arr_employees); try { $result = $apiInstance->createEmployees($xeroTenantId, $employees, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createEmployees: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createEmployees_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">employees <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Employees </span> <div class="inner description marked"> Employees with array of Employee object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Employees with array of Employee object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Employees" }, "example" : "{ \"Employees\": [ { \"FirstName\": \"Nick\", \"LastName\": \"Fury\", \"ExternalLink\": { \"Url\": \"http://twitter.com/#!/search/Nick+Fury\" } } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createEmployees_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createExpenseClaimHistory"> <article id="api-Accounting-createExpenseClaimHistory-0" data-group="User" data-name="createExpenseClaimHistory" data-version="0"> <div class="pull-left"> <h1>createExpenseClaimHistory</h1> <p>Creates a history record for a specific expense claim</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/ExpenseClaims/{ExpenseClaimID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createExpenseClaimHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createExpenseClaimHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $expenseClaimID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createExpenseClaimHistory($xeroTenantId, $expenseClaimID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createExpenseClaimHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ExpenseClaimID<span style="color:red;">*</span></td> <td> <div id="d2e199_createExpenseClaimHistory_expenseClaimID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ExpenseClaim </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createExpenseClaimHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createExpenseClaims"> <article id="api-Accounting-createExpenseClaims-0" data-group="User" data-name="createExpenseClaims" data-version="0"> <div class="pull-left"> <h1>createExpenseClaims</h1> <p>Creates expense claims</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/ExpenseClaims</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createExpenseClaims-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createExpenseClaims-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $currDate = new DateTime('2020-12-10'); $user = new XeroAPI\XeroPHP\Models\Accounting\User; $user->setUserID('00000000-0000-0000-0000-000000000000'); $receipt = new XeroAPI\XeroPHP\Models\Accounting\Receipt; $receipt->setReceiptID('00000000-0000-0000-0000-000000000000'); $receipt->setDate($currDate); $receipts = []; array_push($receipts, $receipt); $expenseClaim = new XeroAPI\XeroPHP\Models\Accounting\ExpenseClaim; $expenseClaim->setStatus(XeroAPI\XeroPHP\Models\Accounting\ExpenseClaim::STATUS_SUBMITTED); $expenseClaim->setUser($user); $expenseClaim->setReceipts($receipts); $expenseClaims = new XeroAPI\XeroPHP\Models\Accounting\ExpenseClaims; $arr_expense_claims = []; array_push($arr_expense_claims, $expenseClaim); $expenseClaims->setExpenseClaims($arr_expense_claims); try { $result = $apiInstance->createExpenseClaims($xeroTenantId, $expenseClaims); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createExpenseClaims: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createExpenseClaims_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">expenseClaims <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> ExpenseClaims </span> <div class="inner description marked"> ExpenseClaims with array of ExpenseClaim object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "ExpenseClaims with array of ExpenseClaim object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ExpenseClaims" }, "example" : "{ \"ExpenseClaims\": [ { \"Status\": \"SUBMITTED\", \"User\": { \"UserID\": \"d1164823-0ac1-41ad-987b-b4e30fe0b273\" }, \"Receipts\": [ { \"Lineitems\": [], \"ReceiptID\": \"dc1c7f6d-0a4c-402f-acac-551d62ce5816\" } ] } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createInvoiceAttachmentByFileName"> <article id="api-Accounting-createInvoiceAttachmentByFileName-0" data-group="User" data-name="createInvoiceAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createInvoiceAttachmentByFileName</h1> <p>Creates an attachment for a specific invoice or purchase bill by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Invoices/{InvoiceID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createInvoiceAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createInvoiceAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $includeOnline = true; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createInvoiceAttachmentByFileName($xeroTenantId, $invoiceID, $fileName, $body, $includeOnline); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createInvoiceAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_createInvoiceAttachmentByFileName_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createInvoiceAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createInvoiceAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">IncludeOnline</td> <td> <div id="d2e199_createInvoiceAttachmentByFileName_includeOnline"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Allows an attachment to be seen by the end customer within their online invoice </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createInvoiceHistory"> <article id="api-Accounting-createInvoiceHistory-0" data-group="User" data-name="createInvoiceHistory" data-version="0"> <div class="pull-left"> <h1>createInvoiceHistory</h1> <p>Creates a history record for a specific invoice</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Invoices/{InvoiceID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createInvoiceHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createInvoiceHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createInvoiceHistory($xeroTenantId, $invoiceID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createInvoiceHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_createInvoiceHistory_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createInvoiceHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createInvoices"> <article id="api-Accounting-createInvoices-0" data-group="User" data-name="createInvoices" data-version="0"> <div class="pull-left"> <h1>createInvoices</h1> <p>Creates one or more sales invoices or purchase bills</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Invoices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createInvoices-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createInvoices-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $dateValue = new DateTime('2020-10-10'); $dueDateValue = new DateTime('2020-10-28'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItemTracking = new XeroAPI\XeroPHP\Models\Accounting\LineItemTracking; $lineItemTracking->setTrackingCategoryID('00000000-0000-0000-0000-000000000000'); $lineItemTracking->setTrackingOptionID('00000000-0000-0000-0000-000000000000'); $lineItemTrackings = []; array_push($lineItemTrackings, $lineItemTracking); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItem->setTracking(lineItemTrackings); $lineItems = []; array_push($lineItems, $lineItem); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setType(XeroAPI\XeroPHP\Models\Accounting\Invoice::TYPE_ACCREC); $invoice->setContact($contact); $invoice->setDate($dateValue); $invoice->setDueDate($dueDateValue); $invoice->setLineItems($lineItems); $invoice->setReference('Website Design'); $invoice->setStatus(XeroAPI\XeroPHP\Models\Accounting\Invoice::STATUS_DRAFT); $invoices = new XeroAPI\XeroPHP\Models\Accounting\Invoices; $arr_invoices = []; array_push($arr_invoices, $invoice); $invoices->setInvoices($arr_invoices); try { $result = $apiInstance->createInvoices($xeroTenantId, $invoices, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createInvoices: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createInvoices_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">invoices <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Invoices </span> <div class="inner description marked"> Invoices with an array of invoice objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Invoices with an array of invoice objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Invoices" }, "example" : "{ \"Invoices\": [ { \"Type\": \"ACCREC\", \"Contact\": { \"ContactID\": \"430fa14a-f945-44d3-9f97-5df5e28441b8\" }, \"LineItems\": [ { \"Description\": \"Acme Tires\", \"Quantity\": 2, \"UnitAmount\": 20, \"AccountCode\": \"200\", \"TaxType\": \"NONE\", \"LineAmount\": 40 } ], \"Date\": \"2019-03-11\", \"DueDate\": \"2018-12-10\", \"Reference\": \"Website Design\", \"Status\": \"AUTHORISED\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createInvoices_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_createInvoices_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createItemHistory"> <article id="api-Accounting-createItemHistory-0" data-group="User" data-name="createItemHistory" data-version="0"> <div class="pull-left"> <h1>createItemHistory</h1> <p>Creates a history record for a specific item</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Items/{ItemID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createItemHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createItemHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $itemID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createItemHistory($xeroTenantId, $itemID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createItemHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ItemID<span style="color:red;">*</span></td> <td> <div id="d2e199_createItemHistory_itemID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Item </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createItemHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createItems"> <article id="api-Accounting-createItems-0" data-group="User" data-name="createItems" data-version="0"> <div class="pull-left"> <h1>createItems</h1> <p>Creates one or more items</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Items</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createItems-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createItems-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $purchaseDetails = new XeroAPI\XeroPHP\Models\Accounting\Purchase; $purchaseDetails->setCoGSAccountCode('500'); $item = new XeroAPI\XeroPHP\Models\Accounting\Item; $item->setCode('abcXYZ123'); $item->setName('HelloWorld'); $item->setDescription('Foobar'); $item->setInventoryAssetAccountCode('140'); $item->setPurchaseDetails($purchaseDetails); $items = new XeroAPI\XeroPHP\Models\Accounting\Items; $arr_items = []; array_push($arr_items, $item); $items->setItems($arr_items); try { $result = $apiInstance->createItems($xeroTenantId, $items, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createItems: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createItems_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">items <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Items </span> <div class="inner description marked"> Items with an array of Item objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Items with an array of Item objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Items" }, "example" : "{ \"Items\": [ { \"Code\": \"code123\", \"Name\": \"Item Name XYZ\", \"Description\": \"Foobar\", \"InventoryAssetAccountCode\": \"140\", \"PurchaseDetails\": { \"COGSAccountCode\": \"500\" } } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createItems_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_createItems_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createLinkedTransaction"> <article id="api-Accounting-createLinkedTransaction-0" data-group="User" data-name="createLinkedTransaction" data-version="0"> <div class="pull-left"> <h1>createLinkedTransaction</h1> <p>Creates linked transactions (billable expenses)</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/LinkedTransactions</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createLinkedTransaction-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createLinkedTransaction-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $linkedTransaction = new XeroAPI\XeroPHP\Models\Accounting\LinkedTransaction; $linkedTransaction->setSourceTransactionID('00000000-0000-0000-0000-000000000000'); $linkedTransaction->setSourceLineItemID('00000000-0000-0000-0000-000000000000'); try { $result = $apiInstance->createLinkedTransaction($xeroTenantId, $linkedTransaction); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createLinkedTransaction: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createLinkedTransaction_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">linkedTransaction <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> LinkedTransaction </span> <div class="inner description marked"> LinkedTransaction object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "LinkedTransaction object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/LinkedTransaction" }, "example" : "{ \"LinkedTransactions\": [ { \"SourceTransactionID\": \"a848644a-f20f-4630-98c3-386bd7505631\", \"SourceLineItemID\": \"b0df260d-3cc8-4ced-9bd6-41924f624ed3\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createManualJournalAttachmentByFileName"> <article id="api-Accounting-createManualJournalAttachmentByFileName-0" data-group="User" data-name="createManualJournalAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createManualJournalAttachmentByFileName</h1> <p>Creates a specific attachment for a specific manual journal by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/ManualJournals/{ManualJournalID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createManualJournalAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createManualJournalAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createManualJournalAttachmentByFileName($xeroTenantId, $manualJournalID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createManualJournalAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_createManualJournalAttachmentByFileName_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createManualJournalAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createManualJournalAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createManualJournalHistoryRecord"> <article id="api-Accounting-createManualJournalHistoryRecord-0" data-group="User" data-name="createManualJournalHistoryRecord" data-version="0"> <div class="pull-left"> <h1>createManualJournalHistoryRecord</h1> <p>Creates a history record for a specific manual journal</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/ManualJournals/{ManualJournalID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createManualJournalHistoryRecord-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createManualJournalHistoryRecord-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createManualJournalHistoryRecord($xeroTenantId, $manualJournalID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createManualJournalHistoryRecord: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_createManualJournalHistoryRecord_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createManualJournalHistoryRecord_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createManualJournals"> <article id="api-Accounting-createManualJournals-0" data-group="User" data-name="createManualJournals" data-version="0"> <div class="pull-left"> <h1>createManualJournals</h1> <p>Creates one or more manual journals</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/ManualJournals</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createManualJournals-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createManualJournals-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $dateValue = new DateTime('2019-10-10'); $manualJournalLines = []; $credit = new XeroAPI\XeroPHP\Models\Accounting\ManualJournalLine; $credit->setLineAmount(100.0); $credit->setAccountCode('400'); $credit->setDescription('Hello there'); array_push($manualJournalLines, $credit); $debit = new XeroAPI\XeroPHP\Models\Accounting\ManualJournalLine; $debit->setLineAmount(-100.0); $debit->setAccountCode('120'); $debit->setDescription('Hello there'); array_push($manualJournalLines, $debit); $manualJournal = new XeroAPI\XeroPHP\Models\Accounting\ManualJournal; $manualJournal->setNarration('Foobar'); $manualJournal->setDate($dateValue); $manualJournal->setJournalLines($manualJournalLines); $manualJournals = new XeroAPI\XeroPHP\Models\Accounting\ManualJournals; $arr_manual_journals = []; array_push($arr_manual_journals, $manualJournal); $manualJournals->setManualJournals($arr_manual_journals); try { $result = $apiInstance->createManualJournals($xeroTenantId, $manualJournals, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createManualJournals: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createManualJournals_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">manualJournals <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> ManualJournals </span> <div class="inner description marked"> ManualJournals array with ManualJournal object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "ManualJournals array with ManualJournal object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ManualJournals" }, "example" : "{ \"ManualJournals\": [ { \"Narration\": \"Journal Desc\", \"JournalLines\": [ { \"LineAmount\": 100, \"AccountCode\": \"400\", \"Description\": \"Money Movement\" }, { \"LineAmount\": -100, \"AccountCode\": \"400\", \"Description\": \"Prepayment of things\", \"Tracking\": [ { \"Name\": \"North\", \"Option\": \"Region\" } ] } ], \"Date\": \"2019-03-14\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createManualJournals_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createOverpaymentAllocations"> <article id="api-Accounting-createOverpaymentAllocations-0" data-group="User" data-name="createOverpaymentAllocations" data-version="0"> <div class="pull-left"> <h1>createOverpaymentAllocations</h1> <p>Creates a single allocation for a specific overpayment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Overpayments/{OverpaymentID}/Allocations</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createOverpaymentAllocations-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createOverpaymentAllocations-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $overpaymentID = "00000000-0000-0000-0000-000000000000"; $summarizeErrors = true; $currDate = new DateTime('2020-12-10'); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setInvoiceID('00000000-0000-0000-0000-000000000000'); $allocation = new XeroAPI\XeroPHP\Models\Accounting\Allocation; $allocation->setAmount(1.0); $allocation->setDate($currDate); $allocation->setInvoice($invoice); $allocations = new XeroAPI\XeroPHP\Models\Accounting\Allocations; $arr_allocations = []; array_push($arr_allocations, $allocation); $allocations->setAllocations($arr_allocations); try { $result = $apiInstance->createOverpaymentAllocations($xeroTenantId, $overpaymentID, $allocations, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createOverpaymentAllocations: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">OverpaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_createOverpaymentAllocations_overpaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Overpayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createOverpaymentAllocations_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">allocations <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Allocations </span> <div class="inner description marked"> Allocations array with Allocation object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Allocations array with Allocation object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Allocations" }, "example" : "{ \"Allocations\": [ { \"Invoice\": { \"InvoiceID\": \"00000000-0000-0000-0000-000000000000\", \"LineItems\": [], \"Contact\": {}, \"Type\": \"ACCPAY\" }, \"Amount\": 10.00, \"Date\": \"2019-03-12\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createOverpaymentAllocations_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createOverpaymentHistory"> <article id="api-Accounting-createOverpaymentHistory-0" data-group="User" data-name="createOverpaymentHistory" data-version="0"> <div class="pull-left"> <h1>createOverpaymentHistory</h1> <p>Creates a history record for a specific overpayment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Overpayments/{OverpaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createOverpaymentHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createOverpaymentHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $overpaymentID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createOverpaymentHistory($xeroTenantId, $overpaymentID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createOverpaymentHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">OverpaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_createOverpaymentHistory_overpaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Overpayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createOverpaymentHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createPayment"> <article id="api-Accounting-createPayment-0" data-group="User" data-name="createPayment" data-version="0"> <div class="pull-left"> <h1>createPayment</h1> <p>Creates a single payment for invoice or credit notes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Payments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPayment-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPayment-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $dateValue = new DateTime('2020-10-10'); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setInvoiceID('00000000-0000-0000-0000-000000000000'); $account = new XeroAPI\XeroPHP\Models\Accounting\Account; $account->setAccountID('00000000-0000-0000-0000-000000000000'); $payment = new XeroAPI\XeroPHP\Models\Accounting\Payment; $payment->setInvoice($invoice); $payment->setAccount($account); $payment->setAmount(1.0); $payment->setDate($dateValue); $payments = new XeroAPI\XeroPHP\Models\Accounting\Payments; $arr_payments = []; array_push($arr_payments, $payment); $payments->setPayments($arr_payments); try { $result = $apiInstance->createPayment($xeroTenantId, $payment); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPayment: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPayment_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">payment <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Payment </span> <div class="inner description marked"> Request body with a single Payment object </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Request body with a single Payment object", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Payment" }, "example" : "{ \"Payments\": [ { \"Invoice\": { \"LineItems\": [], \"InvoiceID\": \"00000000-0000-0000-0000-000000000000\" }, \"Account\": { \"Code\": \"970\" }, \"Date\": \"2019-03-12\", \"Amount\": 1 } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createPaymentHistory"> <article id="api-Accounting-createPaymentHistory-0" data-group="User" data-name="createPaymentHistory" data-version="0"> <div class="pull-left"> <h1>createPaymentHistory</h1> <p>Creates a history record for a specific payment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Payments/{PaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPaymentHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPaymentHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $paymentID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createPaymentHistory($xeroTenantId, $paymentID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPaymentHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_createPaymentHistory_paymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Payment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPaymentHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createPaymentService"> <article id="api-Accounting-createPaymentService-0" data-group="User" data-name="createPaymentService" data-version="0"> <div class="pull-left"> <h1>createPaymentService</h1> <p>Creates a payment service</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/PaymentServices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPaymentService-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPaymentService-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $paymentService = new XeroAPI\XeroPHP\Models\Accounting\PaymentService; $paymentService->setPaymentServiceName('ACME Payments'); $paymentService->setPaymentServiceUrl('https://www.payupnow.com/'); $paymentService->setPayNowText('Pay Now'); $paymentServices = new XeroAPI\XeroPHP\Models\Accounting\PaymentServices; $arr_paymentServices = []; array_push($arr_paymentServices, $paymentService); $paymentServices->setPaymentServices($arr_paymentServices); try { $result = $apiInstance->createPaymentService($xeroTenantId, $paymentServices); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPaymentService: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>paymentservices</td> <td>Grant read-write access to payment services</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPaymentService_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">paymentServices <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> PaymentServices </span> <div class="inner description marked"> PaymentServices array with PaymentService object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "PaymentServices array with PaymentService object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentServices" }, "example" : "{ \"PaymentServices\": [ { \"PaymentServiceName\": \"PayUpNow\", \"PaymentServiceUrl\": \"https://www.payupnow.com/\", \"PayNowText\": \"Time To Pay\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createPayments"> <article id="api-Accounting-createPayments-0" data-group="User" data-name="createPayments" data-version="0"> <div class="pull-left"> <h1>createPayments</h1> <p>Creates multiple payments for invoices or credit notes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Payments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPayments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPayments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $dateValue = new DateTime('2020-10-10'); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setInvoiceID('00000000-0000-0000-0000-000000000000'); $account = new XeroAPI\XeroPHP\Models\Accounting\Account; $account->setAccountID('00000000-0000-0000-0000-000000000000'); $payment = new XeroAPI\XeroPHP\Models\Accounting\Payment; $payment->setInvoice($invoice); $payment->setAccount($account); $payment->setAmount(1.0); $payment->setDate($dateValue); $payments = new XeroAPI\XeroPHP\Models\Accounting\Payments; $arr_payments = []; array_push($arr_payments, $payment); $payments->setPayments($arr_payments); try { $result = $apiInstance->createPayments($xeroTenantId, $payments, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPayments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPayments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">payments <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Payments </span> <div class="inner description marked"> Payments array with Payment object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Payments array with Payment object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Payments" }, "example" : "{ \"Payments\": [ { \"Invoice\": { \"LineItems\": [], \"InvoiceID\": \"00000000-0000-0000-0000-000000000000\" }, \"Account\": { \"Code\": \"970\" }, \"Date\": \"2019-03-12\", \"Amount\": 1 } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createPayments_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createPrepaymentAllocations"> <article id="api-Accounting-createPrepaymentAllocations-0" data-group="User" data-name="createPrepaymentAllocations" data-version="0"> <div class="pull-left"> <h1>createPrepaymentAllocations</h1> <p>Allows you to create an Allocation for prepayments</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Prepayments/{PrepaymentID}/Allocations</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPrepaymentAllocations-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPrepaymentAllocations-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $prepaymentID = "00000000-0000-0000-0000-000000000000"; $summarizeErrors = true; $currDate = new DateTime('2020-12-10'); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setInvoiceID('00000000-0000-0000-0000-000000000000'); $allocation = new XeroAPI\XeroPHP\Models\Accounting\Allocation; $allocation->setInvoice($invoice); $allocation->setAmount(1.0); $allocation->setDate($currDate); $allocations = new XeroAPI\XeroPHP\Models\Accounting\Allocations; $arr_allocations = []; array_push($arr_allocations, $allocation); $allocations->setAllocations($arr_allocations); try { $result = $apiInstance->createPrepaymentAllocations($xeroTenantId, $prepaymentID, $allocations, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPrepaymentAllocations: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PrepaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_createPrepaymentAllocations_prepaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a PrePayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPrepaymentAllocations_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">allocations <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Allocations </span> <div class="inner description marked"> Allocations with an array of Allocation object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Allocations with an array of Allocation object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Allocations" }, "example" : "{ \"Allocations\": [ { \"Invoice\": { \"LineItems\": [], \"InvoiceID\": \"00000000-0000-0000-0000-000000000000\" }, \"Amount\": 1, \"Date\": \"2019-01-10\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createPrepaymentAllocations_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createPrepaymentHistory"> <article id="api-Accounting-createPrepaymentHistory-0" data-group="User" data-name="createPrepaymentHistory" data-version="0"> <div class="pull-left"> <h1>createPrepaymentHistory</h1> <p>Creates a history record for a specific prepayment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Prepayments/{PrepaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPrepaymentHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPrepaymentHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $prepaymentID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createPrepaymentHistory($xeroTenantId, $prepaymentID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPrepaymentHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PrepaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_createPrepaymentHistory_prepaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a PrePayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPrepaymentHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createPurchaseOrderAttachmentByFileName"> <article id="api-Accounting-createPurchaseOrderAttachmentByFileName-0" data-group="User" data-name="createPurchaseOrderAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createPurchaseOrderAttachmentByFileName</h1> <p>Creates attachment for a specific purchase order</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPurchaseOrderAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPurchaseOrderAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createPurchaseOrderAttachmentByFileName($xeroTenantId, $purchaseOrderID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPurchaseOrderAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_createPurchaseOrderAttachmentByFileName_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createPurchaseOrderAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPurchaseOrderAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createPurchaseOrderHistory"> <article id="api-Accounting-createPurchaseOrderHistory-0" data-group="User" data-name="createPurchaseOrderHistory" data-version="0"> <div class="pull-left"> <h1>createPurchaseOrderHistory</h1> <p>Creates a history record for a specific purchase orders</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPurchaseOrderHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPurchaseOrderHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createPurchaseOrderHistory($xeroTenantId, $purchaseOrderID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPurchaseOrderHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_createPurchaseOrderHistory_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPurchaseOrderHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createPurchaseOrders"> <article id="api-Accounting-createPurchaseOrders-0" data-group="User" data-name="createPurchaseOrders" data-version="0"> <div class="pull-left"> <h1>createPurchaseOrders</h1> <p>Creates one or more purchase orders</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/PurchaseOrders</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createPurchaseOrders-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createPurchaseOrders-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $dateValue = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $purchaseOrder = new XeroAPI\XeroPHP\Models\Accounting\PurchaseOrder; $purchaseOrder->setContact($contact); $purchaseOrder->setLineItems($lineItems); $purchaseOrder->setDate($dateValue); $purchaseOrders = new XeroAPI\XeroPHP\Models\Accounting\PurchaseOrders; $arr_purchase_orders = []; array_push($arr_purchase_orders, $purchaseOrder); $purchaseOrders->setPurchaseOrders($arr_purchase_orders); try { $result = $apiInstance->createPurchaseOrders($xeroTenantId, $purchaseOrders, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createPurchaseOrders: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createPurchaseOrders_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">purchaseOrders <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> PurchaseOrders </span> <div class="inner description marked"> PurchaseOrders with an array of PurchaseOrder object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "PurchaseOrders with an array of PurchaseOrder object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PurchaseOrders" }, "example" : "{ \"PurchaseOrders\": [ { \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\" }, \"LineItems\": [ { \"Description\": \"Foobar\", \"Quantity\": 1, \"UnitAmount\": 20, \"AccountCode\": \"710\" } ], \"Date\": \"2019-03-13\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createPurchaseOrders_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createQuoteAttachmentByFileName"> <article id="api-Accounting-createQuoteAttachmentByFileName-0" data-group="User" data-name="createQuoteAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createQuoteAttachmentByFileName</h1> <p>Creates attachment for a specific quote</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Quotes/{QuoteID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createQuoteAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createQuoteAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createQuoteAttachmentByFileName($xeroTenantId, $quoteID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createQuoteAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_createQuoteAttachmentByFileName_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createQuoteAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createQuoteAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createQuoteHistory"> <article id="api-Accounting-createQuoteHistory-0" data-group="User" data-name="createQuoteHistory" data-version="0"> <div class="pull-left"> <h1>createQuoteHistory</h1> <p>Creates a history record for a specific quote</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Quotes/{QuoteID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createQuoteHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createQuoteHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createQuoteHistory($xeroTenantId, $quoteID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createQuoteHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_createQuoteHistory_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createQuoteHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createQuotes"> <article id="api-Accounting-createQuotes-0" data-group="User" data-name="createQuotes" data-version="0"> <div class="pull-left"> <h1>createQuotes</h1> <p>Create one or more quotes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Quotes</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createQuotes-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createQuotes-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $dateValue = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $quote = new XeroAPI\XeroPHP\Models\Accounting\Quote; $quote->setContact($contact); $quote->setLineItems($lineItems); $quote->setDate($dateValue); $quotes = new XeroAPI\XeroPHP\Models\Accounting\Quotes; $arr_quotes = []; array_push($arr_quotes, $quote); $quotes->setQuotes($arr_quotes); try { $result = $apiInstance->createQuotes($xeroTenantId, $quotes, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createQuotes: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createQuotes_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">quotes <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Quotes </span> <div class="inner description marked"> Quotes with an array of Quote object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Quotes with an array of Quote object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Quotes" }, "example" : "{ \"Quotes\": [ { \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\" }, \"LineItems\": [ { \"Description\": \"Foobar\", \"Quantity\": 1, \"UnitAmount\": 20, \"AccountCode\": \"12775\" } ], \"Date\": \"2020-02-01\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_createQuotes_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createReceipt"> <article id="api-Accounting-createReceipt-0" data-group="User" data-name="createReceipt" data-version="0"> <div class="pull-left"> <h1>createReceipt</h1> <p>Creates draft expense claim receipts for any user</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Receipts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createReceipt-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createReceipt-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $unitdp = 4; $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $user = new XeroAPI\XeroPHP\Models\Accounting\User; $user->setUserID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $receipt = new XeroAPI\XeroPHP\Models\Accounting\Receipt; $receipt->setContact($contact); $receipt->setUser($user); $receipt->setLineItems($lineItems); $receipt->setLineAmountTypes(XeroAPI\XeroPHP\Models\Accounting\LineAmountTypes::INCLUSIVE); $receipt->setStatus(XeroAPI\XeroPHP\Models\Accounting\Receipt::STATUS_DRAFT); $receipts = new XeroAPI\XeroPHP\Models\Accounting\Receipts; $arr_receipts = []; array_push($arr_receipts, $receipt); $receipts->setReceipts($arr_receipts); try { $result = $apiInstance->createReceipt($xeroTenantId, $receipts, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createReceipt: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createReceipt_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">receipts <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Receipts </span> <div class="inner description marked"> Receipts with an array of Receipt object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Receipts with an array of Receipt object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Receipts" }, "example" : "{ \"Receipts\": [ { \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\" }, \"Lineitems\": [ { \"Description\": \"Foobar\", \"Quantity\": 2, \"UnitAmount\": 20, \"AccountCode\": \"400\", \"TaxType\": \"NONE\", \"LineAmount\": 40 } ], \"User\": { \"UserID\": \"00000000-0000-0000-0000-000000000000\" }, \"LineAmountTypes\": \"NoTax\", \"Status\": \"DRAFT\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_createReceipt_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-createReceiptAttachmentByFileName"> <article id="api-Accounting-createReceiptAttachmentByFileName-0" data-group="User" data-name="createReceiptAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createReceiptAttachmentByFileName</h1> <p>Creates an attachment on a specific expense claim receipts by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Receipts/{ReceiptID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createReceiptAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createReceiptAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createReceiptAttachmentByFileName($xeroTenantId, $receiptID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createReceiptAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_createReceiptAttachmentByFileName_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createReceiptAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createReceiptAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createReceiptHistory"> <article id="api-Accounting-createReceiptHistory-0" data-group="User" data-name="createReceiptHistory" data-version="0"> <div class="pull-left"> <h1>createReceiptHistory</h1> <p>Creates a history record for a specific receipt</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/Receipts/{ReceiptID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createReceiptHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createReceiptHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createReceiptHistory($xeroTenantId, $receiptID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createReceiptHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_createReceiptHistory_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createReceiptHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createRepeatingInvoiceAttachmentByFileName"> <article id="api-Accounting-createRepeatingInvoiceAttachmentByFileName-0" data-group="User" data-name="createRepeatingInvoiceAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>createRepeatingInvoiceAttachmentByFileName</h1> <p>Creates an attachment from a specific repeating invoices by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createRepeatingInvoiceAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createRepeatingInvoiceAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->createRepeatingInvoiceAttachmentByFileName($xeroTenantId, $repeatingInvoiceID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createRepeatingInvoiceAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_createRepeatingInvoiceAttachmentByFileName_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_createRepeatingInvoiceAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createRepeatingInvoiceAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createRepeatingInvoiceHistory"> <article id="api-Accounting-createRepeatingInvoiceHistory-0" data-group="User" data-name="createRepeatingInvoiceHistory" data-version="0"> <div class="pull-left"> <h1>createRepeatingInvoiceHistory</h1> <p>Creates a history record for a specific repeating invoice</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createRepeatingInvoiceHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createRepeatingInvoiceHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; $historyRecord = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecord; $historyRecord->setDetails('Hello World'); $historyRecords = new XeroAPI\XeroPHP\Models\Accounting\HistoryRecords; $arr_history_records = []; array_push($arr_history_records, $historyRecord); $historyRecords->setHistoryRecords($arr_history_records); try { $result = $apiInstance->createRepeatingInvoiceHistory($xeroTenantId, $repeatingInvoiceID, $historyRecords); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createRepeatingInvoiceHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_createRepeatingInvoiceHistory_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createRepeatingInvoiceHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">historyRecords <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> HistoryRecords </span> <div class="inner description marked"> HistoryRecords containing an array of HistoryRecord objects in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "HistoryRecords containing an array of HistoryRecord objects in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HistoryRecords" }, "example" : "{ \"HistoryRecords\": [ { \"Details\": \"Hello World\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createTaxRates"> <article id="api-Accounting-createTaxRates-0" data-group="User" data-name="createTaxRates" data-version="0"> <div class="pull-left"> <h1>createTaxRates</h1> <p>Creates one or more tax rates</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/TaxRates</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createTaxRates-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createTaxRates-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $taxComponent = new XeroAPI\XeroPHP\Models\Accounting\TaxComponent; $taxComponent->setName('State Tax'); $taxComponent->setRate(2.25); $taxComponent = []; array_push($taxComponents, $taxComponent); $taxRate = new XeroAPI\XeroPHP\Models\Accounting\TaxRate; $taxRate->setName('CA State Tax'); $taxRate->setTaxComponents($taxComponents); $taxRates = new XeroAPI\XeroPHP\Models\Accounting\TaxRates; $arr_tax_rates = []; array_push($arr_tax_rates, $taxRate); $taxRates->setTaxRates($arr_tax_rates); try { $result = $apiInstance->createTaxRates($xeroTenantId, $taxRates); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createTaxRates: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createTaxRates_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">taxRates <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> TaxRates </span> <div class="inner description marked"> TaxRates array with TaxRate object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "TaxRates array with TaxRate object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TaxRates" }, "example" : "{ \"TaxRates\": [ { \"Name\": \"CA State Tax\", \"TaxComponents\": [ { \"Name\": \"State Tax\", \"Rate\": 2.25 } ] } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createTrackingCategory"> <article id="api-Accounting-createTrackingCategory-0" data-group="User" data-name="createTrackingCategory" data-version="0"> <div class="pull-left"> <h1>createTrackingCategory</h1> <p>Create tracking categories</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/TrackingCategories</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createTrackingCategory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createTrackingCategory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $trackingCategory = new XeroAPI\XeroPHP\Models\Accounting\TrackingCategory; $trackingCategory->setName('Foobar'); try { $result = $apiInstance->createTrackingCategory($xeroTenantId, $trackingCategory); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createTrackingCategory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createTrackingCategory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">trackingCategory <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> TrackingCategory </span> <div class="inner description marked"> TrackingCategory object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "TrackingCategory object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TrackingCategory" }, "example" : "{ name: \"FooBar\" }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-createTrackingOptions"> <article id="api-Accounting-createTrackingOptions-0" data-group="User" data-name="createTrackingOptions" data-version="0"> <div class="pull-left"> <h1>createTrackingOptions</h1> <p>Creates options for a specific tracking category</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/TrackingCategories/{TrackingCategoryID}/Options</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-createTrackingOptions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-createTrackingOptions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $trackingCategoryID = "00000000-0000-0000-0000-000000000000"; $trackingOption = new XeroAPI\XeroPHP\Models\Accounting\TrackingOption; $trackingOption->setName('Foobar'); try { $result = $apiInstance->createTrackingOptions($xeroTenantId, $trackingCategoryID, $trackingOption); } catch (Exception $e) { echo 'Exception when calling AccountingApi->createTrackingOptions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">TrackingCategoryID<span style="color:red;">*</span></td> <td> <div id="d2e199_createTrackingOptions_trackingCategoryID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a TrackingCategory </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_createTrackingOptions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">trackingOption <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> TrackingOption </span> <div class="inner description marked"> TrackingOption object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "TrackingOption object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TrackingOption" }, "example" : "{ name: \" Bar\" }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-deleteAccount"> <article id="api-Accounting-deleteAccount-0" data-group="User" data-name="deleteAccount" data-version="0"> <div class="pull-left"> <h1>deleteAccount</h1> <p>Deletes a chart of accounts</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/Accounts/{AccountID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deleteAccount-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deleteAccount-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->deleteAccount($xeroTenantId, $accountID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deleteAccount: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteAccount_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteAccount_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-deleteContactGroupContact"> <article id="api-Accounting-deleteContactGroupContact-0" data-group="User" data-name="deleteContactGroupContact" data-version="0"> <div class="pull-left"> <h1>deleteContactGroupContact</h1> <p>Deletes a specific contact from a contact group using a unique contact Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/ContactGroups/{ContactGroupID}/Contacts/{ContactID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deleteContactGroupContact-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deleteContactGroupContact-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactGroupID = "00000000-0000-0000-0000-000000000000"; $contactID = "00000000-0000-0000-0000-000000000000"; try { $apiInstance->deleteContactGroupContact($xeroTenantId, $contactGroupID, $contactID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deleteContactGroupContact: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactGroupID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteContactGroupContact_contactGroupID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact Group </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteContactGroupContact_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteContactGroupContact_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-deleteContactGroupContacts"> <article id="api-Accounting-deleteContactGroupContacts-0" data-group="User" data-name="deleteContactGroupContacts" data-version="0"> <div class="pull-left"> <h1>deleteContactGroupContacts</h1> <p>Deletes all contacts from a specific contact group</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/ContactGroups/{ContactGroupID}/Contacts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deleteContactGroupContacts-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deleteContactGroupContacts-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactGroupID = "00000000-0000-0000-0000-000000000000"; try { $apiInstance->deleteContactGroupContacts($xeroTenantId, $contactGroupID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deleteContactGroupContacts: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactGroupID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteContactGroupContacts_contactGroupID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact Group </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteContactGroupContacts_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-deleteItem"> <article id="api-Accounting-deleteItem-0" data-group="User" data-name="deleteItem" data-version="0"> <div class="pull-left"> <h1>deleteItem</h1> <p>Deletes a specific item</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/Items/{ItemID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deleteItem-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deleteItem-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $itemID = "00000000-0000-0000-0000-000000000000"; try { $apiInstance->deleteItem($xeroTenantId, $itemID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deleteItem: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ItemID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteItem_itemID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Item </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteItem_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-deleteLinkedTransaction"> <article id="api-Accounting-deleteLinkedTransaction-0" data-group="User" data-name="deleteLinkedTransaction" data-version="0"> <div class="pull-left"> <h1>deleteLinkedTransaction</h1> <p>Deletes a specific linked transactions (billable expenses)</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/LinkedTransactions/{LinkedTransactionID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deleteLinkedTransaction-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deleteLinkedTransaction-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $linkedTransactionID = "00000000-0000-0000-0000-000000000000"; try { $apiInstance->deleteLinkedTransaction($xeroTenantId, $linkedTransactionID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deleteLinkedTransaction: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">LinkedTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteLinkedTransaction_linkedTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a LinkedTransaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteLinkedTransaction_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-deletePayment"> <article id="api-Accounting-deletePayment-0" data-group="User" data-name="deletePayment" data-version="0"> <div class="pull-left"> <h1>deletePayment</h1> <p>Updates a specific payment for invoices and credit notes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Payments/{PaymentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deletePayment-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deletePayment-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $paymentID = "00000000-0000-0000-0000-000000000000"; $paymentDelete = new XeroAPI\XeroPHP\Models\Accounting\PaymentDelete; $paymentDelete->setStatus('DELETED'); try { $result = $apiInstance->deletePayment($xeroTenantId, $paymentID, $paymentDelete); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deletePayment: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_deletePayment_paymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Payment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deletePayment_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">paymentDelete <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> PaymentDelete </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentDelete" }, "example" : "{ \"Payments\":[ { \"Status\":\"DELETED\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-deleteTrackingCategory"> <article id="api-Accounting-deleteTrackingCategory-0" data-group="User" data-name="deleteTrackingCategory" data-version="0"> <div class="pull-left"> <h1>deleteTrackingCategory</h1> <p>Deletes a specific tracking category</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/TrackingCategories/{TrackingCategoryID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deleteTrackingCategory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deleteTrackingCategory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $trackingCategoryID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->deleteTrackingCategory($xeroTenantId, $trackingCategoryID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deleteTrackingCategory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">TrackingCategoryID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteTrackingCategory_trackingCategoryID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a TrackingCategory </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteTrackingCategory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-deleteTrackingOptions"> <article id="api-Accounting-deleteTrackingOptions-0" data-group="User" data-name="deleteTrackingOptions" data-version="0"> <div class="pull-left"> <h1>deleteTrackingOptions</h1> <p>Deletes a specific option for a specific tracking category</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-deleteTrackingOptions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-deleteTrackingOptions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $trackingCategoryID = "00000000-0000-0000-0000-000000000000"; $trackingOptionID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->deleteTrackingOptions($xeroTenantId, $trackingCategoryID, $trackingOptionID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->deleteTrackingOptions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">TrackingCategoryID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteTrackingOptions_trackingCategoryID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a TrackingCategory </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">TrackingOptionID<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteTrackingOptions_trackingOptionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Tracking Option </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_deleteTrackingOptions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-emailInvoice"> <article id="api-Accounting-emailInvoice-0" data-group="User" data-name="emailInvoice" data-version="0"> <div class="pull-left"> <h1>emailInvoice</h1> <p>Sends a copy of a specific invoice to related contact via email</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Invoices/{InvoiceID}/Email</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-emailInvoice-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-emailInvoice-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $requestEmpty = new XeroAPI\XeroPHP\Models\Accounting\RequestEmpty; try { $apiInstance->emailInvoice($xeroTenantId, $invoiceID, $requestEmpty); } catch (Exception $e) { echo 'Exception when calling AccountingApi->emailInvoice: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_emailInvoice_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_emailInvoice_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">requestEmpty <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> RequestEmpty </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RequestEmpty" }, "example" : "{}" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-getAccount"> <article id="api-Accounting-getAccount-0" data-group="User" data-name="getAccount" data-version="0"> <div class="pull-left"> <h1>getAccount</h1> <p>Retrieves a single chart of accounts by using a unique account Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Accounts/{AccountID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getAccount-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getAccount-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getAccount($xeroTenantId, $accountID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getAccount: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccount_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccount_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getAccountAttachmentByFileName"> <article id="api-Accounting-getAccountAttachmentByFileName-0" data-group="User" data-name="getAccountAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getAccountAttachmentByFileName</h1> <p>Retrieves an attachment for a specific account by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Accounts/{AccountID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getAccountAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getAccountAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getAccountAttachmentByFileName($xeroTenantId, $accountID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getAccountAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentByFileName_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getAccountAttachmentById"> <article id="api-Accounting-getAccountAttachmentById-0" data-group="User" data-name="getAccountAttachmentById" data-version="0"> <div class="pull-left"> <h1>getAccountAttachmentById</h1> <p>Retrieves a specific attachment from a specific account using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Accounts/{AccountID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getAccountAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getAccountAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getAccountAttachmentById($xeroTenantId, $accountID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getAccountAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentById_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getAccountAttachments"> <article id="api-Accounting-getAccountAttachments-0" data-group="User" data-name="getAccountAttachments" data-version="0"> <div class="pull-left"> <h1>getAccountAttachments</h1> <p>Retrieves attachments for a specific accounts by using a unique account Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Accounts/{AccountID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getAccountAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getAccountAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getAccountAttachments($xeroTenantId, $accountID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getAccountAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachments_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccountAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getAccounts"> <article id="api-Accounting-getAccounts-0" data-group="User" data-name="getAccounts" data-version="0"> <div class="pull-left"> <h1>getAccounts</h1> <p>Retrieves the full chart of accounts</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Accounts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getAccounts-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getAccounts-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\Account::STATUS_ACTIVE . '""; $order = "Name ASC"; try { $result = $apiInstance->getAccounts($xeroTenantId, $ifModifiedSince, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getAccounts: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getAccounts_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getAccounts_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getAccounts_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getAccounts_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransaction"> <article id="api-Accounting-getBankTransaction-0" data-group="User" data-name="getBankTransaction" data-version="0"> <div class="pull-left"> <h1>getBankTransaction</h1> <p>Retrieves a single spent or received money transaction by using a unique bank transaction Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransactions/{BankTransactionID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransaction-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransaction-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; try { $result = $apiInstance->getBankTransaction($xeroTenantId, $bankTransactionID, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransaction: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransaction_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransaction_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getBankTransaction_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransactionAttachmentByFileName"> <article id="api-Accounting-getBankTransactionAttachmentByFileName-0" data-group="User" data-name="getBankTransactionAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getBankTransactionAttachmentByFileName</h1> <p>Retrieves a specific attachment from a specific bank transaction by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransactions/{BankTransactionID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransactionAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransactionAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getBankTransactionAttachmentByFileName($xeroTenantId, $bankTransactionID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransactionAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentByFileName_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransactionAttachmentById"> <article id="api-Accounting-getBankTransactionAttachmentById-0" data-group="User" data-name="getBankTransactionAttachmentById" data-version="0"> <div class="pull-left"> <h1>getBankTransactionAttachmentById</h1> <p>Retrieves specific attachments from a specific BankTransaction using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransactions/{BankTransactionID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransactionAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransactionAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getBankTransactionAttachmentById($xeroTenantId, $bankTransactionID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransactionAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentById_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransactionAttachments"> <article id="api-Accounting-getBankTransactionAttachments-0" data-group="User" data-name="getBankTransactionAttachments" data-version="0"> <div class="pull-left"> <h1>getBankTransactionAttachments</h1> <p>Retrieves any attachments from a specific bank transactions</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransactions/{BankTransactionID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransactionAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransactionAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBankTransactionAttachments($xeroTenantId, $bankTransactionID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransactionAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachments_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransactions"> <article id="api-Accounting-getBankTransactions-0" data-group="User" data-name="getBankTransactions" data-version="0"> <div class="pull-left"> <h1>getBankTransactions</h1> <p>Retrieves any spent or received money transactions</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransactions</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransactions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransactions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . XeroAPI\XeroPHP\Models\Accounting\BankTransaction::STATUS_AUTHORISED . '""; $order = "Type ASC"; $page = 1; $unitdp = 4; try { $result = $apiInstance->getBankTransactions($xeroTenantId, $ifModifiedSince, $where, $order, $page, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransactions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getBankTransactions_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getBankTransactions_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getBankTransactions_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getBankTransactions_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> Up to 100 bank transactions will be returned in a single API call with line items details </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getBankTransactions_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransactionsHistory"> <article id="api-Accounting-getBankTransactionsHistory-0" data-group="User" data-name="getBankTransactionsHistory" data-version="0"> <div class="pull-left"> <h1>getBankTransactionsHistory</h1> <p>Retrieves history from a specific bank transaction using a unique bank transaction Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransactions/{BankTransactionID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransactionsHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransactionsHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBankTransactionsHistory($xeroTenantId, $bankTransactionID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransactionsHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionsHistory_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransactionsHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransfer"> <article id="api-Accounting-getBankTransfer-0" data-group="User" data-name="getBankTransfer" data-version="0"> <div class="pull-left"> <h1>getBankTransfer</h1> <p>Retrieves specific bank transfers by using a unique bank transfer Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransfers/{BankTransferID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransfer-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransfer-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBankTransfer($xeroTenantId, $bankTransferID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransfer: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransfer_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransfer_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransferAttachmentByFileName"> <article id="api-Accounting-getBankTransferAttachmentByFileName-0" data-group="User" data-name="getBankTransferAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getBankTransferAttachmentByFileName</h1> <p>Retrieves a specific attachment on a specific bank transfer by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransfers/{BankTransferID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransferAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransferAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getBankTransferAttachmentByFileName($xeroTenantId, $bankTransferID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransferAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentByFileName_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransferAttachmentById"> <article id="api-Accounting-getBankTransferAttachmentById-0" data-group="User" data-name="getBankTransferAttachmentById" data-version="0"> <div class="pull-left"> <h1>getBankTransferAttachmentById</h1> <p>Retrieves a specific attachment from a specific bank transfer using a unique attachment ID</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransfers/{BankTransferID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransferAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransferAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getBankTransferAttachmentById($xeroTenantId, $bankTransferID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransferAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentById_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransferAttachments"> <article id="api-Accounting-getBankTransferAttachments-0" data-group="User" data-name="getBankTransferAttachments" data-version="0"> <div class="pull-left"> <h1>getBankTransferAttachments</h1> <p>Retrieves attachments from a specific bank transfer</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransfers/{BankTransferID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransferAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransferAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBankTransferAttachments($xeroTenantId, $bankTransferID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransferAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachments_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransferHistory"> <article id="api-Accounting-getBankTransferHistory-0" data-group="User" data-name="getBankTransferHistory" data-version="0"> <div class="pull-left"> <h1>getBankTransferHistory</h1> <p>Retrieves history from a specific bank transfer using a unique bank transfer Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransfers/{BankTransferID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransferHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransferHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBankTransferHistory($xeroTenantId, $bankTransferID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransferHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferHistory_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransferHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBankTransfers"> <article id="api-Accounting-getBankTransfers-0" data-group="User" data-name="getBankTransfers" data-version="0"> <div class="pull-left"> <h1>getBankTransfers</h1> <p>Retrieves all bank transfers</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BankTransfers</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBankTransfers-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBankTransfers-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "HasAttachments==true"; $order = "Amount ASC"; try { $result = $apiInstance->getBankTransfers($xeroTenantId, $ifModifiedSince, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBankTransfers: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBankTransfers_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getBankTransfers_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getBankTransfers_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getBankTransfers_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBatchPaymentHistory"> <article id="api-Accounting-getBatchPaymentHistory-0" data-group="User" data-name="getBatchPaymentHistory" data-version="0"> <div class="pull-left"> <h1>getBatchPaymentHistory</h1> <p>Retrieves history from a specific batch payment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BatchPayments/{BatchPaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBatchPaymentHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBatchPaymentHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $batchPaymentID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBatchPaymentHistory($xeroTenantId, $batchPaymentID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBatchPaymentHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BatchPaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBatchPaymentHistory_batchPaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for BatchPayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBatchPaymentHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBatchPayments"> <article id="api-Accounting-getBatchPayments-0" data-group="User" data-name="getBatchPayments" data-version="0"> <div class="pull-left"> <h1>getBatchPayments</h1> <p>Retrieves either one or many batch payments for invoices</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BatchPayments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBatchPayments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBatchPayments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . XeroAPI\XeroPHP\Models\Accounting\BatchPayment::STATUS_AUTHORISED . '""; $order = "Date ASC"; try { $result = $apiInstance->getBatchPayments($xeroTenantId, $ifModifiedSince, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBatchPayments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBatchPayments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getBatchPayments_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getBatchPayments_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getBatchPayments_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBrandingTheme"> <article id="api-Accounting-getBrandingTheme-0" data-group="User" data-name="getBrandingTheme" data-version="0"> <div class="pull-left"> <h1>getBrandingTheme</h1> <p>Retrieves a specific branding theme using a unique branding theme Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BrandingThemes/{BrandingThemeID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBrandingTheme-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBrandingTheme-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $brandingThemeID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBrandingTheme($xeroTenantId, $brandingThemeID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBrandingTheme: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BrandingThemeID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBrandingTheme_brandingThemeID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Branding Theme </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBrandingTheme_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBrandingThemePaymentServices"> <article id="api-Accounting-getBrandingThemePaymentServices-0" data-group="User" data-name="getBrandingThemePaymentServices" data-version="0"> <div class="pull-left"> <h1>getBrandingThemePaymentServices</h1> <p>Retrieves the payment services for a specific branding theme</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BrandingThemes/{BrandingThemeID}/PaymentServices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBrandingThemePaymentServices-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBrandingThemePaymentServices-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $brandingThemeID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBrandingThemePaymentServices($xeroTenantId, $brandingThemeID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBrandingThemePaymentServices: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>paymentservices</td> <td>Grant read-write access to payment services</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BrandingThemeID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBrandingThemePaymentServices_brandingThemeID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Branding Theme </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBrandingThemePaymentServices_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBrandingThemes"> <article id="api-Accounting-getBrandingThemes-0" data-group="User" data-name="getBrandingThemes" data-version="0"> <div class="pull-left"> <h1>getBrandingThemes</h1> <p>Retrieves all the branding themes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/BrandingThemes</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBrandingThemes-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBrandingThemes-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; try { $result = $apiInstance->getBrandingThemes($xeroTenantId); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBrandingThemes: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBrandingThemes_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBudget"> <article id="api-Accounting-getBudget-0" data-group="User" data-name="getBudget" data-version="0"> <div class="pull-left"> <h1>getBudget</h1> <p>Retrieves a specific budgets, which includes budget lines</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Budgets/{BudgetID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBudget-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBudget-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $budgetID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getBudget($xeroTenantId, $budgetID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBudget: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.budgets.read</td> <td></td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BudgetID<span style="color:red;">*</span></td> <td> <div id="d2e199_getBudget_budgetID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Budgets </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBudget_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getBudgets"> <article id="api-Accounting-getBudgets-0" data-group="User" data-name="getBudgets" data-version="0"> <div class="pull-left"> <h1>getBudgets</h1> <p>Retrieve a list of budgets</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Budgets</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getBudgets-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getBudgets-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $iDs = array("00000000-0000-0000-0000-000000000000") $dateTo = new DateTime("2013-10-20"); $dateFrom = new DateTime("2013-10-20"); try { $result = $apiInstance->getBudgets($xeroTenantId, $iDs, $dateTo, $dateFrom); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getBudgets: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.budgets.read</td> <td></td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getBudgets_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">IDs</td> <td> <div id="d2e199_getBudgets_iDs"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> array[UUID] </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter by BudgetID. Allows you to retrieve a specific individual budget. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">DateTo</td> <td> <div id="d2e199_getBudgets_dateTo"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> Filter by start date </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">DateFrom</td> <td> <div id="d2e199_getBudgets_dateFrom"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> Filter by end date </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContact"> <article id="api-Accounting-getContact-0" data-group="User" data-name="getContact" data-version="0"> <div class="pull-left"> <h1>getContact</h1> <p>Retrieves a specific contacts in a Xero organisation using a unique contact Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts/{ContactID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContact-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContact-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getContact($xeroTenantId, $contactID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContact: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts.read</td> <td>Grant read-only access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContact_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContact_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactAttachmentByFileName"> <article id="api-Accounting-getContactAttachmentByFileName-0" data-group="User" data-name="getContactAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getContactAttachmentByFileName</h1> <p>Retrieves a specific attachment from a specific contact by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts/{ContactID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getContactAttachmentByFileName($xeroTenantId, $contactID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentByFileName_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactAttachmentById"> <article id="api-Accounting-getContactAttachmentById-0" data-group="User" data-name="getContactAttachmentById" data-version="0"> <div class="pull-left"> <h1>getContactAttachmentById</h1> <p>Retrieves a specific attachment from a specific contact using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts/{ContactID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getContactAttachmentById($xeroTenantId, $contactID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentById_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactAttachments"> <article id="api-Accounting-getContactAttachments-0" data-group="User" data-name="getContactAttachments" data-version="0"> <div class="pull-left"> <h1>getContactAttachments</h1> <p>Retrieves attachments for a specific contact in a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts/{ContactID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getContactAttachments($xeroTenantId, $contactID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachments_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactByContactNumber"> <article id="api-Accounting-getContactByContactNumber-0" data-group="User" data-name="getContactByContactNumber" data-version="0"> <div class="pull-left"> <h1>getContactByContactNumber</h1> <p>Retrieves a specific contact by contact number in a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts/{ContactNumber}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactByContactNumber-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactByContactNumber-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactNumber = "SB2"; try { $result = $apiInstance->getContactByContactNumber($xeroTenantId, $contactNumber); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactByContactNumber: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts.read</td> <td>Grant read-only access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactNumber<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactByContactNumber_contactNumber"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactByContactNumber_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactCISSettings"> <article id="api-Accounting-getContactCISSettings-0" data-group="User" data-name="getContactCISSettings" data-version="0"> <div class="pull-left"> <h1>getContactCISSettings</h1> <p>Retrieves CIS settings for a specific contact in a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts/{ContactID}/CISSettings</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactCISSettings-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactCISSettings-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getContactCISSettings($xeroTenantId, $contactID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactCISSettings: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts.read</td> <td>Grant read-only access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactCISSettings_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactCISSettings_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactGroup"> <article id="api-Accounting-getContactGroup-0" data-group="User" data-name="getContactGroup" data-version="0"> <div class="pull-left"> <h1>getContactGroup</h1> <p>Retrieves a specific contact group by using a unique contact group Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ContactGroups/{ContactGroupID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactGroup-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactGroup-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactGroupID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getContactGroup($xeroTenantId, $contactGroupID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactGroup: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts.read</td> <td>Grant read-only access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactGroupID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactGroup_contactGroupID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact Group </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactGroup_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactGroups"> <article id="api-Accounting-getContactGroups-0" data-group="User" data-name="getContactGroups" data-version="0"> <div class="pull-left"> <h1>getContactGroups</h1> <p>Retrieves the contact Id and name of all the contacts in a contact group</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ContactGroups</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactGroups-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactGroups-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\ContactGroup::STATUS_ACTIVE . '""; $order = "Name ASC"; try { $result = $apiInstance->getContactGroups($xeroTenantId, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactGroups: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts.read</td> <td>Grant read-only access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactGroups_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getContactGroups_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getContactGroups_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContactHistory"> <article id="api-Accounting-getContactHistory-0" data-group="User" data-name="getContactHistory" data-version="0"> <div class="pull-left"> <h1>getContactHistory</h1> <p>Retrieves history records for a specific contact</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts/{ContactID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContactHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContactHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getContactHistory($xeroTenantId, $contactID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContactHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts.read</td> <td>Grant read-only access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactHistory_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContactHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getContacts"> <article id="api-Accounting-getContacts-0" data-group="User" data-name="getContacts" data-version="0"> <div class="pull-left"> <h1>getContacts</h1> <p>Retrieves all contacts in a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Contacts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getContacts-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getContacts-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "ContactStatus=="' . \XeroAPI\XeroPHP\Models\Accounting\Contact::CONTACT_STATUS_ACTIVE . '""; $order = "Name ASC"; $iDs = array("00000000-0000-0000-0000-000000000000") $page = 1; $includeArchived = true; $summaryOnly = true; try { $result = $apiInstance->getContacts($xeroTenantId, $ifModifiedSince, $where, $order, $iDs, $page, $includeArchived, $summaryOnly); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getContacts: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts.read</td> <td>Grant read-only access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getContacts_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getContacts_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getContacts_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getContacts_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">IDs</td> <td> <div id="d2e199_getContacts_iDs"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> array[UUID] </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter by a comma separated list of ContactIDs. Allows you to retrieve a specific set of contacts in a single call. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getContacts_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. page=1 - Up to 100 contacts will be returned in a single API call. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">includeArchived</td> <td> <div id="d2e199_getContacts_includeArchived"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> e.g. includeArchived=true - Contacts with a status of ARCHIVED will be included in the response </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">summaryOnly</td> <td> <div id="d2e199_getContacts_summaryOnly"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Use summaryOnly=true in GET Contacts and Invoices endpoint to retrieve a smaller version of the response object. This returns only lightweight fields, excluding computation-heavy fields from the response, making the API calls quick and efficient. </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCreditNote"> <article id="api-Accounting-getCreditNote-0" data-group="User" data-name="getCreditNote" data-version="0"> <div class="pull-left"> <h1>getCreditNote</h1> <p>Retrieves a specific credit note using a unique credit note Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/CreditNotes/{CreditNoteID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCreditNote-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCreditNote-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; try { $result = $apiInstance->getCreditNote($xeroTenantId, $creditNoteID, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCreditNote: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNote_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNote_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getCreditNote_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCreditNoteAsPdf"> <article id="api-Accounting-getCreditNoteAsPdf-0" data-group="User" data-name="getCreditNoteAsPdf" data-version="0"> <div class="pull-left"> <h1>getCreditNoteAsPdf</h1> <p>Retrieves credit notes as PDF files</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/CreditNotes/{CreditNoteID}/pdf</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCreditNoteAsPdf-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCreditNoteAsPdf-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getCreditNoteAsPdf($xeroTenantId, $creditNoteID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCreditNoteAsPdf: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAsPdf_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAsPdf_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCreditNoteAttachmentByFileName"> <article id="api-Accounting-getCreditNoteAttachmentByFileName-0" data-group="User" data-name="getCreditNoteAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getCreditNoteAttachmentByFileName</h1> <p>Retrieves a specific attachment on a specific credit note by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/CreditNotes/{CreditNoteID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCreditNoteAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCreditNoteAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getCreditNoteAttachmentByFileName($xeroTenantId, $creditNoteID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCreditNoteAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentByFileName_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCreditNoteAttachmentById"> <article id="api-Accounting-getCreditNoteAttachmentById-0" data-group="User" data-name="getCreditNoteAttachmentById" data-version="0"> <div class="pull-left"> <h1>getCreditNoteAttachmentById</h1> <p>Retrieves a specific attachment from a specific credit note using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCreditNoteAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCreditNoteAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getCreditNoteAttachmentById($xeroTenantId, $creditNoteID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCreditNoteAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentById_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCreditNoteAttachments"> <article id="api-Accounting-getCreditNoteAttachments-0" data-group="User" data-name="getCreditNoteAttachments" data-version="0"> <div class="pull-left"> <h1>getCreditNoteAttachments</h1> <p>Retrieves attachments for a specific credit notes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/CreditNotes/{CreditNoteID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCreditNoteAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCreditNoteAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getCreditNoteAttachments($xeroTenantId, $creditNoteID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCreditNoteAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachments_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCreditNoteHistory"> <article id="api-Accounting-getCreditNoteHistory-0" data-group="User" data-name="getCreditNoteHistory" data-version="0"> <div class="pull-left"> <h1>getCreditNoteHistory</h1> <p>Retrieves history records of a specific credit note</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/CreditNotes/{CreditNoteID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCreditNoteHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCreditNoteHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getCreditNoteHistory($xeroTenantId, $creditNoteID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCreditNoteHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteHistory_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNoteHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCreditNotes"> <article id="api-Accounting-getCreditNotes-0" data-group="User" data-name="getCreditNotes" data-version="0"> <div class="pull-left"> <h1>getCreditNotes</h1> <p>Retrieves any credit notes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/CreditNotes</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCreditNotes-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCreditNotes-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\CreditNote::STATUS_DRAFT . '""; $order = "CreditNoteNumber ASC"; $page = 1; $unitdp = 4; try { $result = $apiInstance->getCreditNotes($xeroTenantId, $ifModifiedSince, $where, $order, $page, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCreditNotes: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCreditNotes_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getCreditNotes_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getCreditNotes_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getCreditNotes_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getCreditNotes_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. page=1 – Up to 100 credit notes will be returned in a single API call with line items shown for each credit note </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getCreditNotes_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getCurrencies"> <article id="api-Accounting-getCurrencies-0" data-group="User" data-name="getCurrencies" data-version="0"> <div class="pull-left"> <h1>getCurrencies</h1> <p>Retrieves currencies for your Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Currencies</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getCurrencies-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getCurrencies-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $where = "Code=="' . \XeroAPI\XeroPHP\Models\Accounting\CurrencyCode::USD . '""; $order = "Code ASC"; try { $result = $apiInstance->getCurrencies($xeroTenantId, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getCurrencies: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getCurrencies_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getCurrencies_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getCurrencies_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getEmployee"> <article id="api-Accounting-getEmployee-0" data-group="User" data-name="getEmployee" data-version="0"> <div class="pull-left"> <h1>getEmployee</h1> <p>Retrieves a specific employee used in Xero payrun using a unique employee Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Employees/{EmployeeID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getEmployee-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getEmployee-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $employeeID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getEmployee($xeroTenantId, $employeeID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getEmployee: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">EmployeeID<span style="color:red;">*</span></td> <td> <div id="d2e199_getEmployee_employeeID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Employee </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getEmployee_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getEmployees"> <article id="api-Accounting-getEmployees-0" data-group="User" data-name="getEmployees" data-version="0"> <div class="pull-left"> <h1>getEmployees</h1> <p>Retrieves employees used in Xero payrun</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Employees</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getEmployees-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getEmployees-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\Employee::STATUS_ACTIVE . '""; $order = "LastName ASC"; try { $result = $apiInstance->getEmployees($xeroTenantId, $ifModifiedSince, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getEmployees: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getEmployees_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getEmployees_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getEmployees_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getEmployees_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getExpenseClaim"> <article id="api-Accounting-getExpenseClaim-0" data-group="User" data-name="getExpenseClaim" data-version="0"> <div class="pull-left"> <h1>getExpenseClaim</h1> <p>Retrieves a specific expense claim using a unique expense claim Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ExpenseClaims/{ExpenseClaimID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getExpenseClaim-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getExpenseClaim-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $expenseClaimID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getExpenseClaim($xeroTenantId, $expenseClaimID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getExpenseClaim: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ExpenseClaimID<span style="color:red;">*</span></td> <td> <div id="d2e199_getExpenseClaim_expenseClaimID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ExpenseClaim </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getExpenseClaim_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getExpenseClaimHistory"> <article id="api-Accounting-getExpenseClaimHistory-0" data-group="User" data-name="getExpenseClaimHistory" data-version="0"> <div class="pull-left"> <h1>getExpenseClaimHistory</h1> <p>Retrieves history records of a specific expense claim</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ExpenseClaims/{ExpenseClaimID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getExpenseClaimHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getExpenseClaimHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $expenseClaimID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getExpenseClaimHistory($xeroTenantId, $expenseClaimID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getExpenseClaimHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ExpenseClaimID<span style="color:red;">*</span></td> <td> <div id="d2e199_getExpenseClaimHistory_expenseClaimID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ExpenseClaim </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getExpenseClaimHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getExpenseClaims"> <article id="api-Accounting-getExpenseClaims-0" data-group="User" data-name="getExpenseClaims" data-version="0"> <div class="pull-left"> <h1>getExpenseClaims</h1> <p>Retrieves expense claims</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ExpenseClaims</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getExpenseClaims-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getExpenseClaims-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\ExpenseClaim::STATUS_SUBMITTED . '""; $order = "Status ASC"; try { $result = $apiInstance->getExpenseClaims($xeroTenantId, $ifModifiedSince, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getExpenseClaims: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getExpenseClaims_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getExpenseClaims_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getExpenseClaims_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getExpenseClaims_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoice"> <article id="api-Accounting-getInvoice-0" data-group="User" data-name="getInvoice" data-version="0"> <div class="pull-left"> <h1>getInvoice</h1> <p>Retrieves a specific sales invoice or purchase bill using a unique invoice Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices/{InvoiceID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoice-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoice-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; try { $result = $apiInstance->getInvoice($xeroTenantId, $invoiceID, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoice: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoice_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoice_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getInvoice_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoiceAsPdf"> <article id="api-Accounting-getInvoiceAsPdf-0" data-group="User" data-name="getInvoiceAsPdf" data-version="0"> <div class="pull-left"> <h1>getInvoiceAsPdf</h1> <p>Retrieves invoices or purchase bills as PDF files</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices/{InvoiceID}/pdf</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoiceAsPdf-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoiceAsPdf-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getInvoiceAsPdf($xeroTenantId, $invoiceID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoiceAsPdf: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAsPdf_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAsPdf_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoiceAttachmentByFileName"> <article id="api-Accounting-getInvoiceAttachmentByFileName-0" data-group="User" data-name="getInvoiceAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getInvoiceAttachmentByFileName</h1> <p>Retrieves an attachment from a specific invoice or purchase bill by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices/{InvoiceID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoiceAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoiceAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getInvoiceAttachmentByFileName($xeroTenantId, $invoiceID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoiceAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentByFileName_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoiceAttachmentById"> <article id="api-Accounting-getInvoiceAttachmentById-0" data-group="User" data-name="getInvoiceAttachmentById" data-version="0"> <div class="pull-left"> <h1>getInvoiceAttachmentById</h1> <p>Retrieves a specific attachment from a specific invoices or purchase bills by using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices/{InvoiceID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoiceAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoiceAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getInvoiceAttachmentById($xeroTenantId, $invoiceID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoiceAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentById_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoiceAttachments"> <article id="api-Accounting-getInvoiceAttachments-0" data-group="User" data-name="getInvoiceAttachments" data-version="0"> <div class="pull-left"> <h1>getInvoiceAttachments</h1> <p>Retrieves attachments for a specific invoice or purchase bill</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices/{InvoiceID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoiceAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoiceAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getInvoiceAttachments($xeroTenantId, $invoiceID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoiceAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachments_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoiceHistory"> <article id="api-Accounting-getInvoiceHistory-0" data-group="User" data-name="getInvoiceHistory" data-version="0"> <div class="pull-left"> <h1>getInvoiceHistory</h1> <p>Retrieves history records for a specific invoice</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices/{InvoiceID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoiceHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoiceHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getInvoiceHistory($xeroTenantId, $invoiceID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoiceHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceHistory_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoiceReminders"> <article id="api-Accounting-getInvoiceReminders-0" data-group="User" data-name="getInvoiceReminders" data-version="0"> <div class="pull-left"> <h1>getInvoiceReminders</h1> <p>Retrieves invoice reminder settings</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/InvoiceReminders/Settings</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoiceReminders-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoiceReminders-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; try { $result = $apiInstance->getInvoiceReminders($xeroTenantId); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoiceReminders: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoiceReminders_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getInvoices"> <article id="api-Accounting-getInvoices-0" data-group="User" data-name="getInvoices" data-version="0"> <div class="pull-left"> <h1>getInvoices</h1> <p>Retrieves sales invoices or purchase bills</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getInvoices-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getInvoices-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\Invoice::STATUS_DRAFT . '""; $order = "InvoiceNumber ASC"; $iDs = array("00000000-0000-0000-0000-000000000000") $invoiceNumbers = array("INV-001", "INV-002") $contactIDs = array("00000000-0000-0000-0000-000000000000") $statuses = array("DRAFT", "SUBMITTED") $page = 1; $includeArchived = true; $createdByMyApp = false; $unitdp = 4; $summaryOnly = true; try { $result = $apiInstance->getInvoices($xeroTenantId, $ifModifiedSince, $where, $order, $iDs, $invoiceNumbers, $contactIDs, $statuses, $page, $includeArchived, $createdByMyApp, $unitdp, $summaryOnly); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getInvoices: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getInvoices_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getInvoices_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getInvoices_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getInvoices_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">IDs</td> <td> <div id="d2e199_getInvoices_iDs"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> array[UUID] </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter by a comma-separated list of InvoicesIDs. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">InvoiceNumbers</td> <td> <div id="d2e199_getInvoices_invoiceNumbers"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> array[String] </span> <div class="inner description marked"> Filter by a comma-separated list of InvoiceNumbers. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">ContactIDs</td> <td> <div id="d2e199_getInvoices_contactIDs"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> array[UUID] </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter by a comma-separated list of ContactIDs. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">Statuses</td> <td> <div id="d2e199_getInvoices_statuses"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> array[String] </span> <div class="inner description marked"> Filter by a comma-separated list Statuses. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getInvoices_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. page=1 – Up to 100 invoices will be returned in a single API call with line items shown for each invoice </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">includeArchived</td> <td> <div id="d2e199_getInvoices_includeArchived"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> e.g. includeArchived=true - Invoices with a status of ARCHIVED will be included in the response </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">createdByMyApp</td> <td> <div id="d2e199_getInvoices_createdByMyApp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> When set to true you'll only retrieve Invoices created by your app </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getInvoices_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">summaryOnly</td> <td> <div id="d2e199_getInvoices_summaryOnly"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Use summaryOnly=true in GET Contacts and Invoices endpoint to retrieve a smaller version of the response object. This returns only lightweight fields, excluding computation-heavy fields from the response, making the API calls quick and efficient. </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getItem"> <article id="api-Accounting-getItem-0" data-group="User" data-name="getItem" data-version="0"> <div class="pull-left"> <h1>getItem</h1> <p>Retrieves a specific item using a unique item Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Items/{ItemID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getItem-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getItem-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $itemID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; try { $result = $apiInstance->getItem($xeroTenantId, $itemID, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getItem: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ItemID<span style="color:red;">*</span></td> <td> <div id="d2e199_getItem_itemID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Item </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getItem_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getItem_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getItemHistory"> <article id="api-Accounting-getItemHistory-0" data-group="User" data-name="getItemHistory" data-version="0"> <div class="pull-left"> <h1>getItemHistory</h1> <p>Retrieves history for a specific item</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Items/{ItemID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getItemHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getItemHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $itemID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getItemHistory($xeroTenantId, $itemID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getItemHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ItemID<span style="color:red;">*</span></td> <td> <div id="d2e199_getItemHistory_itemID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Item </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getItemHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getItems"> <article id="api-Accounting-getItems-0" data-group="User" data-name="getItems" data-version="0"> <div class="pull-left"> <h1>getItems</h1> <p>Retrieves items</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Items</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getItems-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getItems-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "IsSold==true"; $order = "Code ASC"; $unitdp = 4; try { $result = $apiInstance->getItems($xeroTenantId, $ifModifiedSince, $where, $order, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getItems: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getItems_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getItems_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getItems_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getItems_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getItems_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getJournal"> <article id="api-Accounting-getJournal-0" data-group="User" data-name="getJournal" data-version="0"> <div class="pull-left"> <h1>getJournal</h1> <p>Retrieves a specific journal using a unique journal Id.</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Journals/{JournalID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getJournal-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getJournal-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $journalID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getJournal($xeroTenantId, $journalID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getJournal: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.journals.read</td> <td>Grant read-only access to journals</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">JournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_getJournal_journalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Journal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getJournal_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getJournals"> <article id="api-Accounting-getJournals-0" data-group="User" data-name="getJournals" data-version="0"> <div class="pull-left"> <h1>getJournals</h1> <p>Retrieves journals</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Journals</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getJournals-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getJournals-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $offset = 10; $paymentsOnly = true; try { $result = $apiInstance->getJournals($xeroTenantId, $ifModifiedSince, $offset, $paymentsOnly); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getJournals: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.journals.read</td> <td>Grant read-only access to journals</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getJournals_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getJournals_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">offset</td> <td> <div id="d2e199_getJournals_offset"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> Offset by a specified journal number. e.g. journals with a JournalNumber greater than the offset will be returned </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">paymentsOnly</td> <td> <div id="d2e199_getJournals_paymentsOnly"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Filter to retrieve journals on a cash basis. Journals are returned on an accrual basis by default. </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getLinkedTransaction"> <article id="api-Accounting-getLinkedTransaction-0" data-group="User" data-name="getLinkedTransaction" data-version="0"> <div class="pull-left"> <h1>getLinkedTransaction</h1> <p>Retrieves a specific linked transaction (billable expenses) using a unique linked transaction Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/LinkedTransactions/{LinkedTransactionID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getLinkedTransaction-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getLinkedTransaction-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $linkedTransactionID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getLinkedTransaction($xeroTenantId, $linkedTransactionID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getLinkedTransaction: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">LinkedTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_getLinkedTransaction_linkedTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a LinkedTransaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getLinkedTransaction_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getLinkedTransactions"> <article id="api-Accounting-getLinkedTransactions-0" data-group="User" data-name="getLinkedTransactions" data-version="0"> <div class="pull-left"> <h1>getLinkedTransactions</h1> <p>Retrieves linked transactions (billable expenses)</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/LinkedTransactions</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getLinkedTransactions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getLinkedTransactions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $page = 1; $linkedTransactionID = "00000000-0000-0000-0000-000000000000"; $sourceTransactionID = "00000000-0000-0000-0000-000000000000"; $contactID = "00000000-0000-0000-0000-000000000000"; $status = "APPROVED"; $targetTransactionID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getLinkedTransactions($xeroTenantId, $page, $linkedTransactionID, $sourceTransactionID, $contactID, $status, $targetTransactionID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getLinkedTransactions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getLinkedTransactions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getLinkedTransactions_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> Up to 100 linked transactions will be returned in a single API call. Use the page parameter to specify the page to be returned e.g. page=1. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">LinkedTransactionID</td> <td> <div id="d2e199_getLinkedTransactions_linkedTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> The Xero identifier for an Linked Transaction </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">SourceTransactionID</td> <td> <div id="d2e199_getLinkedTransactions_sourceTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter by the SourceTransactionID. Get the linked transactions created from a particular ACCPAY invoice </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">ContactID</td> <td> <div id="d2e199_getLinkedTransactions_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter by the ContactID. Get all the linked transactions that have been assigned to a particular customer. </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">Status</td> <td> <div id="d2e199_getLinkedTransactions_status"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by the combination of ContactID and Status. Get the linked transactions associated to a customer and with a status </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">TargetTransactionID</td> <td> <div id="d2e199_getLinkedTransactions_targetTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getManualJournal"> <article id="api-Accounting-getManualJournal-0" data-group="User" data-name="getManualJournal" data-version="0"> <div class="pull-left"> <h1>getManualJournal</h1> <p>Retrieves a specific manual journal</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ManualJournals/{ManualJournalID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getManualJournal-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getManualJournal-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getManualJournal($xeroTenantId, $manualJournalID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getManualJournal: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournal_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournal_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getManualJournalAttachmentByFileName"> <article id="api-Accounting-getManualJournalAttachmentByFileName-0" data-group="User" data-name="getManualJournalAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getManualJournalAttachmentByFileName</h1> <p>Retrieves a specific attachment from a specific manual journal by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ManualJournals/{ManualJournalID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getManualJournalAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getManualJournalAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getManualJournalAttachmentByFileName($xeroTenantId, $manualJournalID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getManualJournalAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentByFileName_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getManualJournalAttachmentById"> <article id="api-Accounting-getManualJournalAttachmentById-0" data-group="User" data-name="getManualJournalAttachmentById" data-version="0"> <div class="pull-left"> <h1>getManualJournalAttachmentById</h1> <p>Allows you to retrieve a specific attachment from a specific manual journal using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ManualJournals/{ManualJournalID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getManualJournalAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getManualJournalAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getManualJournalAttachmentById($xeroTenantId, $manualJournalID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getManualJournalAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentById_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getManualJournalAttachments"> <article id="api-Accounting-getManualJournalAttachments-0" data-group="User" data-name="getManualJournalAttachments" data-version="0"> <div class="pull-left"> <h1>getManualJournalAttachments</h1> <p>Retrieves attachment for a specific manual journal</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ManualJournals/{ManualJournalID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getManualJournalAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getManualJournalAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getManualJournalAttachments($xeroTenantId, $manualJournalID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getManualJournalAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachments_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getManualJournals"> <article id="api-Accounting-getManualJournals-0" data-group="User" data-name="getManualJournals" data-version="0"> <div class="pull-left"> <h1>getManualJournals</h1> <p>Retrieves manual journals</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ManualJournals</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getManualJournals-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getManualJournals-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\ManualJournal::STATUS_DRAFT . '""; $order = "Date ASC"; $page = 1; try { $result = $apiInstance->getManualJournals($xeroTenantId, $ifModifiedSince, $where, $order, $page); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getManualJournals: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournals_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getManualJournals_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getManualJournals_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getManualJournals_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getManualJournals_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. page=1 – Up to 100 manual journals will be returned in a single API call with line items shown for each overpayment </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getManualJournalsHistory"> <article id="api-Accounting-getManualJournalsHistory-0" data-group="User" data-name="getManualJournalsHistory" data-version="0"> <div class="pull-left"> <h1>getManualJournalsHistory</h1> <p>Retrieves history for a specific manual journal</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/ManualJournals/{ManualJournalID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getManualJournalsHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getManualJournalsHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getManualJournalsHistory($xeroTenantId, $manualJournalID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getManualJournalsHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalsHistory_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getManualJournalsHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getOnlineInvoice"> <article id="api-Accounting-getOnlineInvoice-0" data-group="User" data-name="getOnlineInvoice" data-version="0"> <div class="pull-left"> <h1>getOnlineInvoice</h1> <p>Retrieves a URL to an online invoice</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Invoices/{InvoiceID}/OnlineInvoice</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getOnlineInvoice-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getOnlineInvoice-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getOnlineInvoice($xeroTenantId, $invoiceID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getOnlineInvoice: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getOnlineInvoice_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getOnlineInvoice_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getOrganisationActions"> <article id="api-Accounting-getOrganisationActions-0" data-group="User" data-name="getOrganisationActions" data-version="0"> <div class="pull-left"> <h1>getOrganisationActions</h1> <p>Retrieves a list of the key actions your app has permission to perform in the connected Xero organisation.</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Organisation/Actions</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getOrganisationActions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getOrganisationActions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; try { $result = $apiInstance->getOrganisationActions($xeroTenantId); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getOrganisationActions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getOrganisationActions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getOrganisationCISSettings"> <article id="api-Accounting-getOrganisationCISSettings-0" data-group="User" data-name="getOrganisationCISSettings" data-version="0"> <div class="pull-left"> <h1>getOrganisationCISSettings</h1> <p>Retrieves the CIS settings for the Xero organistaion.</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Organisation/{OrganisationID}/CISSettings</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getOrganisationCISSettings-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getOrganisationCISSettings-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $organisationID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getOrganisationCISSettings($xeroTenantId, $organisationID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getOrganisationCISSettings: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">OrganisationID<span style="color:red;">*</span></td> <td> <div id="d2e199_getOrganisationCISSettings_organisationID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> The unique Xero identifier for an organisation </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getOrganisationCISSettings_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getOrganisations"> <article id="api-Accounting-getOrganisations-0" data-group="User" data-name="getOrganisations" data-version="0"> <div class="pull-left"> <h1>getOrganisations</h1> <p>Retrieves Xero organisation details</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Organisation</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getOrganisations-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getOrganisations-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; try { $result = $apiInstance->getOrganisations($xeroTenantId); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getOrganisations: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getOrganisations_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getOverpayment"> <article id="api-Accounting-getOverpayment-0" data-group="User" data-name="getOverpayment" data-version="0"> <div class="pull-left"> <h1>getOverpayment</h1> <p>Retrieves a specific overpayment using a unique overpayment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Overpayments/{OverpaymentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getOverpayment-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getOverpayment-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $overpaymentID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getOverpayment($xeroTenantId, $overpaymentID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getOverpayment: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">OverpaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getOverpayment_overpaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Overpayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getOverpayment_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getOverpaymentHistory"> <article id="api-Accounting-getOverpaymentHistory-0" data-group="User" data-name="getOverpaymentHistory" data-version="0"> <div class="pull-left"> <h1>getOverpaymentHistory</h1> <p>Retrieves history records of a specific overpayment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Overpayments/{OverpaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getOverpaymentHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getOverpaymentHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $overpaymentID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getOverpaymentHistory($xeroTenantId, $overpaymentID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getOverpaymentHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">OverpaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getOverpaymentHistory_overpaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Overpayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getOverpaymentHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getOverpayments"> <article id="api-Accounting-getOverpayments-0" data-group="User" data-name="getOverpayments" data-version="0"> <div class="pull-left"> <h1>getOverpayments</h1> <p>Retrieves overpayments</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Overpayments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getOverpayments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getOverpayments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\Overpayment::STATUS_AUTHORISED . '""; $order = "Status ASC"; $page = 1; $unitdp = 4; try { $result = $apiInstance->getOverpayments($xeroTenantId, $ifModifiedSince, $where, $order, $page, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getOverpayments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getOverpayments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getOverpayments_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getOverpayments_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getOverpayments_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getOverpayments_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. page=1 – Up to 100 overpayments will be returned in a single API call with line items shown for each overpayment </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getOverpayments_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPayment"> <article id="api-Accounting-getPayment-0" data-group="User" data-name="getPayment" data-version="0"> <div class="pull-left"> <h1>getPayment</h1> <p>Retrieves a specific payment for invoices and credit notes using a unique payment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Payments/{PaymentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPayment-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPayment-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $paymentID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPayment($xeroTenantId, $paymentID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPayment: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPayment_paymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Payment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPayment_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPaymentHistory"> <article id="api-Accounting-getPaymentHistory-0" data-group="User" data-name="getPaymentHistory" data-version="0"> <div class="pull-left"> <h1>getPaymentHistory</h1> <p>Retrieves history records of a specific payment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Payments/{PaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPaymentHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPaymentHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $paymentID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPaymentHistory($xeroTenantId, $paymentID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPaymentHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPaymentHistory_paymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Payment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPaymentHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPaymentServices"> <article id="api-Accounting-getPaymentServices-0" data-group="User" data-name="getPaymentServices" data-version="0"> <div class="pull-left"> <h1>getPaymentServices</h1> <p>Retrieves payment services</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PaymentServices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPaymentServices-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPaymentServices-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; try { $result = $apiInstance->getPaymentServices($xeroTenantId); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPaymentServices: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>paymentservices</td> <td>Grant read-write access to payment services</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPaymentServices_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPayments"> <article id="api-Accounting-getPayments-0" data-group="User" data-name="getPayments" data-version="0"> <div class="pull-left"> <h1>getPayments</h1> <p>Retrieves payments for invoices and credit notes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Payments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPayments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPayments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\Payment::STATUS_AUTHORISED . '""; $order = "Amount ASC"; $page = 1; try { $result = $apiInstance->getPayments($xeroTenantId, $ifModifiedSince, $where, $order, $page); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPayments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPayments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getPayments_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getPayments_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getPayments_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getPayments_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> Up to 100 payments will be returned in a single API call </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPrepayment"> <article id="api-Accounting-getPrepayment-0" data-group="User" data-name="getPrepayment" data-version="0"> <div class="pull-left"> <h1>getPrepayment</h1> <p>Allows you to retrieve a specified prepayments</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Prepayments/{PrepaymentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPrepayment-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPrepayment-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $prepaymentID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPrepayment($xeroTenantId, $prepaymentID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPrepayment: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PrepaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPrepayment_prepaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a PrePayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPrepayment_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPrepaymentHistory"> <article id="api-Accounting-getPrepaymentHistory-0" data-group="User" data-name="getPrepaymentHistory" data-version="0"> <div class="pull-left"> <h1>getPrepaymentHistory</h1> <p>Retrieves history record for a specific prepayment</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Prepayments/{PrepaymentID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPrepaymentHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPrepaymentHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $prepaymentID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPrepaymentHistory($xeroTenantId, $prepaymentID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPrepaymentHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PrepaymentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPrepaymentHistory_prepaymentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a PrePayment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPrepaymentHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPrepayments"> <article id="api-Accounting-getPrepayments-0" data-group="User" data-name="getPrepayments" data-version="0"> <div class="pull-left"> <h1>getPrepayments</h1> <p>Retrieves prepayments</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Prepayments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPrepayments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPrepayments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\Prepayment::STATUS_AUTHORISED . '""; $order = "Reference ASC"; $page = 1; $unitdp = 4; try { $result = $apiInstance->getPrepayments($xeroTenantId, $ifModifiedSince, $where, $order, $page, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPrepayments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPrepayments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getPrepayments_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getPrepayments_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getPrepayments_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getPrepayments_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. page=1 – Up to 100 prepayments will be returned in a single API call with line items shown for each overpayment </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getPrepayments_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrder"> <article id="api-Accounting-getPurchaseOrder-0" data-group="User" data-name="getPurchaseOrder" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrder</h1> <p>Retrieves a specific purchase order using a unique purchase order Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrder-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrder-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPurchaseOrder($xeroTenantId, $purchaseOrderID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrder: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrder_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrder_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrderAsPdf"> <article id="api-Accounting-getPurchaseOrderAsPdf-0" data-group="User" data-name="getPurchaseOrderAsPdf" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrderAsPdf</h1> <p>Retrieves specific purchase order as PDF files using a unique purchase order Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/pdf</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrderAsPdf-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrderAsPdf-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPurchaseOrderAsPdf($xeroTenantId, $purchaseOrderID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrderAsPdf: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAsPdf_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAsPdf_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrderAttachmentById"> <article id="api-Accounting-getPurchaseOrderAttachmentById-0" data-group="User" data-name="getPurchaseOrderAttachmentById" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrderAttachmentById</h1> <p>Retrieves specific attachment for a specific purchase order using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrderAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrderAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getPurchaseOrderAttachmentById($xeroTenantId, $purchaseOrderID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrderAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAttachmentById_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrderAttachments"> <article id="api-Accounting-getPurchaseOrderAttachments-0" data-group="User" data-name="getPurchaseOrderAttachments" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrderAttachments</h1> <p>Retrieves attachments for a specific purchase order</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrderAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrderAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPurchaseOrderAttachments($xeroTenantId, $purchaseOrderID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrderAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAttachments_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrderByNumber"> <article id="api-Accounting-getPurchaseOrderByNumber-0" data-group="User" data-name="getPurchaseOrderByNumber" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrderByNumber</h1> <p>Retrieves a specific purchase order using purchase order number</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders/{PurchaseOrderNumber}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrderByNumber-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrderByNumber-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderNumber = "PO1234"; try { $result = $apiInstance->getPurchaseOrderByNumber($xeroTenantId, $purchaseOrderNumber); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrderByNumber: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderNumber<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderByNumber_purchaseOrderNumber"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Unique identifier for a PurchaseOrder </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderByNumber_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrderHistory"> <article id="api-Accounting-getPurchaseOrderHistory-0" data-group="User" data-name="getPurchaseOrderHistory" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrderHistory</h1> <p>Retrieves history for a specific purchase order</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrderHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrderHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getPurchaseOrderHistory($xeroTenantId, $purchaseOrderID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrderHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderHistory_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrderHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrders"> <article id="api-Accounting-getPurchaseOrders-0" data-group="User" data-name="getPurchaseOrders" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrders</h1> <p>Retrieves purchase orders</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrders-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrders-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $status = "SUBMITTED"; $dateFrom = "2019-12-01"; $dateTo = "2019-12-31"; $order = "PurchaseOrderNumber ASC"; $page = 1; try { $result = $apiInstance->getPurchaseOrders($xeroTenantId, $ifModifiedSince, $status, $dateFrom, $dateTo, $order, $page); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrders: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrders_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getPurchaseOrders_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">Status</td> <td> <div id="d2e199_getPurchaseOrders_status"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by purchase order status </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">DateFrom</td> <td> <div id="d2e199_getPurchaseOrders_dateFrom"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">DateTo</td> <td> <div id="d2e199_getPurchaseOrders_dateTo"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom=2015-12-01&DateTo=2015-12-31 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getPurchaseOrders_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getPurchaseOrders_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> To specify a page, append the page parameter to the URL e.g. ?page=1. If there are 100 records in the response you will need to check if there is any more data by fetching the next page e.g ?page=2 and continuing this process until no more results are returned. </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getPurchaseOrder≠AttachmentByFileName"> <article id="api-Accounting-getPurchaseOrder≠AttachmentByFileName-0" data-group="User" data-name="getPurchaseOrder≠AttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getPurchaseOrder≠AttachmentByFileName</h1> <p>Retrieves a specific attachment for a specific purchase order by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getPurchaseOrder≠AttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getPurchaseOrder≠AttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getPurchaseOrder≠AttachmentByFileName($xeroTenantId, $purchaseOrderID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getPurchaseOrder≠AttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrder≠AttachmentByFileName_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrder≠AttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrder≠AttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getPurchaseOrder≠AttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getQuote"> <article id="api-Accounting-getQuote-0" data-group="User" data-name="getQuote" data-version="0"> <div class="pull-left"> <h1>getQuote</h1> <p>Retrieves a specific quote using a unique quote Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Quotes/{QuoteID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getQuote-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getQuote-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getQuote($xeroTenantId, $quoteID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getQuote: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuote_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuote_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getQuoteAsPdf"> <article id="api-Accounting-getQuoteAsPdf-0" data-group="User" data-name="getQuoteAsPdf" data-version="0"> <div class="pull-left"> <h1>getQuoteAsPdf</h1> <p>Retrieves a specific quote as a PDF file using a unique quote Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Quotes/{QuoteID}/pdf</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getQuoteAsPdf-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getQuoteAsPdf-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getQuoteAsPdf($xeroTenantId, $quoteID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getQuoteAsPdf: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAsPdf_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAsPdf_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getQuoteAttachmentByFileName"> <article id="api-Accounting-getQuoteAttachmentByFileName-0" data-group="User" data-name="getQuoteAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getQuoteAttachmentByFileName</h1> <p>Retrieves a specific attachment from a specific quote by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Quotes/{QuoteID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getQuoteAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getQuoteAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getQuoteAttachmentByFileName($xeroTenantId, $quoteID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getQuoteAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentByFileName_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getQuoteAttachmentById"> <article id="api-Accounting-getQuoteAttachmentById-0" data-group="User" data-name="getQuoteAttachmentById" data-version="0"> <div class="pull-left"> <h1>getQuoteAttachmentById</h1> <p>Retrieves a specific attachment from a specific quote using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Quotes/{QuoteID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getQuoteAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getQuoteAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getQuoteAttachmentById($xeroTenantId, $quoteID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getQuoteAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentById_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getQuoteAttachments"> <article id="api-Accounting-getQuoteAttachments-0" data-group="User" data-name="getQuoteAttachments" data-version="0"> <div class="pull-left"> <h1>getQuoteAttachments</h1> <p>Retrieves attachments for a specific quote</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Quotes/{QuoteID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getQuoteAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getQuoteAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getQuoteAttachments($xeroTenantId, $quoteID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getQuoteAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachments_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getQuoteHistory"> <article id="api-Accounting-getQuoteHistory-0" data-group="User" data-name="getQuoteHistory" data-version="0"> <div class="pull-left"> <h1>getQuoteHistory</h1> <p>Retrieves history records of a specific quote</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Quotes/{QuoteID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getQuoteHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getQuoteHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getQuoteHistory($xeroTenantId, $quoteID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getQuoteHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteHistory_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuoteHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getQuotes"> <article id="api-Accounting-getQuotes-0" data-group="User" data-name="getQuotes" data-version="0"> <div class="pull-left"> <h1>getQuotes</h1> <p>Retrieves sales quotes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Quotes</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getQuotes-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getQuotes-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $dateFrom = new DateTime("2013-10-20"); $dateTo = new DateTime("2013-10-20"); $expiryDateFrom = new DateTime("2013-10-20"); $expiryDateTo = new DateTime("2013-10-20"); $contactID = "00000000-0000-0000-0000-000000000000"; $status = "DRAFT"; $page = 1; $order = "Status ASC"; $quoteNumber = "QU-0001"; try { $result = $apiInstance->getQuotes($xeroTenantId, $ifModifiedSince, $dateFrom, $dateTo, $expiryDateFrom, $expiryDateTo, $contactID, $status, $page, $order, $quoteNumber); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getQuotes: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getQuotes_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getQuotes_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">DateFrom</td> <td> <div id="d2e199_getQuotes_dateFrom"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> Filter for quotes after a particular date </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">DateTo</td> <td> <div id="d2e199_getQuotes_dateTo"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> Filter for quotes before a particular date </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">ExpiryDateFrom</td> <td> <div id="d2e199_getQuotes_expiryDateFrom"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> Filter for quotes expiring after a particular date </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">ExpiryDateTo</td> <td> <div id="d2e199_getQuotes_expiryDateTo"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> Filter for quotes before a particular date </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">ContactID</td> <td> <div id="d2e199_getQuotes_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Filter for quotes belonging to a particular contact </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">Status</td> <td> <div id="d2e199_getQuotes_status"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter for quotes of a particular Status </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">page</td> <td> <div id="d2e199_getQuotes_page"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. page=1 – Up to 100 Quotes will be returned in a single API call with line items shown for each quote </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getQuotes_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">QuoteNumber</td> <td> <div id="d2e199_getQuotes_quoteNumber"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by quote number (e.g. GET https://.../Quotes?QuoteNumber=QU-0001) </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReceipt"> <article id="api-Accounting-getReceipt-0" data-group="User" data-name="getReceipt" data-version="0"> <div class="pull-left"> <h1>getReceipt</h1> <p>Retrieves a specific draft expense claim receipt by using a unique receipt Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Receipts/{ReceiptID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReceipt-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReceipt-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; try { $result = $apiInstance->getReceipt($xeroTenantId, $receiptID, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReceipt: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceipt_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceipt_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getReceipt_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReceiptAttachmentByFileName"> <article id="api-Accounting-getReceiptAttachmentByFileName-0" data-group="User" data-name="getReceiptAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getReceiptAttachmentByFileName</h1> <p>Retrieves a specific attachment from a specific expense claim receipts by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Receipts/{ReceiptID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReceiptAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReceiptAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getReceiptAttachmentByFileName($xeroTenantId, $receiptID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReceiptAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentByFileName_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReceiptAttachmentById"> <article id="api-Accounting-getReceiptAttachmentById-0" data-group="User" data-name="getReceiptAttachmentById" data-version="0"> <div class="pull-left"> <h1>getReceiptAttachmentById</h1> <p>Retrieves a specific attachments from a specific expense claim receipts by using a unique attachment Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Receipts/{ReceiptID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReceiptAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReceiptAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getReceiptAttachmentById($xeroTenantId, $receiptID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReceiptAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentById_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReceiptAttachments"> <article id="api-Accounting-getReceiptAttachments-0" data-group="User" data-name="getReceiptAttachments" data-version="0"> <div class="pull-left"> <h1>getReceiptAttachments</h1> <p>Retrieves attachments for a specific expense claim receipt</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Receipts/{ReceiptID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReceiptAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReceiptAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getReceiptAttachments($xeroTenantId, $receiptID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReceiptAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachments_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReceiptHistory"> <article id="api-Accounting-getReceiptHistory-0" data-group="User" data-name="getReceiptHistory" data-version="0"> <div class="pull-left"> <h1>getReceiptHistory</h1> <p>Retrieves a history record for a specific receipt</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Receipts/{ReceiptID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReceiptHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReceiptHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getReceiptHistory($xeroTenantId, $receiptID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReceiptHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptHistory_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceiptHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReceipts"> <article id="api-Accounting-getReceipts-0" data-group="User" data-name="getReceipts" data-version="0"> <div class="pull-left"> <h1>getReceipts</h1> <p>Retrieves draft expense claim receipts for any user</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Receipts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReceipts-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReceipts-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\Receipt::STATUS_DRAFT . '""; $order = "ReceiptNumber ASC"; $unitdp = 4; try { $result = $apiInstance->getReceipts($xeroTenantId, $ifModifiedSince, $where, $order, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReceipts: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReceipts_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getReceipts_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getReceipts_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getReceipts_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_getReceipts_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getRepeatingInvoice"> <article id="api-Accounting-getRepeatingInvoice-0" data-group="User" data-name="getRepeatingInvoice" data-version="0"> <div class="pull-left"> <h1>getRepeatingInvoice</h1> <p>Retrieves a specific repeating invoice by using a unique repeating invoice Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getRepeatingInvoice-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getRepeatingInvoice-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getRepeatingInvoice($xeroTenantId, $repeatingInvoiceID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getRepeatingInvoice: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoice_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoice_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getRepeatingInvoiceAttachmentByFileName"> <article id="api-Accounting-getRepeatingInvoiceAttachmentByFileName-0" data-group="User" data-name="getRepeatingInvoiceAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>getRepeatingInvoiceAttachmentByFileName</h1> <p>Retrieves a specific attachment from a specific repeating invoices by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getRepeatingInvoiceAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getRepeatingInvoiceAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $contentType = "image/jpg"; try { $result = $apiInstance->getRepeatingInvoiceAttachmentByFileName($xeroTenantId, $repeatingInvoiceID, $fileName, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getRepeatingInvoiceAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentByFileName_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentByFileName_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getRepeatingInvoiceAttachmentById"> <article id="api-Accounting-getRepeatingInvoiceAttachmentById-0" data-group="User" data-name="getRepeatingInvoiceAttachmentById" data-version="0"> <div class="pull-left"> <h1>getRepeatingInvoiceAttachmentById</h1> <p>Retrieves a specific attachment from a specific repeating invoice</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{AttachmentID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getRepeatingInvoiceAttachmentById-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getRepeatingInvoiceAttachmentById-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; $attachmentID = "00000000-0000-0000-0000-000000000000"; $contentType = "image/jpg"; try { $result = $apiInstance->getRepeatingInvoiceAttachmentById($xeroTenantId, $repeatingInvoiceID, $attachmentID, $contentType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getRepeatingInvoiceAttachmentById: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentById_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">AttachmentID<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentById_attachmentID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Attachment object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentById_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">contentType<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachmentById_contentType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getRepeatingInvoiceAttachments"> <article id="api-Accounting-getRepeatingInvoiceAttachments-0" data-group="User" data-name="getRepeatingInvoiceAttachments" data-version="0"> <div class="pull-left"> <h1>getRepeatingInvoiceAttachments</h1> <p>Retrieves attachments from a specific repeating invoice</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}/Attachments</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getRepeatingInvoiceAttachments-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getRepeatingInvoiceAttachments-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getRepeatingInvoiceAttachments($xeroTenantId, $repeatingInvoiceID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getRepeatingInvoiceAttachments: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments.read</td> <td>Grant read-only access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachments_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceAttachments_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getRepeatingInvoiceHistory"> <article id="api-Accounting-getRepeatingInvoiceHistory-0" data-group="User" data-name="getRepeatingInvoiceHistory" data-version="0"> <div class="pull-left"> <h1>getRepeatingInvoiceHistory</h1> <p>Retrieves history record for a specific repeating invoice</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}/History</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getRepeatingInvoiceHistory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getRepeatingInvoiceHistory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getRepeatingInvoiceHistory($xeroTenantId, $repeatingInvoiceID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getRepeatingInvoiceHistory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceHistory_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoiceHistory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getRepeatingInvoices"> <article id="api-Accounting-getRepeatingInvoices-0" data-group="User" data-name="getRepeatingInvoices" data-version="0"> <div class="pull-left"> <h1>getRepeatingInvoices</h1> <p>Retrieves repeating invoices</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/RepeatingInvoices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getRepeatingInvoices-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getRepeatingInvoices-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\RepeatingInvoice::STATUS_DRAFT . '""; $order = "Total ASC"; try { $result = $apiInstance->getRepeatingInvoices($xeroTenantId, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getRepeatingInvoices: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions.read</td> <td>Grant read-only access to invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getRepeatingInvoices_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getRepeatingInvoices_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getRepeatingInvoices_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportAgedPayablesByContact"> <article id="api-Accounting-getReportAgedPayablesByContact-0" data-group="User" data-name="getReportAgedPayablesByContact" data-version="0"> <div class="pull-left"> <h1>getReportAgedPayablesByContact</h1> <p>Retrieves report for aged payables by contact</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/AgedPayablesByContact</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportAgedPayablesByContact-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportAgedPayablesByContact-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactId = "00000000-0000-0000-0000-000000000000"; $date = new DateTime("2013-10-20"); $fromDate = new DateTime("2013-10-20"); $toDate = new DateTime("2013-10-20"); try { $result = $apiInstance->getReportAgedPayablesByContact($xeroTenantId, $contactId, $date, $fromDate, $toDate); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportAgedPayablesByContact: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportAgedPayablesByContact_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">contactId<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportAgedPayablesByContact_contactId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">date</td> <td> <div id="d2e199_getReportAgedPayablesByContact_date"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> The date of the Aged Payables By Contact report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">fromDate</td> <td> <div id="d2e199_getReportAgedPayablesByContact_fromDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the from date of the report e.g. 2021-02-01 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">toDate</td> <td> <div id="d2e199_getReportAgedPayablesByContact_toDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the to date of the report e.g. 2021-02-28 </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportAgedReceivablesByContact"> <article id="api-Accounting-getReportAgedReceivablesByContact-0" data-group="User" data-name="getReportAgedReceivablesByContact" data-version="0"> <div class="pull-left"> <h1>getReportAgedReceivablesByContact</h1> <p>Retrieves report for aged receivables by contact</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/AgedReceivablesByContact</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportAgedReceivablesByContact-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportAgedReceivablesByContact-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactId = "00000000-0000-0000-0000-000000000000"; $date = new DateTime("2013-10-20"); $fromDate = new DateTime("2013-10-20"); $toDate = new DateTime("2013-10-20"); try { $result = $apiInstance->getReportAgedReceivablesByContact($xeroTenantId, $contactId, $date, $fromDate, $toDate); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportAgedReceivablesByContact: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportAgedReceivablesByContact_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">contactId<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportAgedReceivablesByContact_contactId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">date</td> <td> <div id="d2e199_getReportAgedReceivablesByContact_date"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> The date of the Aged Receivables By Contact report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">fromDate</td> <td> <div id="d2e199_getReportAgedReceivablesByContact_fromDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the from date of the report e.g. 2021-02-01 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">toDate</td> <td> <div id="d2e199_getReportAgedReceivablesByContact_toDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the to date of the report e.g. 2021-02-28 </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportBalanceSheet"> <article id="api-Accounting-getReportBalanceSheet-0" data-group="User" data-name="getReportBalanceSheet" data-version="0"> <div class="pull-left"> <h1>getReportBalanceSheet</h1> <p>Retrieves report for balancesheet</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/BalanceSheet</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportBalanceSheet-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportBalanceSheet-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $date = new DateTime("2019-11-01"); $periods = 3; $timeframe = "MONTH"; $trackingOptionID1 = "00000000-0000-0000-0000-000000000000"; $trackingOptionID2 = "00000000-0000-0000-0000-000000000000"; $standardLayout = true; $paymentsOnly = false; try { $result = $apiInstance->getReportBalanceSheet($xeroTenantId, $date, $periods, $timeframe, $trackingOptionID1, $trackingOptionID2, $standardLayout, $paymentsOnly); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportBalanceSheet: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportBalanceSheet_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">date</td> <td> <div id="d2e199_getReportBalanceSheet_date"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> The date of the Balance Sheet report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">periods</td> <td> <div id="d2e199_getReportBalanceSheet_periods"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> The number of periods for the Balance Sheet report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">timeframe</td> <td> <div id="d2e199_getReportBalanceSheet_timeframe"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The period size to compare to (MONTH, QUARTER, YEAR) </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">trackingOptionID1</td> <td> <div id="d2e199_getReportBalanceSheet_trackingOptionID1"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The tracking option 1 for the Balance Sheet report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">trackingOptionID2</td> <td> <div id="d2e199_getReportBalanceSheet_trackingOptionID2"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The tracking option 2 for the Balance Sheet report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">standardLayout</td> <td> <div id="d2e199_getReportBalanceSheet_standardLayout"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> The standard layout boolean for the Balance Sheet report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">paymentsOnly</td> <td> <div id="d2e199_getReportBalanceSheet_paymentsOnly"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> return a cash basis for the Balance Sheet report </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportBankSummary"> <article id="api-Accounting-getReportBankSummary-0" data-group="User" data-name="getReportBankSummary" data-version="0"> <div class="pull-left"> <h1>getReportBankSummary</h1> <p>Retrieves report for bank summary</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/BankSummary</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportBankSummary-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportBankSummary-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $fromDate = new DateTime("2013-10-20"); $toDate = new DateTime("2013-10-20"); try { $result = $apiInstance->getReportBankSummary($xeroTenantId, $fromDate, $toDate); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportBankSummary: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportBankSummary_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">fromDate</td> <td> <div id="d2e199_getReportBankSummary_fromDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the from date of the report e.g. 2021-02-01 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">toDate</td> <td> <div id="d2e199_getReportBankSummary_toDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the to date of the report e.g. 2021-02-28 </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportBudgetSummary"> <article id="api-Accounting-getReportBudgetSummary-0" data-group="User" data-name="getReportBudgetSummary" data-version="0"> <div class="pull-left"> <h1>getReportBudgetSummary</h1> <p>Retrieves report for budget summary</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/BudgetSummary</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportBudgetSummary-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportBudgetSummary-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $date = new DateTime("2019-03-31"); $periods = 2; $timeframe = 3; try { $result = $apiInstance->getReportBudgetSummary($xeroTenantId, $date, $periods, $timeframe); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportBudgetSummary: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportBudgetSummary_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">date</td> <td> <div id="d2e199_getReportBudgetSummary_date"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> The date for the Bank Summary report e.g. 2018-03-31 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">periods</td> <td> <div id="d2e199_getReportBudgetSummary_periods"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> The number of periods to compare (integer between 1 and 12) </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">timeframe</td> <td> <div id="d2e199_getReportBudgetSummary_timeframe"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> The period size to compare to (1=month, 3=quarter, 12=year) </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportExecutiveSummary"> <article id="api-Accounting-getReportExecutiveSummary-0" data-group="User" data-name="getReportExecutiveSummary" data-version="0"> <div class="pull-left"> <h1>getReportExecutiveSummary</h1> <p>Retrieves report for executive summary</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/ExecutiveSummary</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportExecutiveSummary-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportExecutiveSummary-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $date = new DateTime("2019-03-31"); try { $result = $apiInstance->getReportExecutiveSummary($xeroTenantId, $date); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportExecutiveSummary: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportExecutiveSummary_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">date</td> <td> <div id="d2e199_getReportExecutiveSummary_date"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> The date for the Bank Summary report e.g. 2018-03-31 </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportFromId"> <article id="api-Accounting-getReportFromId-0" data-group="User" data-name="getReportFromId" data-version="0"> <div class="pull-left"> <h1>getReportFromId</h1> <p>Retrieves a specific report using a unique ReportID</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/{ReportID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportFromId-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportFromId-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $reportID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getReportFromId($xeroTenantId, $reportID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportFromId: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReportID<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportFromId_reportID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Unique identifier for a Report </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportFromId_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportProfitAndLoss"> <article id="api-Accounting-getReportProfitAndLoss-0" data-group="User" data-name="getReportProfitAndLoss" data-version="0"> <div class="pull-left"> <h1>getReportProfitAndLoss</h1> <p>Retrieves report for profit and loss</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/ProfitAndLoss</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportProfitAndLoss-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportProfitAndLoss-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $fromDate = new DateTime("2013-10-20"); $toDate = new DateTime("2013-10-20"); $periods = 3; $timeframe = "MONTH"; $trackingCategoryID = "00000000-0000-0000-0000-000000000000"; $trackingCategoryID2 = "00000000-0000-0000-0000-000000000000"; $trackingOptionID = "00000000-0000-0000-0000-000000000000"; $trackingOptionID2 = "00000000-0000-0000-0000-000000000000"; $standardLayout = true; $paymentsOnly = false; try { $result = $apiInstance->getReportProfitAndLoss($xeroTenantId, $fromDate, $toDate, $periods, $timeframe, $trackingCategoryID, $trackingCategoryID2, $trackingOptionID, $trackingOptionID2, $standardLayout, $paymentsOnly); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportProfitAndLoss: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportProfitAndLoss_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">fromDate</td> <td> <div id="d2e199_getReportProfitAndLoss_fromDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the from date of the report e.g. 2021-02-01 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">toDate</td> <td> <div id="d2e199_getReportProfitAndLoss_toDate"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> filter by the to date of the report e.g. 2021-02-28 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">periods</td> <td> <div id="d2e199_getReportProfitAndLoss_periods"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> The number of periods to compare (integer between 1 and 12) </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">timeframe</td> <td> <div id="d2e199_getReportProfitAndLoss_timeframe"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The period size to compare to (MONTH, QUARTER, YEAR) </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">trackingCategoryID</td> <td> <div id="d2e199_getReportProfitAndLoss_trackingCategoryID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The trackingCategory 1 for the ProfitAndLoss report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">trackingCategoryID2</td> <td> <div id="d2e199_getReportProfitAndLoss_trackingCategoryID2"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The trackingCategory 2 for the ProfitAndLoss report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">trackingOptionID</td> <td> <div id="d2e199_getReportProfitAndLoss_trackingOptionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The tracking option 1 for the ProfitAndLoss report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">trackingOptionID2</td> <td> <div id="d2e199_getReportProfitAndLoss_trackingOptionID2"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The tracking option 2 for the ProfitAndLoss report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">standardLayout</td> <td> <div id="d2e199_getReportProfitAndLoss_standardLayout"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Return the standard layout for the ProfitAndLoss report </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">paymentsOnly</td> <td> <div id="d2e199_getReportProfitAndLoss_paymentsOnly"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Return cash only basis for the ProfitAndLoss report </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportTenNinetyNine"> <article id="api-Accounting-getReportTenNinetyNine-0" data-group="User" data-name="getReportTenNinetyNine" data-version="0"> <div class="pull-left"> <h1>getReportTenNinetyNine</h1> <p>Retrieve reports for 1099</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/TenNinetyNine</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportTenNinetyNine-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportTenNinetyNine-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $reportYear = "2019"; try { $result = $apiInstance->getReportTenNinetyNine($xeroTenantId, $reportYear); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportTenNinetyNine: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.tenninetynine.read</td> <td>Grant read-only access to 1099 reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportTenNinetyNine_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">reportYear</td> <td> <div id="d2e199_getReportTenNinetyNine_reportYear"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> The year of the 1099 report </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportTrialBalance"> <article id="api-Accounting-getReportTrialBalance-0" data-group="User" data-name="getReportTrialBalance" data-version="0"> <div class="pull-left"> <h1>getReportTrialBalance</h1> <p>Retrieves report for trial balance</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports/TrialBalance</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportTrialBalance-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportTrialBalance-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $date = new DateTime("2019-10-31"); $paymentsOnly = true; try { $result = $apiInstance->getReportTrialBalance($xeroTenantId, $date, $paymentsOnly); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportTrialBalance: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportTrialBalance_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">date</td> <td> <div id="d2e199_getReportTrialBalance_date"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> date </span> <span class="format"> (date) </span> <div class="inner description marked"> The date for the Trial Balance report e.g. 2018-03-31 </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">paymentsOnly</td> <td> <div id="d2e199_getReportTrialBalance_paymentsOnly"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> Return cash only basis for the Trial Balance report </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getReportsList"> <article id="api-Accounting-getReportsList-0" data-group="User" data-name="getReportsList" data-version="0"> <div class="pull-left"> <h1>getReportsList</h1> <p>Retrieves a list of the organistaions unique reports that require a uuid to fetch</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Reports</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getReportsList-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getReportsList-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; try { $result = $apiInstance->getReportsList($xeroTenantId); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getReportsList: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.reports.read</td> <td>Grant read-only access to accounting reports</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getReportsList_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getTaxRates"> <article id="api-Accounting-getTaxRates-0" data-group="User" data-name="getTaxRates" data-version="0"> <div class="pull-left"> <h1>getTaxRates</h1> <p>Retrieves tax rates</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/TaxRates</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getTaxRates-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getTaxRates-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\TaxRate::STATUS_ACTIVE . '""; $order = "Name ASC"; $taxType = "INPUT"; try { $result = $apiInstance->getTaxRates($xeroTenantId, $where, $order, $taxType); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getTaxRates: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getTaxRates_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getTaxRates_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getTaxRates_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">TaxType</td> <td> <div id="d2e199_getTaxRates_taxType"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by tax type </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getTrackingCategories"> <article id="api-Accounting-getTrackingCategories-0" data-group="User" data-name="getTrackingCategories" data-version="0"> <div class="pull-left"> <h1>getTrackingCategories</h1> <p>Retrieves tracking categories and options</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/TrackingCategories</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getTrackingCategories-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getTrackingCategories-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $where = "Status=="' . \XeroAPI\XeroPHP\Models\Accounting\TrackingCategory::STATUS_ACTIVE . '""; $order = "Name ASC"; $includeArchived = true; try { $result = $apiInstance->getTrackingCategories($xeroTenantId, $where, $order, $includeArchived); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getTrackingCategories: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getTrackingCategories_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getTrackingCategories_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getTrackingCategories_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">includeArchived</td> <td> <div id="d2e199_getTrackingCategories_includeArchived"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> e.g. includeArchived=true - Categories and options with a status of ARCHIVED will be included in the response </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getTrackingCategory"> <article id="api-Accounting-getTrackingCategory-0" data-group="User" data-name="getTrackingCategory" data-version="0"> <div class="pull-left"> <h1>getTrackingCategory</h1> <p>Retrieves specific tracking categories and options using a unique tracking category Id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/TrackingCategories/{TrackingCategoryID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getTrackingCategory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getTrackingCategory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $trackingCategoryID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getTrackingCategory($xeroTenantId, $trackingCategoryID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getTrackingCategory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">TrackingCategoryID<span style="color:red;">*</span></td> <td> <div id="d2e199_getTrackingCategory_trackingCategoryID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a TrackingCategory </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getTrackingCategory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getUser"> <article id="api-Accounting-getUser-0" data-group="User" data-name="getUser" data-version="0"> <div class="pull-left"> <h1>getUser</h1> <p>Retrieves a specific user</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Users/{UserID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getUser-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getUser-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $userID = "00000000-0000-0000-0000-000000000000"; try { $result = $apiInstance->getUser($xeroTenantId, $userID); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getUser: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">UserID<span style="color:red;">*</span></td> <td> <div id="d2e199_getUser_userID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a User </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getUser_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-getUsers"> <article id="api-Accounting-getUsers-0" data-group="User" data-name="getUsers" data-version="0"> <div class="pull-left"> <h1>getUsers</h1> <p>Retrieves users</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/Users</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-getUsers-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-getUsers-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $ifModifiedSince = new DateTime("2020-02-06T12:17:43.202-08:00"); $where = "IsSubscriber==true"; $order = "LastName ASC"; try { $result = $apiInstance->getUsers($xeroTenantId, $ifModifiedSince, $where, $order); } catch (Exception $e) { echo 'Exception when calling AccountingApi->getUsers: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings.read</td> <td>Grant read-only access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_getUsers_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">If-Modified-Since</td> <td> <div id="d2e199_getUsers_ifModifiedSince"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Date </span> <span class="format"> (date-time) </span> <div class="inner description marked"> Only records created or modified since this timestamp will be returned </div> </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">where</td> <td> <div id="d2e199_getUsers_where"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Filter by an any element </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">order</td> <td> <div id="d2e199_getUsers_order"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Order by an any element </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-postSetup"> <article id="api-Accounting-postSetup-0" data-group="User" data-name="postSetup" data-version="0"> <div class="pull-left"> <h1>postSetup</h1> <p>Sets the chart of accounts, the conversion date and conversion balances</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Setup</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-postSetup-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-postSetup-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $account = new XeroAPI\XeroPHP\Models\Accounting\Account; $account->setCode('123'); $account->setName('Business supplies'); $account->setType(XeroAPI\XeroPHP\Models\Accounting\AccountType::EXPENSE); $accounts = []; array_push($accounts, $account); $conversionDate = new XeroAPI\XeroPHP\Models\Accounting\ConversionDate; $conversionDate->setMonth(10); $conversionDate->setYear(2020); $conversionBalances = []; $setup = new XeroAPI\XeroPHP\Models\Accounting\Setup; $setup->setAccounts($accounts); $setup->setConversionDate($conversionDate); $setup->setConversionBalances($conversionBalances); try { $result = $apiInstance->postSetup($xeroTenantId, $setup); } catch (Exception $e) { echo 'Exception when calling AccountingApi->postSetup: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_postSetup_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">setup <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Setup </span> <div class="inner description marked"> Object including an accounts array, a conversion balances array and a conversion date object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Object including an accounts array, a conversion balances array and a conversion date object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Setup" }, "example" : "{ \"ConversionDate\": {}, \"ConversionBalances\": [], \"Accounts\": [ { \"Code\": \"200\", \"Name\": \"Sales\", \"Type\": \"SALES\", \"ReportingCode\": \"REV.TRA.GOO\" }, { \"Code\": \"400\", \"Name\": \"Advertising\", \"Type\": \"OVERHEADS\", \"ReportingCode\": \"EXP\" }, { \"Code\": \"610\", \"Name\": \"Accounts Receivable\", \"Type\": \"CURRENT\", \"SystemAccount\": \"DEBTORS\", \"ReportingCode\": \"ASS.CUR.REC.TRA\" }, { \"Code\": \"800\", \"Name\": \"Accounts Payable\", \"Type\": \"CURRLIAB\", \"SystemAccount\": \"CREDITORS\", \"ReportingCode\": \"LIA.CUR.PAY\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateAccount"> <article id="api-Accounting-updateAccount-0" data-group="User" data-name="updateAccount" data-version="0"> <div class="pull-left"> <h1>updateAccount</h1> <p>Updates a chart of accounts</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Accounts/{AccountID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateAccount-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateAccount-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; $account = new XeroAPI\XeroPHP\Models\Accounting\Account; $account->setCode('123456'); $account->setName('BarFoo'); $account->setType(XeroAPI\XeroPHP\Models\Accounting\AccountType::EXPENSE); $account->setDescription('Hello World'); $account->setTaxType('NONE'); $accounts = new XeroAPI\XeroPHP\Models\Accounting\Accounts; $arr_accounts = []; array_push($arr_accounts, $account); $accounts->setAccounts($arr_accounts); try { $result = $apiInstance->updateAccount($xeroTenantId, $accountID, $accounts); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateAccount: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateAccount_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateAccount_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">accounts <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Accounts </span> <div class="inner description marked"> Request of type Accounts array with one Account </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Request of type Accounts array with one Account", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Accounts" }, "example" : "{ \"Accounts\":[ { \"Code\":\"123456\", \"Name\":\"BarFoo\", \"AccountID\":\"99ce6032-0678-4aa0-8148-240c75fee33a\", \"Type\":\"EXPENSE\", \"Description\":\"GoodBye World\", \"TaxType\":\"INPUT\", \"EnablePaymentsToAccount\":false, \"ShowInExpenseClaims\":false, \"Class\":\"EXPENSE\", \"ReportingCode\":\"EXP\", \"ReportingCodeName\":\"Expense\", \"UpdatedDateUTC\":\"2019-02-21T16:29:47.96-08:00\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateAccountAttachmentByFileName"> <article id="api-Accounting-updateAccountAttachmentByFileName-0" data-group="User" data-name="updateAccountAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateAccountAttachmentByFileName</h1> <p>Updates attachment on a specific account by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Accounts/{AccountID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateAccountAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateAccountAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $accountID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateAccountAttachmentByFileName($xeroTenantId, $accountID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateAccountAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">AccountID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateAccountAttachmentByFileName_accountID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for Account object </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateAccountAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateAccountAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateBankTransaction"> <article id="api-Accounting-updateBankTransaction-0" data-group="User" data-name="updateBankTransaction" data-version="0"> <div class="pull-left"> <h1>updateBankTransaction</h1> <p>Updates a single spent or received money transaction</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/BankTransactions/{BankTransactionID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateBankTransaction-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateBankTransaction-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $bankAccount = new XeroAPI\XeroPHP\Models\Accounting\Account; $bankAccount->setAccountID('00000000-0000-0000-0000-000000000000'); $bankTransaction = new XeroAPI\XeroPHP\Models\Accounting\BankTransaction; $bankTransaction->setReference('You just updated'); $bankTransaction->setType(XeroAPI\XeroPHP\Models\Accounting\BankTransaction::TYPE_RECEIVE); $bankTransaction->setContact($contact); $bankTransaction->setLineItems($lineItems); $bankTransaction->setBankAccount($bankAccount); $bankTransactions = new XeroAPI\XeroPHP\Models\Accounting\BankTransactions; $arr_bank_transactions = []; array_push($arr_bank_transactions, $bankTransaction); $bankTransactions->setBankTransactions($arr_bank_transactions); try { $result = $apiInstance->updateBankTransaction($xeroTenantId, $bankTransactionID, $bankTransactions, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateBankTransaction: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransaction_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransaction_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">bankTransactions <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> BankTransactions </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BankTransactions" }, "example" : "{ \"BankTransactions\": [ { \"Type\": \"SPEND\", \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\", \"ContactStatus\": \"ACTIVE\", \"Name\": \"Buzz Lightyear\", \"FirstName\": \"Buzz\", \"LastName\": \"Lightyear\", \"EmailAddress\": \"buzz.Lightyear@email.com\", \"ContactPersons\": [], \"BankAccountDetails\": \"\", \"Addresses\": [ { \"AddressType\": \"STREET\", \"City\": \"\", \"Region\": \"\", \"PostalCode\": \"\", \"Country\": \"\" }, { \"AddressType\": \"POBOX\", \"AddressLine1\": \"\", \"AddressLine2\": \"\", \"AddressLine3\": \"\", \"AddressLine4\": \"\", \"City\": \"Palo Alto\", \"Region\": \"CA\", \"PostalCode\": \"94020\", \"Country\": \"United States\" } ], \"Phones\": [ { \"PhoneType\": \"DEFAULT\", \"PhoneNumber\": \"847-1294\", \"PhoneAreaCode\": \"(626)\", \"PhoneCountryCode\": \"\" }, { \"PhoneType\": \"DDI\", \"PhoneNumber\": \"\", \"PhoneAreaCode\": \"\", \"PhoneCountryCode\": \"\" }, { \"PhoneType\": \"FAX\", \"PhoneNumber\": \"\", \"PhoneAreaCode\": \"\", \"PhoneCountryCode\": \"\" }, { \"PhoneType\": \"MOBILE\", \"PhoneNumber\": \"\", \"PhoneAreaCode\": \"\", \"PhoneCountryCode\": \"\" } ], \"UpdatedDateUTC\": \"2017-08-21T13:49:04.227-07:00\", \"ContactGroups\": [] }, \"Lineitems\": [], \"BankAccount\": { \"Code\": \"088\", \"Name\": \"Business Wells Fargo\", \"AccountID\": \"00000000-0000-0000-0000-000000000000\" }, \"IsReconciled\": false, \"Date\": \"2019-02-25\", \"Reference\": \"You just updated\", \"CurrencyCode\": \"USD\", \"CurrencyRate\": 1, \"Status\": \"AUTHORISED\", \"LineAmountTypes\": \"Inclusive\", \"TotalTax\": 1.74, \"BankTransactionID\": \"00000000-0000-0000-0000-000000000000\", \"UpdatedDateUTC\": \"2019-02-26T12:39:27.813-08:00\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateBankTransaction_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateBankTransactionAttachmentByFileName"> <article id="api-Accounting-updateBankTransactionAttachmentByFileName-0" data-group="User" data-name="updateBankTransactionAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateBankTransactionAttachmentByFileName</h1> <p>Updates a specific attachment from a specific bank transaction by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/BankTransactions/{BankTransactionID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateBankTransactionAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateBankTransactionAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransactionID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateBankTransactionAttachmentByFileName($xeroTenantId, $bankTransactionID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateBankTransactionAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransactionAttachmentByFileName_bankTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransactionAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransactionAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateBankTransferAttachmentByFileName"> <article id="api-Accounting-updateBankTransferAttachmentByFileName-0" data-group="User" data-name="updateBankTransferAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateBankTransferAttachmentByFileName</h1> <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/BankTransfers/{BankTransferID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateBankTransferAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateBankTransferAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $bankTransferID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateBankTransferAttachmentByFileName($xeroTenantId, $bankTransferID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateBankTransferAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">BankTransferID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransferAttachmentByFileName_bankTransferID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Xero generated unique identifier for a bank transfer </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransferAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateBankTransferAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateContact"> <article id="api-Accounting-updateContact-0" data-group="User" data-name="updateContact" data-version="0"> <div class="pull-left"> <h1>updateContact</h1> <p>Updates a specific contact in a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Contacts/{ContactID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateContact-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateContact-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setName('Thanos'); $contact->setContactID('00000000-0000-0000-0000-000000000000'); $contacts = new XeroAPI\XeroPHP\Models\Accounting\Contacts; $arr_contacts = []; array_push($arr_contacts, $contact); $contacts->setContacts($arr_contacts); try { $result = $apiInstance->updateContact($xeroTenantId, $contactID, $contacts); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateContact: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateContact_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateContact_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">contacts <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Contacts </span> <div class="inner description marked"> an array of Contacts containing single Contact object with properties to update </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "an array of Contacts containing single Contact object with properties to update", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Contacts" }, "example" : "{ \"Contacts\": [{ \"ContactID\": \"00000000-0000-0000-0000-000000000000\", \"Name\": \"Thanos\" }]}" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateContactAttachmentByFileName"> <article id="api-Accounting-updateContactAttachmentByFileName-0" data-group="User" data-name="updateContactAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateContactAttachmentByFileName</h1> <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Contacts/{ContactID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateContactAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateContactAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateContactAttachmentByFileName($xeroTenantId, $contactID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateContactAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateContactAttachmentByFileName_contactID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateContactAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateContactAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateContactGroup"> <article id="api-Accounting-updateContactGroup-0" data-group="User" data-name="updateContactGroup" data-version="0"> <div class="pull-left"> <h1>updateContactGroup</h1> <p>Updates a specific contact group</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/ContactGroups/{ContactGroupID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateContactGroup-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateContactGroup-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $contactGroupID = "00000000-0000-0000-0000-000000000000"; $contactGroup = new XeroAPI\XeroPHP\Models\Accounting\ContactGroup; $contactGroup->setName('Vendor'); $contactGroups = new XeroAPI\XeroPHP\Models\Accounting\ContactGroups; $arr_contact_groups = []; array_push($arr_contact_groups, $contactGroup); $contactGroups->setContactGroups($arr_contact_groups); try { $result = $apiInstance->updateContactGroup($xeroTenantId, $contactGroupID, $contactGroups); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateContactGroup: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ContactGroupID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateContactGroup_contactGroupID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Contact Group </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateContactGroup_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">contactGroups <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> ContactGroups </span> <div class="inner description marked"> an array of Contact groups with Name of specific group to update </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "an array of Contact groups with Name of specific group to update", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ContactGroups" }, "example" : "{ \"ContactGroups\":[ { \"Name\":\"Suppliers\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateCreditNote"> <article id="api-Accounting-updateCreditNote-0" data-group="User" data-name="updateCreditNote" data-version="0"> <div class="pull-left"> <h1>updateCreditNote</h1> <p>Updates a specific credit note</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/CreditNotes/{CreditNoteID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateCreditNote-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateCreditNote-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; $currDate = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $creditNote = new XeroAPI\XeroPHP\Models\Accounting\CreditNote; $creditNote->setType(XeroAPI\XeroPHP\Models\Accounting\CreditNote::TYPE_ACCPAYCREDIT); $creditNote->setStatus(XeroAPI\XeroPHP\Models\Accounting\CreditNote::STATUS_AUTHORISED); $creditNote->setReference('My ref.'); $creditNote->setContact($contact); $creditNote->setDate($currDate); $creditNote->setLineItems($lineItems); $creditNotes = new XeroAPI\XeroPHP\Models\Accounting\CreditNotes; $arr_credit_notes = []; array_push($arr_credit_notes, $creditNote); $creditNotes->setCreditNotes($arr_credit_notes); try { $result = $apiInstance->updateCreditNote($xeroTenantId, $creditNoteID, $creditNotes, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateCreditNote: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateCreditNote_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateCreditNote_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">creditNotes <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> CreditNotes </span> <div class="inner description marked"> an array of Credit Notes containing credit note details to update </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "an array of Credit Notes containing credit note details to update", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CreditNotes" }, "example" : "{ \"CreditNotes\": [ { \"Type\": \"ACCPAYCREDIT\", \"Contact\": { \"ContactID\": \"430fa14a-f945-44d3-9f97-5df5e28441b8\" }, \"Date\": \"2019-01-05\", \"Status\": \"AUTHORISED\", \"Reference\": \"HelloWorld\", \"LineItems\": [ { \"Description\": \"Foobar\", \"Quantity\": 2, \"UnitAmount\": 20, \"AccountCode\": \"400\" } ] } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateCreditNote_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateCreditNoteAttachmentByFileName"> <article id="api-Accounting-updateCreditNoteAttachmentByFileName-0" data-group="User" data-name="updateCreditNoteAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateCreditNoteAttachmentByFileName</h1> <p>Updates attachments on a specific credit note by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/CreditNotes/{CreditNoteID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateCreditNoteAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateCreditNoteAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $creditNoteID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateCreditNoteAttachmentByFileName($xeroTenantId, $creditNoteID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateCreditNoteAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">CreditNoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateCreditNoteAttachmentByFileName_creditNoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Credit Note </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateCreditNoteAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateCreditNoteAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateExpenseClaim"> <article id="api-Accounting-updateExpenseClaim-0" data-group="User" data-name="updateExpenseClaim" data-version="0"> <div class="pull-left"> <h1>updateExpenseClaim</h1> <p>Updates a specific expense claims</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/ExpenseClaims/{ExpenseClaimID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateExpenseClaim-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateExpenseClaim-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $expenseClaimID = "00000000-0000-0000-0000-000000000000"; $currDate = new DateTime('2020-12-10'); $user = new XeroAPI\XeroPHP\Models\Accounting\User; $user->setUserID('00000000-0000-0000-0000-000000000000'); $receipt = new XeroAPI\XeroPHP\Models\Accounting\Receipt; $receipt->setReceiptID('00000000-0000-0000-0000-000000000000'); $receipt->setDate($currDate); $receipts = []; array_push($receipts, $receipt); $expenseClaim = new XeroAPI\XeroPHP\Models\Accounting\ExpenseClaim; $expenseClaim->setStatus(XeroAPI\XeroPHP\Models\Accounting\ExpenseClaim::STATUS_SUBMITTED); $expenseClaim->setUser($user); $expenseClaim->setReceipts($receipts); $expenseClaims = new XeroAPI\XeroPHP\Models\Accounting\ExpenseClaims; $arr_expense_claims = []; array_push($arr_expense_claims, $expenseClaim); $expenseClaims->setExpenseClaims($arr_expense_claims); try { $result = $apiInstance->updateExpenseClaim($xeroTenantId, $expenseClaimID, $expenseClaims); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateExpenseClaim: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ExpenseClaimID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateExpenseClaim_expenseClaimID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ExpenseClaim </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateExpenseClaim_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">expenseClaims <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> ExpenseClaims </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ExpenseClaims" }, "example" : "{ \"ExpenseClaims\": [ { \"Status\": \"SUBMITTED\", \"User\": { \"UserID\": \"d1164823-0ac1-41ad-987b-b4e30fe0b273\" }, \"Receipts\": [ { \"Lineitems\": [], \"ReceiptID\": \"dc1c7f6d-0a4c-402f-acac-551d62ce5816\" } ] } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateInvoice"> <article id="api-Accounting-updateInvoice-0" data-group="User" data-name="updateInvoice" data-version="0"> <div class="pull-left"> <h1>updateInvoice</h1> <p>Updates a specific sales invoices or purchase bills</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Invoices/{InvoiceID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateInvoice-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateInvoice-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setReference('I am Iron man'); $invoices = new XeroAPI\XeroPHP\Models\Accounting\Invoices; $arr_invoices = []; array_push($arr_invoices, $invoice); $invoices->setInvoices($arr_invoices); try { $result = $apiInstance->updateInvoice($xeroTenantId, $invoiceID, $invoices, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateInvoice: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateInvoice_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateInvoice_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">invoices <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Invoices </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Invoices" }, "example" : "{ \"Invoices\": [{ Reference: \"May the force be with you\", \"InvoiceID\": \"00000000-0000-0000-0000-000000000000\", \"LineItems\": [], \"Contact\": {}, \"Type\": \"ACCPAY\" }]}" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateInvoice_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateInvoiceAttachmentByFileName"> <article id="api-Accounting-updateInvoiceAttachmentByFileName-0" data-group="User" data-name="updateInvoiceAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateInvoiceAttachmentByFileName</h1> <p>Updates an attachment from a specific invoices or purchase bill by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Invoices/{InvoiceID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateInvoiceAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateInvoiceAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $invoiceID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateInvoiceAttachmentByFileName($xeroTenantId, $invoiceID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateInvoiceAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">InvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateInvoiceAttachmentByFileName_invoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateInvoiceAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateInvoiceAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateItem"> <article id="api-Accounting-updateItem-0" data-group="User" data-name="updateItem" data-version="0"> <div class="pull-left"> <h1>updateItem</h1> <p>Updates a specific item</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Items/{ItemID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateItem-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateItem-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $itemID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; $item = new XeroAPI\XeroPHP\Models\Accounting\Item; $item->setCode('ItemCode123'); $item->setDescription('Goodbye'); $items = new XeroAPI\XeroPHP\Models\Accounting\Items; $arr_items = []; array_push($arr_items, $item); $items->setItems($arr_items); try { $result = $apiInstance->updateItem($xeroTenantId, $itemID, $items, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateItem: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ItemID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateItem_itemID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Item </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateItem_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">items <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Items </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Items" }, "example" : "{ \"Items\": [ { \"Code\": \"ItemCode123\", \"Description\": \"Description 123\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateItem_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateLinkedTransaction"> <article id="api-Accounting-updateLinkedTransaction-0" data-group="User" data-name="updateLinkedTransaction" data-version="0"> <div class="pull-left"> <h1>updateLinkedTransaction</h1> <p>Updates a specific linked transactions (billable expenses)</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/LinkedTransactions/{LinkedTransactionID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateLinkedTransaction-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateLinkedTransaction-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $linkedTransactionID = "00000000-0000-0000-0000-000000000000"; $linkedTransaction = new XeroAPI\XeroPHP\Models\Accounting\LinkedTransaction; $linkedTransaction->setSourceLineItemID('00000000-0000-0000-0000-000000000000'); $linkedTransaction->setContactID('00000000-0000-0000-0000-000000000000'); $linkedTransactions = new XeroAPI\XeroPHP\Models\Accounting\LinkedTransactions; $arr_linked_transactions = []; array_push($arr_linked_transactions, $linkedTransaction); $linkedTransactions->setLinkedTransactions($arr_linked_transactions); try { $result = $apiInstance->updateLinkedTransaction($xeroTenantId, $linkedTransactionID, $linkedTransactions); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateLinkedTransaction: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">LinkedTransactionID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateLinkedTransaction_linkedTransactionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a LinkedTransaction </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateLinkedTransaction_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">linkedTransactions <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> LinkedTransactions </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/LinkedTransactions" }, "example" : "{ \"LinkedTransactions\": [ { \"SourceTransactionID\": \"00000000-0000-0000-0000-000000000000\", \"SourceLineItemID\": \"00000000-0000-0000-0000-000000000000\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateManualJournal"> <article id="api-Accounting-updateManualJournal-0" data-group="User" data-name="updateManualJournal" data-version="0"> <div class="pull-left"> <h1>updateManualJournal</h1> <p>Updates a specific manual journal</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/ManualJournals/{ManualJournalID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateManualJournal-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateManualJournal-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; $dateValue = new DateTime('2020-10-10'); $manualJournalLines = []; $credit = new XeroAPI\XeroPHP\Models\Accounting\ManualJournalLine; $credit->setLineAmount(100.0); $credit->setAccountCode('400'); $credit->setDescription('Hello there'); array_push($manualJournalLines, $credit); $debit = new XeroAPI\XeroPHP\Models\Accounting\ManualJournalLine; $debit->setLineAmount(-100.0); $debit->setAccountCode('120'); $debit->setDescription('Hello there'); array_push($manualJournalLines, $debit); $manualJournal = new XeroAPI\XeroPHP\Models\Accounting\ManualJournal; $manualJournal->setNarration('Foobar'); $manualJournal->setDate($dateValue); $manualJournal->setJournalLines($manualJournalLines); $manualJournals = new XeroAPI\XeroPHP\Models\Accounting\ManualJournals; $arr_manual_journals = []; array_push($arr_manual_journals, $manualJournal); $manualJournals->setManualJournals($arr_manual_journals); try { $result = $apiInstance->updateManualJournal($xeroTenantId, $manualJournalID, $manualJournals); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateManualJournal: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateManualJournal_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateManualJournal_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">manualJournals <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> ManualJournals </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ManualJournals" }, "example" : "{ \"ManualJournals\": [ { \"Narration\": \"Hello Xero\", \"ManualJournalID\": \"00000000-0000-0000-0000-000000000000\", \"JournalLines\": [] } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateManualJournalAttachmentByFileName"> <article id="api-Accounting-updateManualJournalAttachmentByFileName-0" data-group="User" data-name="updateManualJournalAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateManualJournalAttachmentByFileName</h1> <p>Updates a specific attachment from a specific manual journal by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/ManualJournals/{ManualJournalID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateManualJournalAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateManualJournalAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $manualJournalID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateManualJournalAttachmentByFileName($xeroTenantId, $manualJournalID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateManualJournalAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ManualJournalID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateManualJournalAttachmentByFileName_manualJournalID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a ManualJournal </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateManualJournalAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateManualJournalAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateBankTransactions"> <article id="api-Accounting-updateOrCreateBankTransactions-0" data-group="User" data-name="updateOrCreateBankTransactions" data-version="0"> <div class="pull-left"> <h1>updateOrCreateBankTransactions</h1> <p>Updates or creates one or more spent or received money transaction</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/BankTransactions</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateBankTransactions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateBankTransactions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $bankAccount = new XeroAPI\XeroPHP\Models\Accounting\Account; $bankAccount->setAccountID('00000000-0000-0000-0000-000000000000'); $bankTransaction = new XeroAPI\XeroPHP\Models\Accounting\BankTransaction; $bankTransaction->setType(XeroAPI\XeroPHP\Models\Accounting\BankTransaction::TYPE_RECEIVE); $bankTransaction->setContact($contact); $bankTransaction->setLineItems($lineItems); $bankTransaction->setBankAccount($bankAccount); $bankTransactions = new XeroAPI\XeroPHP\Models\Accounting\BankTransactions; $arr_bank_transactions = []; array_push($arr_bank_transactions, $bankTransaction); $bankTransactions->setBankTransactions($arr_bank_transactions); try { $result = $apiInstance->updateOrCreateBankTransactions($xeroTenantId, $bankTransactions, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateBankTransactions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateBankTransactions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">bankTransactions <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> BankTransactions </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BankTransactions" }, "example" : "{ \"BankTransactions\": [ { \"Type\": \"SPEND\", \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\" }, \"Lineitems\": [ { \"Description\": \"Foobar\", \"Quantity\": 1, \"UnitAmount\": 20, \"AccountCode\": \"400\" } ], \"BankAccount\": { \"Code\": \"088\" } } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateBankTransactions_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateOrCreateBankTransactions_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateContacts"> <article id="api-Accounting-updateOrCreateContacts-0" data-group="User" data-name="updateOrCreateContacts" data-version="0"> <div class="pull-left"> <h1>updateOrCreateContacts</h1> <p>Updates or creates one or more contacts in a Xero organisation</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Contacts</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateContacts-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateContacts-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $phone = new XeroAPI\XeroPHP\Models\Accounting\Phone; $phone->setPhoneNumber('555-1212'); $phone->setPhoneType(XeroAPI\XeroPHP\Models\Accounting\Phone::PHONE_TYPE_MOBILE); $phones = []; array_push($phones, $phone); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setName('Bruce Banner'); $contact->setEmailAddress('hulk@avengers.com'); $contact->setPhones($phones); $contacts = new XeroAPI\XeroPHP\Models\Accounting\Contacts; $arr_contacts = []; array_push($arr_contacts, $contact); $contacts->setContacts($arr_contacts); try { $result = $apiInstance->updateOrCreateContacts($xeroTenantId, $contacts, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateContacts: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.contacts</td> <td>Grant read-write access to contacts and contact groups</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateContacts_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">contacts <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Contacts </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Contacts" }, "example" : "{ \"Contacts\": [ { \"Name\": \"Bruce Banner\", \"EmailAddress\": \"hulk@avengers.com\", \"Phones\": [ { \"PhoneType\": \"MOBILE\", \"PhoneNumber\": \"555-1212\", \"PhoneAreaCode\": \"415\" } ], \"PaymentTerms\": { \"Bills\": { \"Day\": 15, \"Type\": \"OFCURRENTMONTH\" }, \"Sales\": { \"Day\": 10, \"Type\": \"DAYSAFTERBILLMONTH\" } } } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateContacts_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateCreditNotes"> <article id="api-Accounting-updateOrCreateCreditNotes-0" data-group="User" data-name="updateOrCreateCreditNotes" data-version="0"> <div class="pull-left"> <h1>updateOrCreateCreditNotes</h1> <p>Updates or creates one or more credit notes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/CreditNotes</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateCreditNotes-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateCreditNotes-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $currDate = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $creditNote = new XeroAPI\XeroPHP\Models\Accounting\CreditNote; $creditNote->setType(XeroAPI\XeroPHP\Models\Accounting\CreditNote::TYPE_ACCPAYCREDIT); $creditNote->setContact($contact); $creditNote->setDate($currDate); $creditNote->setLineItems($lineItems); $creditNotes = new XeroAPI\XeroPHP\Models\Accounting\CreditNotes; $arr_credit_notes = []; array_push($arr_credit_notes, $creditNote); $creditNotes->setCreditNotes($arr_credit_notes); try { $result = $apiInstance->updateOrCreateCreditNotes($xeroTenantId, $creditNotes, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateCreditNotes: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateCreditNotes_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">creditNotes <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> CreditNotes </span> <div class="inner description marked"> an array of Credit Notes with a single CreditNote object. </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "an array of Credit Notes with a single CreditNote object.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CreditNotes" }, "example" : "{ \"CreditNotes\":[ { \"Type\":\"ACCPAYCREDIT\", \"Contact\":{ \"ContactID\":\"430fa14a-f945-44d3-9f97-5df5e28441b8\" }, \"Date\":\"2019-01-05\", \"Status\":\"AUTHORISED\", \"Reference\": \"HelloWorld\", \"LineItems\":[ { \"Description\":\"Foobar\", \"Quantity\":2.0, \"UnitAmount\":20.0, \"AccountCode\":\"400\" } ] } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateCreditNotes_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateOrCreateCreditNotes_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateEmployees"> <article id="api-Accounting-updateOrCreateEmployees-0" data-group="User" data-name="updateOrCreateEmployees" data-version="0"> <div class="pull-left"> <h1>updateOrCreateEmployees</h1> <p>Creates a single new employees used in Xero payrun</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Employees</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateEmployees-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateEmployees-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $employee = new XeroAPI\XeroPHP\Models\Accounting\Employee; $employee->setFirstName('Nick'); $employee->setLastName('Fury'); $employees = new XeroAPI\XeroPHP\Models\Accounting\Employees; $arr_employees = []; array_push($arr_employees, $employee); $employees->setEmployees($arr_employees); try { $result = $apiInstance->updateOrCreateEmployees($xeroTenantId, $employees, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateEmployees: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateEmployees_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">employees <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Employees </span> <div class="inner description marked"> Employees with array of Employee object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Employees with array of Employee object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Employees" }, "example" : "{ \"Employees\": [ { \"FirstName\": \"Nick\", \"LastName\": \"Fury\", \"ExternalLink\": { \"Url\": \"http://twitter.com/#!/search/Nick+Fury\" } } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateEmployees_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateInvoices"> <article id="api-Accounting-updateOrCreateInvoices-0" data-group="User" data-name="updateOrCreateInvoices" data-version="0"> <div class="pull-left"> <h1>updateOrCreateInvoices</h1> <p>Updates or creates one or more sales invoices or purchase bills</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Invoices</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateInvoices-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateInvoices-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $dateValue = new DateTime('2020-10-10'); $dueDateValue = new DateTime('2020-10-28'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice; $invoice->setType(XeroAPI\XeroPHP\Models\Accounting\Invoice::TYPE_ACCREC); $invoice->setContact($contact); $invoice->setDate($dateValue); $invoice->setDate($dueDateValue); $invoice->setLineItems($lineItems); $invoice->setReference('Website Design'); $invoice->setStatus(XeroAPI\XeroPHP\Models\Accounting\Invoice::STATUS_DRAFT); $invoices = new XeroAPI\XeroPHP\Models\Accounting\Invoices; $arr_invoices = []; array_push($arr_invoices, $invoice); $invoices->setInvoices($arr_invoices); try { $result = $apiInstance->updateOrCreateInvoices($xeroTenantId, $invoices, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateInvoices: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateInvoices_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">invoices <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Invoices </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Invoices" }, "example" : "{ \"Invoices\": [ { \"Type\": \"ACCREC\", \"Contact\": { \"ContactID\": \"430fa14a-f945-44d3-9f97-5df5e28441b8\" }, \"LineItems\": [ { \"Description\": \"Acme Tires\", \"Quantity\": 2, \"UnitAmount\": 20, \"AccountCode\": \"200\", \"TaxType\": \"NONE\", \"LineAmount\": 40 } ], \"Date\": \"2019-03-11\", \"DueDate\": \"2018-12-10\", \"Reference\": \"Website Design\", \"Status\": \"AUTHORISED\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateInvoices_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateOrCreateInvoices_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateItems"> <article id="api-Accounting-updateOrCreateItems-0" data-group="User" data-name="updateOrCreateItems" data-version="0"> <div class="pull-left"> <h1>updateOrCreateItems</h1> <p>Updates or creates one or more items</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Items</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateItems-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateItems-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $unitdp = 4; $item = new XeroAPI\XeroPHP\Models\Accounting\Item; $item->setCode('abcXYZ123'); $item->setName('HelloWorld'); $item->setDescription('Foobar'); $items = new XeroAPI\XeroPHP\Models\Accounting\Items; $arr_items = []; array_push($arr_items, $item); $items->setItems($arr_items); try { $result = $apiInstance->updateOrCreateItems($xeroTenantId, $items, $summarizeErrors, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateItems: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateItems_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">items <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Items </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Items" }, "example" : "{ \"Items\": [ { \"Code\": \"ItemCode123\", \"Name\": \"ItemName XYZ\", \"Description\": \"Item Description ABC\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateItems_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateOrCreateItems_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateManualJournals"> <article id="api-Accounting-updateOrCreateManualJournals-0" data-group="User" data-name="updateOrCreateManualJournals" data-version="0"> <div class="pull-left"> <h1>updateOrCreateManualJournals</h1> <p>Updates or creates a single manual journal</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/ManualJournals</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateManualJournals-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateManualJournals-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $dateValue = new DateTime('2020-10-10'); $manualJournalLines = []; $credit = new XeroAPI\XeroPHP\Models\Accounting\ManualJournalLine; $credit->setLineAmount(100.0); $credit->setAccountCode('400'); $credit->setDescription('Hello there'); array_push($manualJournalLines, $credit); $debit = new XeroAPI\XeroPHP\Models\Accounting\ManualJournalLine; $debit->setLineAmount(-100.0); $debit->setAccountCode('120'); $debit->setDescription('Hello there'); array_push($manualJournalLines, $debit); $manualJournal = new XeroAPI\XeroPHP\Models\Accounting\ManualJournal; $manualJournal->setNarration('Foobar'); $manualJournal->setDate($dateValue); $manualJournal->setJournalLines($manualJournalLines); $manualJournals = new XeroAPI\XeroPHP\Models\Accounting\ManualJournals; $arr_manual_journals = []; array_push($arr_manual_journals, $manualJournal); $manualJournals->setManualJournals($arr_manual_journals); try { $result = $apiInstance->updateOrCreateManualJournals($xeroTenantId, $manualJournals, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateManualJournals: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateManualJournals_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">manualJournals <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> ManualJournals </span> <div class="inner description marked"> ManualJournals array with ManualJournal object in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "ManualJournals array with ManualJournal object in body of request", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ManualJournals" }, "example" : "{ \"ManualJournals\": [ { \"Narration\": \"Journal Desc\", \"JournalLines\": [ { \"LineAmount\": 100, \"AccountCode\": \"400\", \"Description\": \"Money Movement\" }, { \"LineAmount\": -100, \"AccountCode\": \"400\", \"Description\": \"Prepayment of things\", \"Tracking\": [ { \"Name\": \"North\", \"Option\": \"Region\" } ] } ], \"Date\": \"2019-03-14\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateManualJournals_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreatePurchaseOrders"> <article id="api-Accounting-updateOrCreatePurchaseOrders-0" data-group="User" data-name="updateOrCreatePurchaseOrders" data-version="0"> <div class="pull-left"> <h1>updateOrCreatePurchaseOrders</h1> <p>Updates or creates one or more purchase orders</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/PurchaseOrders</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreatePurchaseOrders-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreatePurchaseOrders-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $dateValue = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $purchaseOrder = new XeroAPI\XeroPHP\Models\Accounting\PurchaseOrder; $purchaseOrder->setContact($contact); $purchaseOrder->setLineItems($lineItems); $purchaseOrder->setDate($dateValue); $purchaseOrders = new XeroAPI\XeroPHP\Models\Accounting\PurchaseOrders; $arr_purchase_orders = []; array_push($arr_purchase_orders, $purchaseOrder); $purchaseOrders->setPurchaseOrders($arr_purchase_orders); try { $result = $apiInstance->updateOrCreatePurchaseOrders($xeroTenantId, $purchaseOrders, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreatePurchaseOrders: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreatePurchaseOrders_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">purchaseOrders <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> PurchaseOrders </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PurchaseOrders" }, "example" : "{ \"PurchaseOrders\": [ { \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\" }, \"LineItems\": [ { \"Description\": \"Foobar\", \"Quantity\": 1, \"UnitAmount\": 20, \"AccountCode\": \"710\" } ], \"Date\": \"2019-03-13\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreatePurchaseOrders_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateOrCreateQuotes"> <article id="api-Accounting-updateOrCreateQuotes-0" data-group="User" data-name="updateOrCreateQuotes" data-version="0"> <div class="pull-left"> <h1>updateOrCreateQuotes</h1> <p>Updates or creates one or more quotes</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Quotes</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateOrCreateQuotes-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateOrCreateQuotes-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $summarizeErrors = true; $dateValue = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $lineItem = new XeroAPI\XeroPHP\Models\Accounting\LineItem; $lineItem->setDescription('Foobar'); $lineItem->setQuantity(1.0); $lineItem->setUnitAmount(20.0); $lineItem->setAccountCode('000'); $lineItems = []; array_push($lineItems, $lineItem); $quote = new XeroAPI\XeroPHP\Models\Accounting\Quote; $quote->setContact($contact); $quote->setLineItems($lineItems); $quote->setDate($dateValue); $quotes = new XeroAPI\XeroPHP\Models\Accounting\Quotes; $arr_quotes = []; array_push($arr_quotes, $quote); $quotes->setQuotes($arr_quotes); try { $result = $apiInstance->updateOrCreateQuotes($xeroTenantId, $quotes, $summarizeErrors); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateOrCreateQuotes: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateOrCreateQuotes_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">quotes <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Quotes </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Quotes" }, "example" : "{ \"Quotes\": [ { \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\" }, \"LineItems\": [ { \"Description\": \"Foobar\", \"Quantity\": 1, \"UnitAmount\": 20, \"AccountCode\": \"12775\" } ], \"Date\": \"2020-02-01\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">summarizeErrors</td> <td> <div id="d2e199_updateOrCreateQuotes_summarizeErrors"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Boolean </span> <div class="inner description marked"> If false return 200 OK and mix of successfully created objects and any with validation errors </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updatePurchaseOrder"> <article id="api-Accounting-updatePurchaseOrder-0" data-group="User" data-name="updatePurchaseOrder" data-version="0"> <div class="pull-left"> <h1>updatePurchaseOrder</h1> <p>Updates a specific purchase order</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updatePurchaseOrder-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updatePurchaseOrder-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; $purchaseOrder = new XeroAPI\XeroPHP\Models\Accounting\PurchaseOrder; $purchaseOrder->setAttentionTo('Peter Parker'); $purchaseOrders = new XeroAPI\XeroPHP\Models\Accounting\PurchaseOrders; $arr_purchase_orders = []; array_push($arr_purchase_orders, $purchaseOrder); $purchaseOrders->setPurchaseOrders($arr_purchase_orders); try { $result = $apiInstance->updatePurchaseOrder($xeroTenantId, $purchaseOrderID, $purchaseOrders); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updatePurchaseOrder: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_updatePurchaseOrder_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updatePurchaseOrder_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">purchaseOrders <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> PurchaseOrders </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PurchaseOrders" }, "example" : "{ \"PurchaseOrders\": [ { \"AttentionTo\": \"Peter Parker\", \"LineItems\": [], \"Contact\": {} } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updatePurchaseOrderAttachmentByFileName"> <article id="api-Accounting-updatePurchaseOrderAttachmentByFileName-0" data-group="User" data-name="updatePurchaseOrderAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updatePurchaseOrderAttachmentByFileName</h1> <p>Updates a specific attachment for a specific purchase order by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/PurchaseOrders/{PurchaseOrderID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updatePurchaseOrderAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updatePurchaseOrderAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $purchaseOrderID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updatePurchaseOrderAttachmentByFileName($xeroTenantId, $purchaseOrderID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updatePurchaseOrderAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">PurchaseOrderID<span style="color:red;">*</span></td> <td> <div id="d2e199_updatePurchaseOrderAttachmentByFileName_purchaseOrderID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Purchase Order </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updatePurchaseOrderAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updatePurchaseOrderAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateQuote"> <article id="api-Accounting-updateQuote-0" data-group="User" data-name="updateQuote" data-version="0"> <div class="pull-left"> <h1>updateQuote</h1> <p>Updates a specific quote</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Quotes/{QuoteID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateQuote-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateQuote-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; $dateValue = new DateTime('2020-12-10'); $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact; $contact->setContactID('00000000-0000-0000-0000-000000000000'); $quote = new XeroAPI\XeroPHP\Models\Accounting\Quote; $quote->setReference('I am an update'); $quote->setContact($contact); $quote->setDate($dateValue); $quotes = new XeroAPI\XeroPHP\Models\Accounting\Quotes; $arr_quotes = []; array_push($arr_quotes, $quote); $quotes->setQuotes($arr_quotes); try { $result = $apiInstance->updateQuote($xeroTenantId, $quoteID, $quotes); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateQuote: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateQuote_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateQuote_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">quotes <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Quotes </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Quotes" }, "example" : "{ \"Quotes\": [ { \"Reference\": \"I am an update\", \"Contact\": { \"ContactID\": \"00000000-0000-0000-0000-000000000000\" }, \"Date\": \"2020-02-01\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateQuoteAttachmentByFileName"> <article id="api-Accounting-updateQuoteAttachmentByFileName-0" data-group="User" data-name="updateQuoteAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateQuoteAttachmentByFileName</h1> <p>Updates a specific attachment from a specific quote by filename</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Quotes/{QuoteID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateQuoteAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateQuoteAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $quoteID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateQuoteAttachmentByFileName($xeroTenantId, $quoteID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateQuoteAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">QuoteID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateQuoteAttachmentByFileName_quoteID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for an Quote </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateQuoteAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateQuoteAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateReceipt"> <article id="api-Accounting-updateReceipt-0" data-group="User" data-name="updateReceipt" data-version="0"> <div class="pull-left"> <h1>updateReceipt</h1> <p>Updates a specific draft expense claim receipts</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Receipts/{ReceiptID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateReceipt-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateReceipt-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; $unitdp = 4; $dateValue = new DateTime('2020-12-10'); $user = new XeroAPI\XeroPHP\Models\Accounting\User; $user->setUserID('00000000-0000-0000-0000-000000000000'); $receipt = new XeroAPI\XeroPHP\Models\Accounting\Receipt; $receipt->setUser($user); $receipt->setReference('Foobar'); $receipt->setDate($dateValue); $receipts = new XeroAPI\XeroPHP\Models\Accounting\Receipts; $arr_receipts = []; array_push($arr_receipts, $receipt); $receipts->setReceipts($arr_receipts); try { $result = $apiInstance->updateReceipt($xeroTenantId, $receiptID, $receipts, $unitdp); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateReceipt: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.transactions</td> <td>Grant read-write access to bank transactions, credit notes, invoices, repeating invoices</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateReceipt_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateReceipt_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">receipts <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Receipts </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Receipts" }, "example" : "{ \"Receipts\": [ { \"Lineitems\": [], \"User\": { \"UserID\": \"00000000-0000-0000-0000-000000000000\" }, \"Reference\": \"Foobar\" } ] }" } }, "required" : true } </script> </table> <div class="methodsubtabletitle">Query parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">unitdp</td> <td> <div id="d2e199_updateReceipt_unitdp"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> Integer </span> <div class="inner description marked"> e.g. unitdp=4 – (Unit Decimal Places) You can opt in to use four decimal places for unit amounts </div> </div> </div> </div> </td> </tr> </table> </article> </div> <hr> <div id="api-Accounting-updateReceiptAttachmentByFileName"> <article id="api-Accounting-updateReceiptAttachmentByFileName-0" data-group="User" data-name="updateReceiptAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateReceiptAttachmentByFileName</h1> <p>Updates a specific attachment on a specific expense claim receipts by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/Receipts/{ReceiptID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateReceiptAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateReceiptAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $receiptID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateReceiptAttachmentByFileName($xeroTenantId, $receiptID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateReceiptAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">ReceiptID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateReceiptAttachmentByFileName_receiptID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Receipt </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateReceiptAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateReceiptAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateRepeatingInvoiceAttachmentByFileName"> <article id="api-Accounting-updateRepeatingInvoiceAttachmentByFileName-0" data-group="User" data-name="updateRepeatingInvoiceAttachmentByFileName" data-version="0"> <div class="pull-left"> <h1>updateRepeatingInvoiceAttachmentByFileName</h1> <p>Updates a specific attachment from a specific repeating invoices by file name</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateRepeatingInvoiceAttachmentByFileName-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateRepeatingInvoiceAttachmentByFileName-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $repeatingInvoiceID = "00000000-0000-0000-0000-000000000000"; $fileName = "xero-dev.jpg"; $handle = fopen($fileName, "r"); $body = fread($handle, filesize($fileName)); fclose($handle); try { $result = $apiInstance->updateRepeatingInvoiceAttachmentByFileName($xeroTenantId, $repeatingInvoiceID, $fileName, $body); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateRepeatingInvoiceAttachmentByFileName: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.attachments</td> <td>Grant read-write access to attachments</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">RepeatingInvoiceID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateRepeatingInvoiceAttachmentByFileName_repeatingInvoiceID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Repeating Invoice </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">FileName<span style="color:red;">*</span></td> <td> <div id="d2e199_updateRepeatingInvoiceAttachmentByFileName_fileName"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Name of the attachment </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateRepeatingInvoiceAttachmentByFileName_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">body <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> byte[] </span> <div class="inner description marked"> Byte array of file in body of request </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "description" : "Byte array of file in body of request", "content" : { "application/octet-stream" : { "schema" : { "type" : "string", "format" : "byte" } } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateTaxRate"> <article id="api-Accounting-updateTaxRate-0" data-group="User" data-name="updateTaxRate" data-version="0"> <div class="pull-left"> <h1>updateTaxRate</h1> <p>Updates tax rates</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/TaxRates</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateTaxRate-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateTaxRate-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $taxComponent = new XeroAPI\XeroPHP\Models\Accounting\TaxComponent; $taxComponent->setName('State Tax'); $taxComponent->setRate(2.25); $taxComponents = []; array_push($taxComponents, $taxComponent); $taxRate = new XeroAPI\XeroPHP\Models\Accounting\TaxRate; $taxRate->setName('CA State Tax'); $taxRate->setTaxComponents($taxComponents); $taxRates = new XeroAPI\XeroPHP\Models\Accounting\TaxRates; $arr_tax_rates = []; array_push($arr_tax_rates, $taxRate); $taxRates->setTaxRates($arr_tax_rates); try { $result = $apiInstance->updateTaxRate($xeroTenantId, $taxRates); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateTaxRate: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateTaxRate_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">taxRates <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> TaxRates </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TaxRates" }, "example" : "{ \"TaxRates\": [ { \"Name\": \"State Tax NY\", \"TaxComponents\": [ { \"Name\": \"State Tax\", \"Rate\": 2.25 } ], \"Status\": \"DELETED\", \"ReportTaxType\": \"INPUT\" } ] }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateTrackingCategory"> <article id="api-Accounting-updateTrackingCategory-0" data-group="User" data-name="updateTrackingCategory" data-version="0"> <div class="pull-left"> <h1>updateTrackingCategory</h1> <p>Updates a specific tracking category</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/TrackingCategories/{TrackingCategoryID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateTrackingCategory-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateTrackingCategory-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $trackingCategoryID = "00000000-0000-0000-0000-000000000000"; $trackingCategory = new XeroAPI\XeroPHP\Models\Accounting\TrackingCategory; $trackingCategory->setName('Foobar'); try { $result = $apiInstance->updateTrackingCategory($xeroTenantId, $trackingCategoryID, $trackingCategory); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateTrackingCategory: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">TrackingCategoryID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateTrackingCategory_trackingCategoryID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a TrackingCategory </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateTrackingCategory_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">trackingCategory <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> TrackingCategory </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TrackingCategory" }, "example" : "{ \"Name\": \"Avengers\" }" } }, "required" : true } </script> </table> </article> </div> <hr> <div id="api-Accounting-updateTrackingOptions"> <article id="api-Accounting-updateTrackingOptions-0" data-group="User" data-name="updateTrackingOptions" data-version="0"> <div class="pull-left"> <h1>updateTrackingOptions</h1> <p>Updates a specific option for a specific tracking category</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> <p class="marked"></p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> <!-- *****REPLACE***** comment out the other languages <li> --> <li class=""><a href="#examples-Accounting-updateTrackingOptions-0-php">PHP</a></li> </ul> <div class="tab-content"> <!-- *****REPLACE***** comment out the other languages tab-pane --> <div class="tab-pane" id="examples-Accounting-updateTrackingOptions-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: OAuth2 $config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' ); $apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi( new GuzzleHttp\Client(), $config ); $xeroTenantId = "YOUR_XERO_TENANT_ID"; $trackingCategoryID = "00000000-0000-0000-0000-000000000000"; $trackingOptionID = "00000000-0000-0000-0000-000000000000"; $trackingOption = new XeroAPI\XeroPHP\Models\Accounting\TrackingOption; $trackingOption->setName('Foobar'); try { $result = $apiInstance->updateTrackingOptions($xeroTenantId, $trackingCategoryID, $trackingOptionID, $trackingOption); } catch (Exception $e) { echo 'Exception when calling AccountingApi->updateTrackingOptions: ', $e->getMessage(), PHP_EOL; } ?> </code></pre> </div> </div> <h2>Scopes</h2> <table> <tr> <td>accounting.settings</td> <td>Grant read-write access to organisation and account settings</td> </tr> </table> <h2>Parameters</h2> <div class="methodsubtabletitle">Path parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">TrackingCategoryID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateTrackingOptions_trackingCategoryID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a TrackingCategory </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> <tr><td style="width:150px;">TrackingOptionID<span style="color:red;">*</span></td> <td> <div id="d2e199_updateTrackingOptions_trackingOptionID"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> UUID </span> <span class="format"> (uuid) </span> <div class="inner description marked"> Unique identifier for a Tracking Option </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Header parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr><td style="width:150px;">xero-tenant-id<span style="color:red;">*</span></td> <td> <div id="d2e199_updateTrackingOptions_xeroTenantId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> String </span> <div class="inner description marked"> Xero identifier for Tenant </div> </div> <div class="inner required"> Required </div> </div> </div> </td> </tr> </table> <div class="methodsubtabletitle">Body parameters</div> <table id="methodsubtable"> <tr> <th width="150px">Name</th> <th>Description</th> </tr> <tr> <td style="width:150px;">trackingOption <span style="color:red;">*</span></td> <td> <div class="json-schema-view"> <div class="primitive"> <span class="type"> TrackingOption </span> <div class="inner description marked"> </div> </div> <div class="inner required"> Required </div> </div> <script type="application/ld+json"> { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/TrackingOption" }, "example" : "{ name: \"Vision\" }" } }, "required" : true } </script> </table> </article> </div> <hr> </section> </div> <div id="footer"> <div id="api-_footer"> <p>Suggestions, contact, support and error reporting; <div class="app-desc">Information URL: <a href="https://developer.xero.com">https://developer.xero.com</a></div> <div class="app-desc">Contact Info: <a href="api@xero.com">api@xero.com</a></div> </p> <div class="license-info">All rights reserved</div> <div class="license-url">http://apache.org/licenses/LICENSE-2.0.html</div> </div> </div> </div> </div> </div> <script> (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define("JSONFormatter", [], factory); else if(typeof exports === 'object') exports["JSONFormatter"] = factory(); else root["JSONFormatter"] = factory(); })(this, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "dist"; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { module.exports = __webpack_require__(1); /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(2); var helpers_ts_1 = __webpack_require__(6); var DATE_STRING_REGEX = /(^\d{1,4}[\.|\\/|-]\d{1,2}[\.|\\/|-]\d{1,4})(\s*(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d\s*[ap]m)?$/; var PARTIAL_DATE_REGEX = /\d{2}:\d{2}:\d{2} GMT-\d{4}/; var JSON_DATE_REGEX = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/; // When toggleing, don't animated removal or addition of more than a few items var MAX_ANIMATED_TOGGLE_ITEMS = 10; var requestAnimationFrame = window.requestAnimationFrame || function (cb) { cb(); return 0; }; ; var _defaultConfig = { hoverPreviewEnabled: false, hoverPreviewArrayCount: 100, hoverPreviewFieldCount: 5, animateOpen: true, animateClose: true, theme: null }; module.exports = (function () { /** * @param {object} json The JSON object you want to render. It has to be an * object or array. Do NOT pass raw JSON string. * * @param {number} [open=1] his number indicates up to how many levels the * rendered tree should expand. Set it to `0` to make the whole tree collapsed * or set it to `Infinity` to expand the tree deeply * * @param {object} [config=defaultConfig] - * defaultConfig = { * hoverPreviewEnabled: false, * hoverPreviewArrayCount: 100, * hoverPreviewFieldCount: 5 * } * * Available configurations: * #####Hover Preview * * `hoverPreviewEnabled`: enable preview on hover * * `hoverPreviewArrayCount`: number of array items to show in preview Any * array larger than this number will be shown as `Array[XXX]` where `XXX` * is length of the array. * * `hoverPreviewFieldCount`: number of object properties to show for object * preview. Any object with more properties that thin number will be * truncated. * * @param {string} [key=undefined] The key that this object in it's parent * context */ function JSONFormatter(json, open, config, key) { if (open === void 0) { open = 1; } if (config === void 0) { config = _defaultConfig; } this.json = json; this.open = open; this.config = config; this.key = key; // Hold the open state after the toggler is used this._isOpen = null; // Setting default values for config object if (this.config.hoverPreviewEnabled === undefined) { this.config.hoverPreviewEnabled = _defaultConfig.hoverPreviewEnabled; } if (this.config.hoverPreviewArrayCount === undefined) { this.config.hoverPreviewArrayCount = _defaultConfig.hoverPreviewArrayCount; } if (this.config.hoverPreviewFieldCount === undefined) { this.config.hoverPreviewFieldCount = _defaultConfig.hoverPreviewFieldCount; } } Object.defineProperty(JSONFormatter.prototype, "isOpen", { /* * is formatter open? */ get: function () { if (this._isOpen !== null) { return this._isOpen; } else { return this.open > 0; } }, /* * set open state (from toggler) */ set: function (value) { this._isOpen = value; }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "isDate", { /* * is this a date string? */ get: function () { return (this.type === 'string') && (DATE_STRING_REGEX.test(this.json) || JSON_DATE_REGEX.test(this.json) || PARTIAL_DATE_REGEX.test(this.json)); }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "isUrl", { /* * is this a URL string? */ get: function () { return this.type === 'string' && (this.json.indexOf('http') === 0); }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "isArray", { /* * is this an array? */ get: function () { return Array.isArray(this.json); }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "isObject", { /* * is this an object? * Note: In this context arrays are object as well */ get: function () { return helpers_ts_1.isObject(this.json); }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "isEmptyObject", { /* * is this an empty object with no properties? */ get: function () { return !this.keys.length && !this.isArray; }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "isEmpty", { /* * is this an empty object or array? */ get: function () { return this.isEmptyObject || (this.keys && !this.keys.length && this.isArray); }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "hasKey", { /* * did we receive a key argument? * This means that the formatter was called as a sub formatter of a parent formatter */ get: function () { return typeof this.key !== 'undefined'; }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "constructorName", { /* * if this is an object, get constructor function name */ get: function () { return helpers_ts_1.getObjectName(this.json); }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "type", { /* * get type of this value * Possible values: all JavaScript primitive types plus "array" and "null" */ get: function () { return helpers_ts_1.getType(this.json); }, enumerable: true, configurable: true }); Object.defineProperty(JSONFormatter.prototype, "keys", { /* * get object keys * If there is an empty key we pad it wit quotes to make it visible */ get: function () { if (this.isObject) { return Object.keys(this.json).map(function (key) { return key ? key : '""'; }); } else { return []; } }, enumerable: true, configurable: true }); /** * Toggles `isOpen` state * */ JSONFormatter.prototype.toggleOpen = function () { this.isOpen = !this.isOpen; if (this.element) { if (this.isOpen) { this.appendChildren(this.config.animateOpen); } else { this.removeChildren(this.config.animateClose); } this.element.classList.toggle(helpers_ts_1.cssClass('open')); } }; /** * Open all children up to a certain depth. * Allows actions such as expand all/collapse all * */ JSONFormatter.prototype.openAtDepth = function (depth) { if (depth === void 0) { depth = 1; } if (depth < 0) { return; } this.open = depth; this.isOpen = (depth !== 0); if (this.element) { this.removeChildren(false); if (depth === 0) { this.element.classList.remove(helpers_ts_1.cssClass('open')); } else { this.appendChildren(this.config.animateOpen); this.element.classList.add(helpers_ts_1.cssClass('open')); } } }; /** * Generates inline preview * * @returns {string} */ JSONFormatter.prototype.getInlinepreview = function () { var _this = this; if (this.isArray) { // if array length is greater then 100 it shows "Array[101]" if (this.json.length > this.config.hoverPreviewArrayCount) { return "Array[" + this.json.length + "]"; } else { return "[" + this.json.map(helpers_ts_1.getPreview).join(', ') + "]"; } } else { var keys = this.keys; // the first five keys (like Chrome Developer Tool) var narrowKeys = keys.slice(0, this.config.hoverPreviewFieldCount); // json value schematic information var kvs = narrowKeys.map(function (key) { return (key + ":" + helpers_ts_1.getPreview(_this.json[key])); }); // if keys count greater then 5 then show ellipsis var ellipsis = keys.length >= this.config.hoverPreviewFieldCount ? '…' : ''; return "{" + kvs.join(', ') + ellipsis + "}"; } }; /** * Renders an HTML element and installs event listeners * * @returns {HTMLDivElement} */ JSONFormatter.prototype.render = function () { // construct the root element and assign it to this.element this.element = helpers_ts_1.createElement('div', 'row'); // construct the toggler link var togglerLink = helpers_ts_1.createElement('a', 'toggler-link'); // if this is an object we need a wrapper span (toggler) if (this.isObject) { togglerLink.appendChild(helpers_ts_1.createElement('span', 'toggler')); } // if this is child of a parent formatter we need to append the key if (this.hasKey) { togglerLink.appendChild(helpers_ts_1.createElement('span', 'key', this.key + ":")); } // Value for objects and arrays if (this.isObject) { // construct the value holder element var value = helpers_ts_1.createElement('span', 'value'); // we need a wrapper span for objects var objectWrapperSpan = helpers_ts_1.createElement('span'); // get constructor name and append it to wrapper span var constructorName = helpers_ts_1.createElement('span', 'constructor-name', this.constructorName); objectWrapperSpan.appendChild(constructorName); // if it's an array append the array specific elements like brackets and length if (this.isArray) { var arrayWrapperSpan = helpers_ts_1.createElement('span'); arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'bracket', '[')); arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'number', (this.json.length))); arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'bracket', ']')); objectWrapperSpan.appendChild(arrayWrapperSpan); } // append object wrapper span to toggler link value.appendChild(objectWrapperSpan); togglerLink.appendChild(value); } else { // make a value holder element var value = this.isUrl ? helpers_ts_1.createElement('a') : helpers_ts_1.createElement('span'); // add type and other type related CSS classes value.classList.add(helpers_ts_1.cssClass(this.type)); if (this.isDate) { value.classList.add(helpers_ts_1.cssClass('date')); } if (this.isUrl) { value.classList.add(helpers_ts_1.cssClass('url')); value.setAttribute('href', this.json); } // Append value content to value element var valuePreview = helpers_ts_1.getValuePreview(this.json, this.json); value.appendChild(document.createTextNode(valuePreview)); // append the value element to toggler link togglerLink.appendChild(value); } // if hover preview is enabled, append the inline preview element if (this.isObject && this.config.hoverPreviewEnabled) { var preview = helpers_ts_1.createElement('span', 'preview-text'); preview.appendChild(document.createTextNode(this.getInlinepreview())); togglerLink.appendChild(preview); } // construct a children element var children = helpers_ts_1.createElement('div', 'children'); // set CSS classes for children if (this.isObject) { children.classList.add(helpers_ts_1.cssClass('object')); } if (this.isArray) { children.classList.add(helpers_ts_1.cssClass('array')); } if (this.isEmpty) { children.classList.add(helpers_ts_1.cssClass('empty')); } // set CSS classes for root element if (this.config && this.config.theme) { this.element.classList.add(helpers_ts_1.cssClass(this.config.theme)); } if (this.isOpen) { this.element.classList.add(helpers_ts_1.cssClass('open')); } // append toggler and children elements to root element this.element.appendChild(togglerLink); this.element.appendChild(children); // if formatter is set to be open call appendChildren if (this.isObject && this.isOpen) { this.appendChildren(); } // add event listener for toggling if (this.isObject) { togglerLink.addEventListener('click', this.toggleOpen.bind(this)); } return this.element; }; /** * Appends all the children to children element * Animated option is used when user triggers this via a click */ JSONFormatter.prototype.appendChildren = function (animated) { var _this = this; if (animated === void 0) { animated = false; } var children = this.element.querySelector("div." + helpers_ts_1.cssClass('children')); if (!children || this.isEmpty) { return; } if (animated) { var index_1 = 0; var addAChild_1 = function () { var key = _this.keys[index_1]; var formatter = new JSONFormatter(_this.json[key], _this.open - 1, _this.config, key); children.appendChild(formatter.render()); index_1 += 1; if (index_1 < _this.keys.length) { if (index_1 > MAX_ANIMATED_TOGGLE_ITEMS) { addAChild_1(); } else { requestAnimationFrame(addAChild_1); } } }; requestAnimationFrame(addAChild_1); } else { this.keys.forEach(function (key) { var formatter = new JSONFormatter(_this.json[key], _this.open - 1, _this.config, key); children.appendChild(formatter.render()); }); } }; /** * Removes all the children from children element * Animated option is used when user triggers this via a click */ JSONFormatter.prototype.removeChildren = function (animated) { if (animated === void 0) { animated = false; } var childrenElement = this.element.querySelector("div." + helpers_ts_1.cssClass('children')); if (animated) { var childrenRemoved_1 = 0; var removeAChild_1 = function () { if (childrenElement && childrenElement.children.length) { childrenElement.removeChild(childrenElement.children[0]); childrenRemoved_1 += 1; if (childrenRemoved_1 > MAX_ANIMATED_TOGGLE_ITEMS) { removeAChild_1(); } else { requestAnimationFrame(removeAChild_1); } } }; requestAnimationFrame(removeAChild_1); } else { if (childrenElement) { childrenElement.innerHTML = ''; } } }; return JSONFormatter; }()); /***/ }, /* 2 */ /***/ function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(3); if(typeof content === 'string') content = [[module.id, content, '']]; // add the styles to the DOM var update = __webpack_require__(5)(content, {"sourceMap":true}); if(content.locals) module.exports = content.locals; // Hot Module Replacement if(false) { // When the styles change, update the <style> tags if(!content.locals) { module.hot.accept("!!./../node_modules/css-loader/index.js?sourceMap!./../node_modules/less-loader/index.js?sourceMap!./style.less", function() { var newContent = require("!!./../node_modules/css-loader/index.js?sourceMap!./../node_modules/less-loader/index.js?sourceMap!./style.less"); if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; update(newContent); }); } // When the module is disposed, remove the <style> tags module.hot.dispose(function() { update(); }); } /***/ }, /* 3 */ /***/ function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(4)(); // imports // module exports.push([module.id, ".json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-row,\n.json-formatter-row a,\n.json-formatter-row a:hover {\n color: black;\n text-decoration: none;\n}\n.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-row .json-formatter-string {\n color: green;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-row .json-formatter-number {\n color: blue;\n}\n.json-formatter-row .json-formatter-boolean {\n color: red;\n}\n.json-formatter-row .json-formatter-null {\n color: #855A00;\n}\n.json-formatter-row .json-formatter-undefined {\n color: #ca0b69;\n}\n.json-formatter-row .json-formatter-function {\n color: #FF20ED;\n}\n.json-formatter-row .json-formatter-date {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: blue;\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-bracket {\n color: blue;\n}\n.json-formatter-row .json-formatter-key {\n color: #00008B;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"\\25BA\";\n}\n.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n.json-formatter-dark.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-dark.json-formatter-row,\n.json-formatter-dark.json-formatter-row a,\n.json-formatter-dark.json-formatter-row a:hover {\n color: white;\n text-decoration: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-string {\n color: #31F031;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-number {\n color: #66C2FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\n color: #EC4242;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-null {\n color: #EEC97D;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\n color: #ef8fbe;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-function {\n color: #FD48CB;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-date {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.json-formatter-dark.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: #027BFF;\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\n color: #9494FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-key {\n color: #23A0DB;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"\\25BA\";\n}\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n", "", {"version":3,"sources":["/./src/style.less","/./src/style.less"],"names":[],"mappings":"AA0GA;EA3FE,uBAAA;CCbD;ADcC;;;EACE,aAAA;EACA,sBAAA;CCVH;ADkGD;EApFI,kBAAA;CCXH;ADeG;EACE,aAAA;EACA,kBAAA;CCbL;ADeK;EAAU,cAAA;CCZf;ADaK;EAAgC,yBAAA;CCVrC;ADWK;EAA+B,cAAA;CCRpC;ADkFD;EArEI,aAAA;EACA,iBAAA;EACA,sBAAA;CCVH;AD6ED;EAjE2B,YAAA;CCT1B;AD0ED;EAhE4B,WAAA;CCP3B;ADuED;EA/DyB,eAAA;CCLxB;ADoED;EA9D8B,eAAA;CCH7B;ADiED;EA7D6B,eAAA;CCD5B;AD8DD;EA5DyB,sCAAA;CCCxB;AD2DD;EA1DI,2BAAA;EACA,YAAA;EACA,gBAAA;CCEH;ADsDD;EArD4B,YAAA;CCE3B;ADmDD;EAnDI,eAAA;EACA,gBAAA;EACA,sBAAA;CCGH;AD8CD;EA9CI,gBAAA;CCGH;AD2CD;EA1CI,oBAAA;EACA,kBAAA;EACA,uBAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;CCEH;ADAG;EACE,sBAAA;EACA,oCAAA;EACA,iBAAA;CCEL;AD8BD;EA1BI,WAAA;EACA,kCAAA;EACA,mBAAA;CCDH;ADGC;EACE,aAAA;CCDH;ADKC;EAEI,yBAAA;CCJL;ADEC;EAKI,sBAAA;CCJL;ADDC;EAQI,cAAA;CCJL;ADMG;EACE,eAAA;CCJL;ADeD;EAhGE,uBAAA;CCoFD;ADnFC;;;EACE,aAAA;EACA,sBAAA;CCuFH;ADMD;EAzFI,kBAAA;CCsFH;ADlFG;EACE,aAAA;EACA,kBAAA;CCoFL;ADlFK;EAAU,cAAA;CCqFf;ADpFK;EAAgC,yBAAA;CCuFrC;ADtFK;EAA+B,cAAA;CCyFpC;ADVD;EA1EI,eAAA;EACA,iBAAA;EACA,sBAAA;CCuFH;ADfD;EAtE2B,eAAA;CCwF1B;ADlBD;EArE4B,eAAA;CC0F3B;ADrBD;EApEyB,eAAA;CC4FxB;ADxBD;EAnE8B,eAAA;CC8F7B;AD3BD;EAlE6B,eAAA;CCgG5B;AD9BD;EAjEyB,4CAAA;CCkGxB;ADjCD;EA/DI,2BAAA;EACA,eAAA;EACA,gBAAA;CCmGH;ADtCD;EA1D4B,eAAA;CCmG3B;ADzCD;EAxDI,eAAA;EACA,gBAAA;EACA,sBAAA;CCoGH;AD9CD;EAnDI,gBAAA;CCoGH;ADjDD;EA/CI,oBAAA;EACA,kBAAA;EACA,uBAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;CCmGH;ADjGG;EACE,sBAAA;EACA,oCAAA;EACA,iBAAA;CCmGL;AD9DD;EA/BI,WAAA;EACA,kCAAA;EACA,mBAAA;CCgGH;AD9FC;EACE,aAAA;CCgGH;AD5FC;EAEI,yBAAA;CC6FL;AD/FC;EAKI,sBAAA;CC6FL;ADlGC;EAQI,cAAA;CC6FL;AD3FG;EACE,eAAA;CC6FL","file":"style.less","sourcesContent":[".theme(\n @default-color: black,\n @string-color: green,\n @number-color: blue,\n @boolean-color: red,\n @null-color: #855A00,\n @undefined-color: rgb(202, 11, 105),\n @function-color: #FF20ED,\n @rotate-time: 100ms,\n @toggler-opacity: 0.6,\n @toggler-color: #45376F,\n @bracket-color: blue,\n @key-color: #00008B,\n @url-color: blue ){\n\n font-family: monospace;\n &, a, a:hover {\n color: @default-color;\n text-decoration: none;\n }\n\n .json-formatter-row {\n margin-left: 1rem;\n }\n\n .json-formatter-children {\n &.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n\n &:after { display: none; }\n &.json-formatter-object:after { content: \"No properties\"; }\n &.json-formatter-array:after { content: \"[]\"; }\n }\n }\n\n .json-formatter-string {\n color: @string-color;\n white-space: pre;\n word-wrap: break-word;\n }\n .json-formatter-number { color: @number-color; }\n .json-formatter-boolean { color: @boolean-color; }\n .json-formatter-null { color: @null-color; }\n .json-formatter-undefined { color: @undefined-color; }\n .json-formatter-function { color: @function-color; }\n .json-formatter-date { background-color: fade(@default-color, 5%); }\n .json-formatter-url {\n text-decoration: underline;\n color: @url-color;\n cursor: pointer;\n }\n\n .json-formatter-bracket { color: @bracket-color; }\n .json-formatter-key {\n color: @key-color;\n cursor: pointer;\n padding-right: 0.2rem;\n }\n .json-formatter-constructor-name {\n cursor: pointer;\n }\n\n .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: @toggler-opacity;\n cursor: pointer;\n padding-right: 0.2rem;\n\n &:after {\n display: inline-block;\n transition: transform @rotate-time ease-in;\n content: \"►\";\n }\n }\n\n // Inline preview on hover (optional)\n > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity .15s ease-in;\n font-style: italic;\n }\n &:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n }\n\n // Open state\n &.json-formatter-open {\n > .json-formatter-toggler-link .json-formatter-toggler:after{\n transform: rotate(90deg);\n }\n > .json-formatter-children:after {\n display: inline-block;\n }\n > a > .json-formatter-preview-text {\n display: none;\n }\n &.json-formatter-empty:after {\n display: block;\n }\n }\n}\n\n// Default theme\n.json-formatter-row {\n .theme();\n}\n\n// Dark theme\n.json-formatter-dark.json-formatter-row {\n .theme(\n @default-color: white,\n @string-color: #31F031,\n @number-color: #66C2FF,\n @boolean-color: #EC4242,\n @null-color: #EEC97D,\n @undefined-color: rgb(239, 143, 190),\n @function-color: #FD48CB,\n @rotate-time: 100ms,\n @toggler-opacity: 0.6,\n @toggler-color: #45376F,\n @bracket-color: #9494FF,\n @key-color: #23A0DB,\n @url-color: #027BFF);\n}\n",".json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-row,\n.json-formatter-row a,\n.json-formatter-row a:hover {\n color: black;\n text-decoration: none;\n}\n.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-row .json-formatter-string {\n color: green;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-row .json-formatter-number {\n color: blue;\n}\n.json-formatter-row .json-formatter-boolean {\n color: red;\n}\n.json-formatter-row .json-formatter-null {\n color: #855A00;\n}\n.json-formatter-row .json-formatter-undefined {\n color: #ca0b69;\n}\n.json-formatter-row .json-formatter-function {\n color: #FF20ED;\n}\n.json-formatter-row .json-formatter-date {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: blue;\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-bracket {\n color: blue;\n}\n.json-formatter-row .json-formatter-key {\n color: #00008B;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"►\";\n}\n.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n.json-formatter-dark.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-dark.json-formatter-row,\n.json-formatter-dark.json-formatter-row a,\n.json-formatter-dark.json-formatter-row a:hover {\n color: white;\n text-decoration: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-string {\n color: #31F031;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-number {\n color: #66C2FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\n color: #EC4242;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-null {\n color: #EEC97D;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\n color: #ef8fbe;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-function {\n color: #FD48CB;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-date {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.json-formatter-dark.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: #027BFF;\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\n color: #9494FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-key {\n color: #23A0DB;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"►\";\n}\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n"],"sourceRoot":"webpack://"}]); // exports /***/ }, /* 4 */ /***/ function(module, exports) { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader module.exports = function() { var list = []; // return the list of modules as css string list.toString = function toString() { var result = []; for(var i = 0; i < this.length; i++) { var item = this[i]; if(item[2]) { result.push("@media " + item[2] + "{" + item[1] + "}"); } else { result.push(item[1]); } } return result.join(""); }; // import a list of modules into the list list.i = function(modules, mediaQuery) { if(typeof modules === "string") modules = [[null, modules, ""]]; var alreadyImportedModules = {}; for(var i = 0; i < this.length; i++) { var id = this[i][0]; if(typeof id === "number") alreadyImportedModules[id] = true; } for(i = 0; i < modules.length; i++) { var item = modules[i]; // skip already imported module // this implementation is not 100% perfect for weird media query combinations // when a module is imported multiple times with different media queries. // I hope this will never occur (Hey this way we have smaller bundles) if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { if(mediaQuery && !item[2]) { item[2] = mediaQuery; } else if(mediaQuery) { item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; } list.push(item); } } }; return list; }; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ var stylesInDom = {}, memoize = function(fn) { var memo; return function () { if (typeof memo === "undefined") memo = fn.apply(this, arguments); return memo; }; }, isOldIE = memoize(function() { return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase()); }), getHeadElement = memoize(function () { return document.head || document.getElementsByTagName("head")[0]; }), singletonElement = null, singletonCounter = 0, styleElementsInsertedAtTop = []; module.exports = function(list, options) { if(false) { if(typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); } options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> // tags it will allow on a page if (typeof options.singleton === "undefined") options.singleton = isOldIE(); // By default, add <style> tags to the bottom of <head>. if (typeof options.insertAt === "undefined") options.insertAt = "bottom"; var styles = listToStyles(list); addStylesToDom(styles, options); return function update(newList) { var mayRemove = []; for(var i = 0; i < styles.length; i++) { var item = styles[i]; var domStyle = stylesInDom[item.id]; domStyle.refs--; mayRemove.push(domStyle); } if(newList) { var newStyles = listToStyles(newList); addStylesToDom(newStyles, options); } for(var i = 0; i < mayRemove.length; i++) { var domStyle = mayRemove[i]; if(domStyle.refs === 0) { for(var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j](); delete stylesInDom[domStyle.id]; } } }; } function addStylesToDom(styles, options) { for(var i = 0; i < styles.length; i++) { var item = styles[i]; var domStyle = stylesInDom[item.id]; if(domStyle) { domStyle.refs++; for(var j = 0; j < domStyle.parts.length; j++) { domStyle.parts[j](item.parts[j]); } for(; j < item.parts.length; j++) { domStyle.parts.push(addStyle(item.parts[j], options)); } } else { var parts = []; for(var j = 0; j < item.parts.length; j++) { parts.push(addStyle(item.parts[j], options)); } stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts}; } } } function listToStyles(list) { var styles = []; var newStyles = {}; for(var i = 0; i < list.length; i++) { var item = list[i]; var id = item[0]; var css = item[1]; var media = item[2]; var sourceMap = item[3]; var part = {css: css, media: media, sourceMap: sourceMap}; if(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]}); else newStyles[id].parts.push(part); } return styles; } function insertStyleElement(options, styleElement) { var head = getHeadElement(); var lastStyleElementInsertedAtTop = styleElementsInsertedAtTop[styleElementsInsertedAtTop.length - 1]; if (options.insertAt === "top") { if(!lastStyleElementInsertedAtTop) { head.insertBefore(styleElement, head.firstChild); } else if(lastStyleElementInsertedAtTop.nextSibling) { head.insertBefore(styleElement, lastStyleElementInsertedAtTop.nextSibling); } else { head.appendChild(styleElement); } styleElementsInsertedAtTop.push(styleElement); } else if (options.insertAt === "bottom") { head.appendChild(styleElement); } else { throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'."); } } function removeStyleElement(styleElement) { styleElement.parentNode.removeChild(styleElement); var idx = styleElementsInsertedAtTop.indexOf(styleElement); if(idx >= 0) { styleElementsInsertedAtTop.splice(idx, 1); } } function createStyleElement(options) { var styleElement = document.createElement("style"); styleElement.type = "text/css"; insertStyleElement(options, styleElement); return styleElement; } function createLinkElement(options) { var linkElement = document.createElement("link"); linkElement.rel = "stylesheet"; insertStyleElement(options, linkElement); return linkElement; } function addStyle(obj, options) { var styleElement, update, remove; if (options.singleton) { var styleIndex = singletonCounter++; styleElement = singletonElement || (singletonElement = createStyleElement(options)); update = applyToSingletonTag.bind(null, styleElement, styleIndex, false); remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true); } else if(obj.sourceMap && typeof URL === "function" && typeof URL.createObjectURL === "function" && typeof URL.revokeObjectURL === "function" && typeof Blob === "function" && typeof btoa === "function") { styleElement = createLinkElement(options); update = updateLink.bind(null, styleElement); remove = function() { removeStyleElement(styleElement); if(styleElement.href) URL.revokeObjectURL(styleElement.href); }; } else { styleElement = createStyleElement(options); update = applyToTag.bind(null, styleElement); remove = function() { removeStyleElement(styleElement); }; } update(obj); return function updateStyle(newObj) { if(newObj) { if(newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) return; update(obj = newObj); } else { remove(); } }; } var replaceText = (function () { var textStore = []; return function (index, replacement) { textStore[index] = replacement; return textStore.filter(Boolean).join('\n'); }; })(); function applyToSingletonTag(styleElement, index, remove, obj) { var css = remove ? "" : obj.css; if (styleElement.styleSheet) { styleElement.styleSheet.cssText = replaceText(index, css); } else { var cssNode = document.createTextNode(css); var childNodes = styleElement.childNodes; if (childNodes[index]) styleElement.removeChild(childNodes[index]); if (childNodes.length) { styleElement.insertBefore(cssNode, childNodes[index]); } else { styleElement.appendChild(cssNode); } } } function applyToTag(styleElement, obj) { var css = obj.css; var media = obj.media; if(media) { styleElement.setAttribute("media", media) } if(styleElement.styleSheet) { styleElement.styleSheet.cssText = css; } else { while(styleElement.firstChild) { styleElement.removeChild(styleElement.firstChild); } styleElement.appendChild(document.createTextNode(css)); } } function updateLink(linkElement, obj) { var css = obj.css; var sourceMap = obj.sourceMap; if(sourceMap) { // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */"; } var blob = new Blob([css], { type: "text/css" }); var oldSrc = linkElement.href; linkElement.href = URL.createObjectURL(blob); if(oldSrc) URL.revokeObjectURL(oldSrc); } /***/ }, /* 6 */ /***/ function(module, exports) { "use strict"; /* * Escapes `"` characters from string */ function escapeString(str) { return str.replace('"', '\"'); } /* * Determines if a value is an object */ function isObject(value) { var type = typeof value; return !!value && (type == 'object'); } exports.isObject = isObject; /* * Gets constructor name of an object. * */ function getObjectName(object) { if (object === undefined) { return ''; } if (object === null || (typeof object === 'object' && !object.constructor)) { return 'Object'; } var funcNameRegex = /function ([^(]*)/; var results = (funcNameRegex).exec((object).constructor.toString()); if (results && results.length > 1) { return results[1]; } else { return ''; } } exports.getObjectName = getObjectName; /* * Gets type of an object. Returns "null" for null objects */ function getType(object) { if (object === null) { return 'null'; } return typeof object; } exports.getType = getType; /* * Generates inline preview for a JavaScript object based on a value */ function getValuePreview(object, value) { var type = getType(object); if (type === 'null' || type === 'undefined') { return type; } if (type === 'string') { value = '"' + escapeString(value) + '"'; } if (type === 'function') { // Remove content of the function return object.toString() .replace(/[\r\n]/g, '') .replace(/\{.*\}/, '') + '{…}'; } return value; } exports.getValuePreview = getValuePreview; /* * Generates inline preview for a JavaScript object */ function getPreview(object) { var value = ''; if (isObject(object)) { value = getObjectName(object); if (Array.isArray(object)) value += '[' + object.length + ']'; } else { value = getValuePreview(object, object); } return value; } exports.getPreview = getPreview; /* * Generates a prefixed CSS class name */ function cssClass(className) { return "json-formatter-" + className; } exports.cssClass = cssClass; /* * Creates a new DOM element with given type and class * TODO: move me to helpers */ function createElement(type, className, content) { var el = document.createElement(type); if (className) { el.classList.add(cssClass(className)); } if (content !== undefined) { if (content instanceof Node) { el.appendChild(content); } else { el.appendChild(document.createTextNode(String(content))); } } return el; } exports.createElement = createElement; /***/ } /******/ ]) }); ; //# sourceMappingURL=json-formatter.js.map </script> <script> (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSONSchemaView = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ 'use strict'; /* * Converts anyOf, allOf and oneOf to human readable string */ Object.defineProperty(exports, '__esModule', { value: true }); exports.convertXOf = convertXOf; exports._if = _if; function convertXOf(type) { return type.substring(0, 3) + ' of'; } /* * if condition for ES6 template strings * to be used only in template string * * @example mystr = `Random is ${_if(Math.random() > 0.5)`greater than 0.5`` * * @param {boolean} condition * * @returns {function} the template function */ function _if(condition) { return condition ? normal : empty; } function empty() { return ''; } function normal(template) { for (var _len = arguments.length, expressions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { expressions[_key - 1] = arguments[_key]; } return template.slice(1).reduce(function (accumulator, part, i) { return accumulator + expressions[i] + part; }, template[0]); } },{}],2:[function(require,module,exports){ 'use strict'; /* globals JSONSchemaView */ Object.defineProperty(exports, '__esModule', { value: true }); var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); var _templateObject = _taggedTemplateLiteral(['\n <div class="any">\n ', '\n\n <span class="type type-any"><any></span>\n\n ', '\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n </div>\n '], ['\n <div class="any">\n ', '\n\n <span class="type type-any"><any></span>\n\n ', '\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n </div>\n ']), _templateObject2 = _taggedTemplateLiteral(['\n <a class="title"><span class="toggle-handle"></span>', ' </a>\n '], ['\n <a class="title"><span class="toggle-handle"></span>', ' </a>\n ']), _templateObject3 = _taggedTemplateLiteral(['\n <div class="inner description marked">', '</div>\n '], ['\n <div class="inner description marked">', '</div>\n ']), _templateObject4 = _taggedTemplateLiteral(['\n <div class="inner required">Required: ', '</div>\n '], ['\n <div class="inner required">Required: ', '</div>\n ']), _templateObject5 = _taggedTemplateLiteral(['\n <div class="inner default">Default: ', '</div>\n '], ['\n <div class="inner default">Default: ', '</div>\n ']), _templateObject6 = _taggedTemplateLiteral(['\n <div class="inner pattern">Pattern: ', '</div>\n '], ['\n <div class="inner pattern">Pattern: ', '</div>\n ']), _templateObject7 = _taggedTemplateLiteral(['\n <div class="primitive">\n ', '\n\n <span class="type">', '</span>\n\n \n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\t\t \n\t\t \n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n\n ', '\n\n ', '\n ', '\n ', '\n </div>\n '], ['\n <div class="primitive">\n ', '\n\n <span class="type">', '</span>\n\n \n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\t\t \n\t\t \n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n\n ', '\n\n ', '\n ', '\n ', '\n </div>\n ']), _templateObject8 = _taggedTemplateLiteral(['\n <span class="format">(', ')</span>\n '], ['\n <span class="format">(', ')</span>\n ']), _templateObject9 = _taggedTemplateLiteral(['\n <span class="range minimum">minimum:', '</span>\n '], ['\n <span class="range minimum">minimum:', '</span>\n ']), _templateObject10 = _taggedTemplateLiteral(['\n <span class="range exclusiveMinimum">(ex)minimum:', '</span>\n '], ['\n <span class="range exclusiveMinimum">(ex)minimum:', '</span>\n ']), _templateObject11 = _taggedTemplateLiteral(['\n <span class="range maximum">maximum:', '</span>\n '], ['\n <span class="range maximum">maximum:', '</span>\n ']), _templateObject12 = _taggedTemplateLiteral(['\n <span class="range exclusiveMaximum">(ex)maximum:', '</span>\n '], ['\n <span class="range exclusiveMaximum">(ex)maximum:', '</span>\n ']), _templateObject13 = _taggedTemplateLiteral(['\n <span class="range minLength">minLength:', '</span>\n '], ['\n <span class="range minLength">minLength:', '</span>\n ']), _templateObject14 = _taggedTemplateLiteral(['\n <span class="range maxLength">maxLength:', '</span>\n '], ['\n <span class="range maxLength">maxLength:', '</span>\n ']), _templateObject15 = _taggedTemplateLiteral(['\n <div class="inner required">Required</div>\n '], ['\n <div class="inner required">Required</div>\n ']), _templateObject16 = _taggedTemplateLiteral(['\n ', '\n '], ['\n ', '\n ']), _templateObject17 = _taggedTemplateLiteral(['', ''], ['', '']), _templateObject18 = _taggedTemplateLiteral(['\n <div class="array">\n <a class="title"><span class="toggle-handle"></span>', '<span class="opening bracket">[</span>', '</a>\n ', '\n <div class="inner">\n ', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n '], ['\n <div class="array">\n <a class="title"><span class="toggle-handle"></span>', '<span class="opening bracket">[</span>', '</a>\n ', '\n <div class="inner">\n ', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n ']), _templateObject19 = _taggedTemplateLiteral(['<span class="closing bracket">]</span>'], ['<span class="closing bracket">]</span>']), _templateObject20 = _taggedTemplateLiteral(['\n <span>\n <span title="items range">(', '..', ')</span>\n ', '\n </span>\n '], ['\n <span>\n <span title="items range">(', '..', ')</span>\n ', '\n </span>\n ']), _templateObject21 = _taggedTemplateLiteral(['<span title="unique" class="uniqueItems">♦</span>'], ['<span title="unique" class="uniqueItems">♦</span>']), _templateObject22 = _taggedTemplateLiteral(['\n <div class="description">', '</div>\n '], ['\n <div class="description">', '</div>\n ']), _templateObject23 = _taggedTemplateLiteral(['\n <span class="closing bracket">]</span>\n '], ['\n <span class="closing bracket">]</span>\n ']), _templateObject24 = _taggedTemplateLiteral(['\n <div class="object">\n <a class="title"><span\n class="toggle-handle"></span>', ' <span\n class="opening brace">{</span>', '</a>\n\n <div class="inner">\n ', '\n <!-- children go here -->\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t \n\t\t\t', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n '], ['\n <div class="object">\n <a class="title"><span\n class="toggle-handle"></span>', ' <span\n class="opening brace">{</span>', '</a>\n\n <div class="inner">\n ', '\n <!-- children go here -->\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t \n\t\t\t', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n ']), _templateObject25 = _taggedTemplateLiteral(['\n <span class="closing brace" ng-if="isCollapsed">}</span>\n '], ['\n <span class="closing brace" ng-if="isCollapsed">}</span>\n ']), _templateObject26 = _taggedTemplateLiteral(['\n <div class="required">Required: ', '</div>\n '], ['\n <div class="required">Required: ', '</div>\n ']), _templateObject266 = _taggedTemplateLiteral(['\n <div class="required">Required: ', '</div>\n '], ['\n <div class="required">Required: ', '</div>\n ']), _templateObject27 = _taggedTemplateLiteral(['\n <div class="default">Default: ', '</div>\n '], ['\n <div class="default">Default: ', '</div>\n ']), _templateObject28 = _taggedTemplateLiteral(['\n <div class="pattern">Pattern: ', '</div>\n '], ['\n <div class="pattern">Pattern: ', '</div>\n ']), _templateObject29 = _taggedTemplateLiteral(['\n <span class="closing brace">}</span>\n '], ['\n <span class="closing brace">}</span>\n ']), _templateObject30 = _taggedTemplateLiteral(['\n <div class="inner enums">\n <b>Enum:</b>\n </div>\n '], ['\n <div class="inner enums">\n <b>Enum:</b>\n </div>\n ']), _templateObject31 = _taggedTemplateLiteral(['\n <div class="inner example">Example: ', '</div>\n '], ['\n <div class="inner example">Example: ', '</div>\n ']), _templateObject32 = _taggedTemplateLiteral(['\n <div class="inner readOnly">Read Only</div>\n '], ['\n <div class="inner readOnly">Read Only</div>\n ']), _templateObject33 = _taggedTemplateLiteral(['\n <div class="inner nullable">Nullable</div>\n '], ['\n <div class="inner nullable">Nullable</div>\n ']); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } var _helpersJs = require('./helpers.js'); /** * @class JSONSchemaView * * A pure JavaScript component for rendering JSON Schema in HTML. */ var JSONSchemaView = (function () { /** * @param {object} schema The JSON Schema object * * @param {number} [open=1] his number indicates up to how many levels the * rendered tree should expand. Set it to `0` to make the whole tree collapsed * or set it to `Infinity` to expand the tree deeply * @param {object} options. * theme {string}: one of the following options: ['dark'] */ function JSONSchemaView(schema, open) { var _this = this; var options = arguments.length <= 2 || arguments[2] === undefined ? { theme: null } : arguments[2]; _classCallCheck(this, JSONSchemaView); this.schema = schema; //console.log(schema); this.open = open; this.options = options; this.isCollapsed = open <= 0; // if schema is an empty object which means any JOSN this.isAny = typeof schema === 'object' && !Array.isArray(schema) && !Object.keys(schema).filter(function (k) { return ['title', 'description'].indexOf(k) === -1; }).length; // Determine if a schema is an array this.isArray = !this.isAny && this.schema && this.schema.type === 'array'; this.isObject = this.schema && (this.schema.type === 'object' || this.schema.properties || this.schema.anyOf || this.schema.oneof || this.schema.allOf); // Determine if a schema is a primitive this.isPrimitive = !this.isAny && !this.isArray && !this.isObject; // this.showToggle = this.schema.description || this.schema.title || this.isPrimitive && (this.schema.minimum || this.schema.maximum || this.schema.exclusiveMinimum || this.schema.exclusiveMaximum); // populate isRequired property down to properties if (this.schema && Array.isArray(this.schema.required)) { this.schema.required.forEach(function (requiredProperty) { if (typeof _this.schema.properties[requiredProperty] === 'object') { _this.schema.properties[requiredProperty].isRequired = true; } }); } // Determine if a schema is a read-only this.isReadOnly = this.schema && this.schema.readOnly === true; // Determine if a schema is nullable this.isNullable = this.schema && this.schema["x-nullable"] === true; } /* * Returns the template with populated properties. * This template does not have the children */ _createClass(JSONSchemaView, [{ key: 'template', value: function template() { if (!this.schema) { return ''; } return ('\n <!-- Any -->\n ' + (0, _helpersJs._if)(this.isAny)(_templateObject, (0, _helpersJs._if)(this.showToggle)(_templateObject2, this.schema.title || ''), (0, _helpersJs._if)(this.schema.description && !this.isCollapsed)(_templateObject3, marked(this.schema.description || "")), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed)(_templateObject4, this.schema.required), (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject5, this.schema['default']), (0, _helpersJs._if)(this.schema.pattern && !this.isCollapsed)(_templateObject6, this.schema.pattern), (0, _helpersJs._if)(this.schema.example && !this.isCollapsed)(_templateObject31, this.schema.example)) + '\n\n <!-- Primitive -->\n ' + (0, _helpersJs._if)(this.isPrimitive)(_templateObject7, (0, _helpersJs._if)(this.showToggle)(_templateObject2, this.schema.title || ''), this.schema.type, (0, _helpersJs._if)(!this.isCollapsed && this.schema.format)(_templateObject8, this.schema.format), (0, _helpersJs._if)(!this.isCollapsed && this.schema.minimum)(_templateObject9, this.schema.minimum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.exclusiveMinimum)(_templateObject10, this.schema.exclusiveMinimum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.maximum)(_templateObject11, this.schema.maximum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.exclusiveMaximum)(_templateObject12, this.schema.exclusiveMaximum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.minLength)(_templateObject13, this.schema.minLength), (0, _helpersJs._if)(!this.isCollapsed && this.schema.maxLength)(_templateObject14, this.schema.maxLength), (0, _helpersJs._if)(this.schema.description && !this.isCollapsed)(_templateObject3, marked(this.schema.description || "")), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed)(_templateObject15), (0, _helpersJs._if)(this.schema.readOnly && !this.isCollapsed)(_templateObject32), (0, _helpersJs._if)(this.schema["x-nullable"] === true && !this.isCollapsed)(_templateObject33), (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject5, this.schema['default']), (0, _helpersJs._if)(this.schema.pattern && !this.isCollapsed)(_templateObject6, this.schema.pattern), (0, _helpersJs._if)(this.schema.example && !this.isCollapsed)(_templateObject31, this.schema.example), (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf'))) + '\n\n\n <!-- Array -->\n ' + (0, _helpersJs._if)(this.isArray)(_templateObject18, this.schema.title || '', (0, _helpersJs._if)(this.isCollapsed)(_templateObject19), (0, _helpersJs._if)(!this.isCollapsed && (this.schema.uniqueItems || this.schema.minItems || this.schema.maxItems))(_templateObject20, this.schema.minItems || 0, this.schema.maxItems || '∞', (0, _helpersJs._if)(!this.isCollapsed && this.schema.uniqueItems)(_templateObject21)), (0, _helpersJs._if)(!this.isCollapsed && this.schema.description)(_templateObject22, marked(this.schema.description || "")), (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf')), (0, _helpersJs._if)(!this.isCollapsed)(_templateObject23)) + '\n\n <!-- Object -->\n ' + (0, _helpersJs._if)(!this.isPrimitive && !this.isArray && !this.isAny)(_templateObject24, this.schema.title || '', (0, _helpersJs._if)(this.isCollapsed)(_templateObject25), (0, _helpersJs._if)(!this.isCollapsed && this.schema.description)(_templateObject22, marked(this.schema.description || "")), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam != true)(_templateObject26, this.schema.required), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam == true)(_templateObject266, this.schema.required), (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject27, this.schema['default']), (0, _helpersJs._if)(!this.isCollapsed && this.schema.pattern)(_templateObject28, this.schema.pattern), (0, _helpersJs._if)(!this.isCollapsed && this.schema.example)(_templateObject31, "<pre>" + JSON.stringify(this.schema.example, null, 4) + "</pre>"), (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf')), (0, _helpersJs._if)(!this.isCollapsed)(_templateObject29)) + '\n').replace(/\s*\n/g, '\n').replace(/(\<\!\-\-).+/g, '').trim(); } /* * Template for oneOf, anyOf and allOf */ }, { key: 'xOf', value: function xOf(schema, type) { return '\n <div class="inner ' + type + '">\n <b>' + (0, _helpersJs.convertXOf)(type) + ':</b>\n </div>\n '; } /* * Template for enums */ }, { key: 'enum', value: function _enum(schema, isCollapsed, open) { return '\n ' + (0, _helpersJs._if)(!isCollapsed && schema['enum'])(_templateObject30) + '\n '; } /* * Toggles the 'collapsed' state */ }, { key: 'toggle', value: function toggle() { this.isCollapsed = !this.isCollapsed; this.render(); } /* * Renders the element and returns it */ }, { key: 'render', value: function render() { if (!this.element) { this.element = document.createElement('div'); this.element.classList.add('json-schema-view'); } if (this.isCollapsed) { this.element.classList.add('collapsed'); } else { this.element.classList.remove('collapsed'); } if (this.options.theme) { this.element.classList.add('json-schema-view-' + this.options.theme); } this.element.innerHTML = this.template(); if (!this.schema) { return this.element; } if (!this.isCollapsed) { this.appendChildren(this.element); } // add event listener for toggling if (this.element.querySelector('a.title')) { this.element.querySelector('a.title').addEventListener('click', this.toggle.bind(this)); } return this.element; } /* * Appends children to given element based on current schema */ }, { key: 'appendChildren', value: function appendChildren(element) { var _this2 = this; var inner = element.querySelector('.inner'); if (!inner) { return; } if (this.schema['enum']) { var tempDiv = document.createElement('span');; tempDiv.classList.add('inner'); tempDiv.innerHTML = '<code>' + this.schema['enum'].join('</code>, <code>') + '</code>'; element.querySelector('.enums.inner').appendChild(tempDiv); } if (this.isArray) { var view = new JSONSchemaView(this.schema.items, Infinity); inner.appendChild(view.render()); } if (typeof this.schema.properties === 'object') { Object.keys(this.schema.properties).forEach(function (propertyName) { var property = _this2.schema.properties[propertyName]; var tempDiv = document.createElement('div');; tempDiv.innerHTML = '<div class="property">\n <span class="name">' + propertyName + ':</span>\n </div>'; var view = new JSONSchemaView(property, _this2.open - 1); tempDiv.querySelector('.property').appendChild(view.render()); inner.appendChild(tempDiv.querySelector('.property')); }); } if (this.schema.allOf) { appendXOf.call(this, 'allOf'); } if (this.schema.oneOf) { appendXOf.call(this, 'oneOf'); } if (this.schema.anyOf) { appendXOf.call(this, 'anyOf'); } function appendXOf(type) { var _this3 = this; var innerAllOf = element.querySelector('.inner.' + type); this.schema[type].forEach(function (schema) { var inner = document.createElement('div'); inner.classList.add('inner'); var view = new JSONSchemaView(schema, _this3.open - 1); inner.appendChild(view.render()); innerAllOf.appendChild(inner); }); } } }]); return JSONSchemaView; })(); exports['default'] = JSONSchemaView; module.exports = exports['default']; },{"./helpers.js":1}]},{},[2])(2) }); //# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJDOi9Vc2Vycy9qYW1lc2hpL0Rlc2t0b3AvanNvbi1zY2hlbWEtdmlldy1qcy1tYXN0ZXIvc3JjL2hlbHBlcnMuanMiLCJDOi9Vc2Vycy9qYW1lc2hpL0Rlc2t0b3AvanNvbi1zY2hlbWEtdmlldy1qcy1tYXN0ZXIvc3JjL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7O0FBSU4sU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFO0FBQy9CLFNBQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0NBQ3JDOzs7Ozs7Ozs7Ozs7O0FBWU0sU0FBUyxHQUFHLENBQUMsU0FBUyxFQUFFO0FBQzdCLFNBQU8sU0FBUyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUM7Q0FDbkM7O0FBQ0QsU0FBUyxLQUFLLEdBQUU7QUFDZCxTQUFPLEVBQUUsQ0FBQztDQUNYO0FBQ0QsU0FBUyxNQUFNLENBQUUsUUFBUSxFQUFrQjtvQ0FBYixXQUFXO0FBQVgsZUFBVzs7O0FBQ3ZDLFNBQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBSztBQUN4RCxXQUFPLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0dBQzVDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDakI7OztBQzVCRCxZQUFZLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt5QkFPTixjQUFjOzs7Ozs7OztJQVFBLGNBQWM7Ozs7Ozs7Ozs7OztBQVd0QixXQVhRLGNBQWMsQ0FXckIsTUFBTSxFQUFFLElBQUksRUFBMkI7OztRQUF6QixPQUFPLHlEQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQzs7MEJBWDlCLGNBQWM7O0FBWS9CLFFBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLFFBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ2pCLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQzs7O0FBRzdCLFFBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUNyQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQ3RCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDbkIsTUFBTSxDQUFDLFVBQUEsQ0FBQzthQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7S0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDOzs7QUFHakUsUUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7O0FBRTFFLFFBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQSxBQUFDLENBQUM7OztBQUd0QixRQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDOzs7QUFHbEUsUUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQ2hCLElBQUksQ0FBQyxXQUFXLEtBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFBLEFBQUMsQUFDOUIsQ0FBQzs7O0FBR0osUUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUN0RCxVQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQSxnQkFBZ0IsRUFBSTtBQUMvQyxZQUFJLE9BQU8sTUFBSyxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssUUFBUSxFQUFFO0FBQ2hFLGdCQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzVEO09BQ0YsQ0FBQyxDQUFDO0tBQ0o7R0FDRjs7Ozs7OztlQXREa0IsY0FBYzs7V0E0RHpCLG9CQUFHO0FBQ1QsVUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDaEIsZUFBTyxFQUFFLENBQUM7T0FDWDs7QUFFRCxhQUFPLGtDQUVILG9CQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBRVgsb0JBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFDa0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxHQUs3RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUc5RCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBRWxFLG9CQUFJLElBQUksQ0FBQyxNQUFNLFdBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0QsSUFBSSxDQUFDLE1BQU0sV0FBUSxHQUU5RCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDhDQU03RCxvQkFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUVqQixvQkFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUNrQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEdBR3hELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUlyQyxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUcxQyxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBR3pELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLG9CQUNILElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEdBRy9FLG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FHekQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsb0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FHL0Usb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLG9CQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUcvRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBRy9ELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBSzdELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFHL0Msb0JBQUksSUFBSSxDQUFDLE1BQU0sV0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDRCxJQUFJLENBQUMsTUFBTSxXQUFRLEdBRTlELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FHekQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLFFBQUssQ0FBQyxvQkFDeEMsSUFBSSxRQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FHckQsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsNENBTWhGLG9CQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBRXVDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBeUMsb0JBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFDekksb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFBLEFBQUMsQ0FBQyxvQkFFdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxFQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEdBQUcsRUFDcEYsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUlqRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsb0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUlwRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sUUFBSyxDQUFDLG9CQUN4QyxJQUFJLFFBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUdyRCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUM1RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUM1RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUU1RSxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsNkRBTzFCLG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUduQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQ3RCLG9CQUFJLElBQUksQ0FBQyxXQUFXLENBQUMscUJBS25ELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxvQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBSXpELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FFbEUsb0JBQUksSUFBSSxDQUFDLE1BQU0sV0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFDUCxJQUFJLENBQUMsTUFBTSxXQUFRLEdBRzFELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FJckQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLFFBQUssQ0FBQyxvQkFDeEMsSUFBSSxRQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FHckQsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FFNUUsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLDZCQUtoQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDM0Q7Ozs7Ozs7V0FLRSxhQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDaEIsNENBQ3NCLElBQUksdUJBQ2pCLDJCQUFXLElBQUksQ0FBQywrQkFFdkI7S0FDSDs7Ozs7OztXQUtHLGVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7QUFDOUIsMEJBQ0ksb0JBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxRQUFLLENBQUMsK0JBS2xDO0tBQ0g7Ozs7Ozs7V0FLSyxrQkFBRztBQUNQLFVBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0FBQ3JDLFVBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUNmOzs7Ozs7O1dBS0ssa0JBQUc7QUFDUCxVQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNqQixZQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0MsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7T0FDaEQ7O0FBRUQsVUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQ3BCLFlBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztPQUN6QyxNQUFNO0FBQ0wsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQzVDOztBQUVELFVBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDdEIsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyx1QkFBcUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUcsQ0FBQztPQUN0RTs7QUFFRCxVQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7O0FBRXpDLFVBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2hCLGVBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztPQUNyQjs7QUFFRCxVQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtBQUNyQixZQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztPQUNuQzs7O0FBR0QsVUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRTtBQUN6QyxZQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztPQUN6RjtBQUNELGFBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztLQUNyQjs7Ozs7OztXQUthLHdCQUFDLE9BQU8sRUFBRTs7O0FBQ3RCLFVBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBRTlDLFVBQUksQ0FBQyxLQUFLLEVBQUU7QUFDVixlQUFPO09BQ1I7O0FBRUQsVUFBSSxJQUFJLENBQUMsTUFBTSxRQUFLLEVBQUU7QUFDcEIsWUFBTSxTQUFTLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sUUFBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckUsWUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZDLG1CQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxlQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztPQUVoRTs7QUFFRCxVQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7QUFDaEIsWUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUNqRSxhQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO09BQ2xDOztBQUVELFVBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUU7QUFDOUMsY0FBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFlBQVksRUFBSTtBQUMxRCxjQUFNLFFBQVEsR0FBRyxPQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdEQsY0FBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQy9DLGlCQUFPLENBQUMsU0FBUyw2REFDTSxZQUFZLDZCQUM1QixDQUFDO0FBQ1IsY0FBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3pELGlCQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzs7QUFFOUQsZUFBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDdkQsQ0FBQyxDQUFDO09BQ0o7O0FBRUQsVUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUFFLGlCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztPQUFFO0FBQ3pELFVBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7QUFBRSxpQkFBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7T0FBRTtBQUN6RCxVQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO0FBQUUsaUJBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQUU7O0FBRXpELGVBQVMsU0FBUyxDQUFDLElBQUksRUFBRTs7O0FBQ3ZCLFlBQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLGFBQVcsSUFBSSxDQUFHLENBQUM7O0FBRTNELFlBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsTUFBTSxFQUFJO0FBQ2xDLGNBQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUMsZUFBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsY0FBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELGVBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDakMsb0JBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0IsQ0FBQyxDQUFDO09BQ0o7S0FDRjs7O1NBOVZrQixjQUFjOzs7cUJBQWQsY0FBYyIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCIndXNlIHN0cmljdCc7XG4vKlxuICogQ29udmVydHMgYW55T2YsIGFsbE9mIGFuZCBvbmVPZiB0byBodW1hbiByZWFkYWJsZSBzdHJpbmdcbiovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFhPZih0eXBlKSB7XG4gIHJldHVybiB0eXBlLnN1YnN0cmluZygwLCAzKSArICcgb2YnO1xufVxuXG4vKlxuICogaWYgY29uZGl0aW9uIGZvciBFUzYgdGVtcGxhdGUgc3RyaW5nc1xuICogdG8gYmUgdXNlZCBvbmx5IGluIHRlbXBsYXRlIHN0cmluZ1xuICpcbiAqIEBleGFtcGxlIG15c3RyID0gYFJhbmRvbSBpcyAke19pZihNYXRoLnJhbmRvbSgpID4gMC41KWBncmVhdGVyIHRoYW4gMC41YGBcbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGNvbmRpdGlvblxuICpcbiAqIEByZXR1cm5zIHtmdW5jdGlvbn0gdGhlIHRlbXBsYXRlIGZ1bmN0aW9uXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIF9pZihjb25kaXRpb24pIHtcbiAgcmV0dXJuIGNvbmRpdGlvbiA/IG5vcm1hbCA6IGVtcHR5O1xufVxuZnVuY3Rpb24gZW1wdHkoKXtcbiAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gbm9ybWFsICh0ZW1wbGF0ZSwgLi4uZXhwcmVzc2lvbnMpIHtcbiAgcmV0dXJuIHRlbXBsYXRlLnNsaWNlKDEpLnJlZHVjZSgoYWNjdW11bGF0b3IsIHBhcnQsIGkpID0+IHtcbiAgICByZXR1cm4gYWNjdW11bGF0b3IgKyBleHByZXNzaW9uc1tpXSArIHBhcnQ7XG4gIH0sIHRlbXBsYXRlWzBdKTtcbn0iLCIndXNlIHN0cmljdCc7XG5cbi8qIGdsb2JhbHMgSlNPTlNjaGVtYVZpZXcgKi9cblxuaW1wb3J0IHtcbiAgY29udmVydFhPZixcbiAgX2lmXG59IGZyb20gJy4vaGVscGVycy5qcyc7XG5cblxuLyoqXG4gKiBAY2xhc3MgSlNPTlNjaGVtYVZpZXdcbiAqXG4gKiBBIHB1cmUgSmF2YVNjcmlwdCBjb21wb25lbnQgZm9yIHJlbmRlcmluZyBKU09OIFNjaGVtYSBpbiBIVE1MLlxuKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEpTT05TY2hlbWFWaWV3IHtcblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IHNjaGVtYSBUaGUgSlNPTiBTY2hlbWEgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3Blbj0xXSBoaXMgbnVtYmVyIGluZGljYXRlcyB1cCB0byBob3cgbWFueSBsZXZlbHMgdGhlXG4gICAqIHJlbmRlcmVkIHRyZWUgc2hvdWxkIGV4cGFuZC4gU2V0IGl0IHRvIGAwYCB0byBtYWtlIHRoZSB3aG9sZSB0cmVlIGNvbGxhcHNlZFxuICAgKiBvciBzZXQgaXQgdG8gYEluZmluaXR5YCB0byBleHBhbmQgdGhlIHRyZWUgZGVlcGx5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zLlxuICAgKiAgdGhlbWUge3N0cmluZ306IG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnM6IFsnZGFyayddXG4gICovXG4gIGNvbnN0cnVjdG9yKHNjaGVtYSwgb3Blbiwgb3B0aW9ucyA9IHt0aGVtZTogbnVsbH0pIHtcbiAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IG9wZW4gPD0gMDtcblxuICAgIC8vIGlmIHNjaGVtYSBpcyBhbiBlbXB0eSBvYmplY3Qgd2hpY2ggbWVhbnMgYW55IEpPU05cbiAgICB0aGlzLmlzQW55ID0gdHlwZW9mIHNjaGVtYSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICFBcnJheS5pc0FycmF5KHNjaGVtYSkgJiZcbiAgICAgICFPYmplY3Qua2V5cyhzY2hlbWEpXG4gICAgICAuZmlsdGVyKGs9PiBbJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJ10uaW5kZXhPZihrKSA9PT0gLTEpLmxlbmd0aDtcblxuICAgIC8vIERldGVybWluZSBpZiBhIHNjaGVtYSBpcyBhbiBhcnJheVxuICAgIHRoaXMuaXNBcnJheSA9ICF0aGlzLmlzQW55ICYmIHRoaXMuc2NoZW1hICYmIHRoaXMuc2NoZW1hLnR5cGUgPT09ICdhcnJheSc7XG5cbiAgICB0aGlzLmlzT2JqZWN0ID0gdGhpcy5zY2hlbWEgJiZcbiAgICAgICh0aGlzLnNjaGVtYS50eXBlID09PSAnb2JqZWN0JyB8fFxuICAgICAgIHRoaXMuc2NoZW1hLnByb3BlcnRpZXMgfHxcbiAgICAgICB0aGlzLnNjaGVtYS5hbnlPZiB8fFxuICAgICAgIHRoaXMuc2NoZW1hLm9uZW9mIHx8XG4gICAgICAgdGhpcy5zY2hlbWEuYWxsT2YpO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIGEgc2NoZW1hIGlzIGEgcHJpbWl0aXZlXG4gICAgdGhpcy5pc1ByaW1pdGl2ZSA9ICF0aGlzLmlzQW55ICYmICF0aGlzLmlzQXJyYXkgJiYgIXRoaXMuaXNPYmplY3Q7XG5cbiAgICAvL1xuICAgIHRoaXMuc2hvd1RvZ2dsZSA9IHRoaXMuc2NoZW1hLmRlc2NyaXB0aW9uIHx8XG4gICAgICB0aGlzLnNjaGVtYS50aXRsZSB8fFxuICAgICAgKHRoaXMuaXNQcmltaXRpdmUgJiYgKFxuICAgICAgICB0aGlzLnNjaGVtYS5taW5pbXVtIHx8XG4gICAgICAgIHRoaXMuc2NoZW1hLm1heGltdW0gfHxcbiAgICAgICAgdGhpcy5zY2hlbWEuZXhjbHVzaXZlTWluaW11bSB8fFxuICAgICAgICB0aGlzLnNjaGVtYS5leGNsdXNpdmVNYXhpbXVtKVxuICAgICAgKTtcblxuICAgIC8vIHBvcHVsYXRlIGlzUmVxdWlyZWQgcHJvcGVydHkgZG93biB0byBwcm9wZXJ0aWVzXG4gICAgaWYgKHRoaXMuc2NoZW1hICYmIEFycmF5LmlzQXJyYXkodGhpcy5zY2hlbWEucmVxdWlyZWQpKSB7XG4gICAgICB0aGlzLnNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKHJlcXVpcmVkUHJvcGVydHkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2NoZW1hLnByb3BlcnRpZXNbcmVxdWlyZWRQcm9wZXJ0eV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5zY2hlbWEucHJvcGVydGllc1tyZXF1aXJlZFByb3BlcnR5XS5pc1JlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgd2l0aCBwb3B1bGF0ZWQgcHJvcGVydGllcy5cbiAgICogVGhpcyB0ZW1wbGF0ZSBkb2VzIG5vdCBoYXZlIHRoZSBjaGlsZHJlblxuICAqL1xuICB0ZW1wbGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuc2NoZW1hKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBcbiAgICAgIDwhLS0gQW55IC0tPlxuICAgICAgJHtfaWYodGhpcy5pc0FueSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbnlcIj5cbiAgICAgICAgICAke19pZih0aGlzLnNob3dUb2dnbGUpYFxuICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWhhbmRsZVwiPjwvc3Bhbj4ke3RoaXMuc2NoZW1hLnRpdGxlIHx8ICcnfSA8L2E+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHlwZSB0eXBlLWFueVwiPiZsdDthbnkmZ3Q7PC9zcGFuPlxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuZGVzY3JpcHRpb24gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGRlc2NyaXB0aW9uXCI+JHt0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbn08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCBcblx0XHQgICR7X2lmKHRoaXMuc2NoZW1hLnJlcXVpcmVkICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciByZXF1aXJlZFwiPlJlcXVpcmVkOiAke3RoaXMuc2NoZW1hLnJlcXVpcmVkfTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAke19pZih0aGlzLnNjaGVtYS5kZWZhdWx0ICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBkZWZhdWx0XCI+RGVmYXVsdDogJHt0aGlzLnNjaGVtYS5kZWZhdWx0fTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEucGF0dGVybiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgcGF0dGVyblwiPlBhdHRlcm46ICR7dGhpcy5zY2hlbWEucGF0dGVybn08L2Rpdj5cbiAgICAgICAgICBgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEuZXhhbXBsZSAmJiAhdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgZXhhbXBsZVwiPkV4YW1wbGU6ICR7dGhpcy5zY2hlbWEuZXhhbXBsZX08L2Rpdj5cbiAgICAgICAgICBgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG5cbiAgICAgIDwhLS0gUHJpbWl0aXZlIC0tPlxuICAgICAgJHtfaWYodGhpcy5pc1ByaW1pdGl2ZSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmltaXRpdmVcIj5cbiAgICAgICAgICAke19pZih0aGlzLnNob3dUb2dnbGUpYFxuICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWhhbmRsZVwiPjwvc3Bhbj4ke3RoaXMuc2NoZW1hLnRpdGxlIHx8ICcnfSA8L2E+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+JHt0aGlzLnNjaGVtYS50eXBlfTwvc3Bhbj5cblxuICAgICAgICAgXG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5mb3JtYXQpYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtYXRcIj4oJHt0aGlzLnNjaGVtYS5mb3JtYXR9KTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWluaW11bSlgXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJhbmdlIG1pbmltdW1cIj5taW5pbXVtOiR7dGhpcy5zY2hlbWEubWluaW11bX08L3NwYW4+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmV4Y2x1c2l2ZU1pbmltdW0pYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYW5nZSBleGNsdXNpdmVNaW5pbXVtXCI+KGV4KW1pbmltdW06JHt0aGlzLnNjaGVtYS5leGNsdXNpdmVNaW5pbXVtfTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWF4aW11bSlgXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJhbmdlIG1heGltdW1cIj5tYXhpbXVtOiR7dGhpcy5zY2hlbWEubWF4aW11bX08L3NwYW4+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmV4Y2x1c2l2ZU1heGltdW0pYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYW5nZSBleGNsdXNpdmVNYXhpbXVtXCI+KGV4KW1heGltdW06JHt0aGlzLnNjaGVtYS5leGNsdXNpdmVNYXhpbXVtfTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWluTGVuZ3RoKWBcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFuZ2UgbWluTGVuZ3RoXCI+bWluTGVuZ3RoOiR7dGhpcy5zY2hlbWEubWluTGVuZ3RofTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWF4TGVuZ3RoKWBcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFuZ2UgbWF4TGVuZ3RoXCI+bWF4TGVuZ3RoOiR7dGhpcy5zY2hlbWEubWF4TGVuZ3RofTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuZGVzY3JpcHRpb24gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGRlc2NyaXB0aW9uXCI+JHt0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbn08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgXG5cdFx0IFxuXHRcdCAgXG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEucmVxdWlyZWQgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIHJlcXVpcmVkXCI+UmVxdWlyZWQ8L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgJHtfaWYodGhpcy5zY2hlbWEuZGVmYXVsdCAmJiAhdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgZGVmYXVsdFwiPkRlZmF1bHQ6ICR7dGhpcy5zY2hlbWEuZGVmYXVsdH08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgICR7X2lmKHRoaXMuc2NoZW1hLnBhdHRlcm4gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIHBhdHRlcm5cIj5QYXR0ZXJuOiAke3RoaXMuc2NoZW1hLnBhdHRlcm59PC9kaXY+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmVudW0pYFxuICAgICAgICAgICAgJHt0aGlzLmVudW0odGhpcy5zY2hlbWEsIHRoaXMuaXNDb2xsYXBzZWQsIHRoaXMub3Blbil9XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLmFsbE9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnYWxsT2YnKX1gfVxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLm9uZU9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnb25lT2YnKX1gfVxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLmFueU9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnYW55T2YnKX1gfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG5cblxuICAgICAgPCEtLSBBcnJheSAtLT5cbiAgICAgICR7X2lmKHRoaXMuaXNBcnJheSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJheVwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGl0bGVcIj48c3BhbiBjbGFzcz1cInRvZ2dsZS1oYW5kbGVcIj48L3NwYW4+JHt0aGlzLnNjaGVtYS50aXRsZSB8fCAnJ308c3BhbiBjbGFzcz1cIm9wZW5pbmcgYnJhY2tldFwiPls8L3NwYW4+JHtfaWYodGhpcy5pc0NvbGxhcHNlZClgPHNwYW4gY2xhc3M9XCJjbG9zaW5nIGJyYWNrZXRcIj5dPC9zcGFuPmB9PC9hPlxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmICh0aGlzLnNjaGVtYS51bmlxdWVJdGVtcyB8fCB0aGlzLnNjaGVtYS5taW5JdGVtcyB8fCB0aGlzLnNjaGVtYS5tYXhJdGVtcykpYFxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgPHNwYW4gdGl0bGU9XCJpdGVtcyByYW5nZVwiPigke3RoaXMuc2NoZW1hLm1pbkl0ZW1zIHx8IDB9Li4ke3RoaXMuc2NoZW1hLm1heEl0ZW1zIHx8ICc4J30pPC9zcGFuPlxuICAgICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEudW5pcXVlSXRlbXMpYDxzcGFuIHRpdGxlPVwidW5pcXVlXCIgY2xhc3M9XCJ1bmlxdWVJdGVtc1wiPj88L3NwYW4+YH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgYH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXJcIj5cbiAgICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmRlc2NyaXB0aW9uKWBcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+JHt0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbn08L2Rpdj5cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5lbnVtKWBcbiAgICAgICAgICAgICR7dGhpcy5lbnVtKHRoaXMuc2NoZW1hLCB0aGlzLmlzQ29sbGFwc2VkLCB0aGlzLm9wZW4pfVxuICAgICAgICAgIGB9XG5cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbGxPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FsbE9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5vbmVPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ29uZU9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbnlPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FueU9mJyl9YH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NpbmcgYnJhY2tldFwiPl08L3NwYW4+XG4gICAgICAgICAgYH1cbiAgICAgICAgPC9kaXY+XG4gICAgICBgfVxuXG4gICAgICA8IS0tIE9iamVjdCAtLT5cbiAgICAgICR7X2lmKCF0aGlzLmlzUHJpbWl0aXZlICYmICF0aGlzLmlzQXJyYXkgJiYgIXRoaXMuaXNBbnkpYFxuICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0XCI+XG4gICAgICAgICAgPGEgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInRvZ2dsZS1oYW5kbGVcIj48L3NwYW4+JHt0aGlzLnNjaGVtYS50aXRsZSB8fCAnJ30gPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwib3BlbmluZyBicmFjZVwiPns8L3NwYW4+JHtfaWYodGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2luZyBicmFjZVwiIG5nLWlmPVwiaXNDb2xsYXBzZWRcIj59PC9zcGFuPlxuICAgICAgICAgIGB9PC9hPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyXCI+XG4gICAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbilgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPiR7dGhpcy5zY2hlbWEuZGVzY3JpcHRpb259PC9kaXY+XG4gICAgICAgICAgICBgfVxuICAgICAgICAgICAgPCEtLSBjaGlsZHJlbiBnbyBoZXJlIC0tPlxuXHRcdCAgXG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEucmVxdWlyZWQgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpcmVkXCI+RGVmYXVsdCBGaWVsZHM6ICR7dGhpcy5zY2hlbWEucmVxdWlyZWR9PC9kaXY+XG4gICAgICAgICAgYH1cblx0XHQgICR7X2lmKHRoaXMuc2NoZW1hLmRlZmF1bHQgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHRcIj5EZWZhdWx0OiAke3RoaXMuc2NoZW1hLmRlZmF1bHR9PC9kaXY+XG4gICAgICAgICAgYH1cblx0XHQgIFxuXHRcdFx0JHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEucGF0dGVybilgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXR0ZXJuXCI+UGF0dGVybjogJHt0aGlzLnNjaGVtYS5wYXR0ZXJufTwvZGl2PlxuICAgICAgICAgICAgYH1cblx0XHRcdCR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmV4YW1wbGUpYFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZVwiPkV4YW1wbGU6ICR7dGhpcy5zY2hlbWEuZXhhbXBsZX08L2Rpdj5cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5lbnVtKWBcbiAgICAgICAgICAgICR7dGhpcy5lbnVtKHRoaXMuc2NoZW1hLCB0aGlzLmlzQ29sbGFwc2VkLCB0aGlzLm9wZW4pfVxuICAgICAgICAgIGB9XG5cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbGxPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FsbE9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5vbmVPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ29uZU9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbnlPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FueU9mJyl9YH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NpbmcgYnJhY2VcIj59PC9zcGFuPlxuICAgICAgICAgIGB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgYH1cbmAucmVwbGFjZSgvXFxzKlxcbi9nLCAnXFxuJykucmVwbGFjZSgvKFxcPFxcIVxcLVxcLSkuKy9nLCAnJykudHJpbSgpO1xuICB9XG5cbiAgLypcbiAgICogVGVtcGxhdGUgZm9yIG9uZU9mLCBhbnlPZiBhbmQgYWxsT2ZcbiAgKi9cbiAgeE9mKHNjaGVtYSwgdHlwZSkge1xuICAgIHJldHVybiBgXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgJHt0eXBlfVwiPlxuICAgICAgICA8Yj4ke2NvbnZlcnRYT2YodHlwZSl9OjwvYj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvKlxuICAgKiBUZW1wbGF0ZSBmb3IgZW51bXNcbiAgKi9cbiAgZW51bShzY2hlbWEsIGlzQ29sbGFwc2VkLCBvcGVuKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICR7X2lmKCFpc0NvbGxhcHNlZCAmJiBzY2hlbWEuZW51bSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBlbnVtc1wiPlxuICAgICAgICAgIDxiPkVudW06PC9iPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG4gICAgYDtcbiAgfVxuXG4gIC8qXG4gICAqIFRvZ2dsZXMgdGhlICdjb2xsYXBzZWQnIHN0YXRlXG4gICovXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIC8qXG4gICAqIFJlbmRlcnMgdGhlIGVsZW1lbnQgYW5kIHJldHVybnMgaXRcbiAgKi9cbiAgcmVuZGVyKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICB0aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdqc29uLXNjaGVtYS12aWV3Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb2xsYXBzZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NvbGxhcHNlZCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKGBqc29uLXNjaGVtYS12aWV3LSR7dGhpcy5vcHRpb25zLnRoZW1lfWApO1xuICAgIH1cblxuICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRlbXBsYXRlKCk7XG5cbiAgICBpZiAoIXRoaXMuc2NoZW1hKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5hcHBlbmRDaGlsZHJlbih0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8vIGFkZCBldmVudCBsaXN0ZW5lciBmb3IgdG9nZ2xpbmdcbiAgICBpZiAodGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2EudGl0bGUnKSkge1xuICAgICAgdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2EudGl0bGUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudG9nZ2xlLmJpbmQodGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICB9XG5cbiAgLypcbiAgICogQXBwZW5kcyBjaGlsZHJlbiB0byBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGN1cnJlbnQgc2NoZW1hXG4gICovXG4gIGFwcGVuZENoaWxkcmVuKGVsZW1lbnQpIHtcbiAgICBjb25zdCBpbm5lciA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmlubmVyJyk7XG5cbiAgICBpZiAoIWlubmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NoZW1hLmVudW0pIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBKU09ORm9ybWF0dGVyKHRoaXMuc2NoZW1hLmVudW0sIHRoaXMub3BlbiAtIDEpO1xuICAgICAgY29uc3QgZm9ybWF0dGVyRWwgPSBmb3JtYXR0ZXIucmVuZGVyKCk7XG4gICAgICBmb3JtYXR0ZXJFbC5jbGFzc0xpc3QuYWRkKCdpbm5lcicpO1xuICAgICAgZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZW51bXMuaW5uZXInKS5hcHBlbmRDaGlsZChmb3JtYXR0ZXJFbCk7XG5cbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FycmF5KSB7XG4gICAgICBjb25zdCB2aWV3ID0gbmV3IEpTT05TY2hlbWFWaWV3KHRoaXMuc2NoZW1hLml0ZW1zLCB0aGlzLm9wZW4gLSAxKVxuICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzID09PSAnb2JqZWN0Jykge1xuICAgICAgT2JqZWN0LmtleXModGhpcy5zY2hlbWEucHJvcGVydGllcykuZm9yRWFjaChwcm9wZXJ0eU5hbWUgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuc2NoZW1hLnByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgICAgICAgY29uc3QgdGVtcERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOztcbiAgICAgICAgdGVtcERpdi5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz1cInByb3BlcnR5XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+JHtwcm9wZXJ0eU5hbWV9Ojwvc3Bhbj5cbiAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgY29uc3QgdmlldyA9IG5ldyBKU09OU2NoZW1hVmlldyhwcm9wZXJ0eSwgdGhpcy5vcGVuIC0gMSk7XG4gICAgICAgIHRlbXBEaXYucXVlcnlTZWxlY3RvcignLnByb3BlcnR5JykuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG5cbiAgICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodGVtcERpdi5xdWVyeVNlbGVjdG9yKCcucHJvcGVydHknKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY2hlbWEuYWxsT2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ2FsbE9mJyk7IH1cbiAgICBpZiAodGhpcy5zY2hlbWEub25lT2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ29uZU9mJyk7IH1cbiAgICBpZiAodGhpcy5zY2hlbWEuYW55T2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ2FueU9mJyk7IH1cblxuICAgIGZ1bmN0aW9uIGFwcGVuZFhPZih0eXBlKSB7XG4gICAgICBjb25zdCBpbm5lckFsbE9mID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKGAuaW5uZXIuJHt0eXBlfWApO1xuXG4gICAgICB0aGlzLnNjaGVtYVt0eXBlXS5mb3JFYWNoKHNjaGVtYSA9PiB7XG4gICAgICAgIGNvbnN0IGlubmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGlubmVyLmNsYXNzTGlzdC5hZGQoJ2lubmVyJyk7XG4gICAgICAgIGNvbnN0IHZpZXcgPSBuZXcgSlNPTlNjaGVtYVZpZXcoc2NoZW1hLCB0aGlzLm9wZW4gLSAxKTtcbiAgICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG4gICAgICAgIGlubmVyQWxsT2YuYXBwZW5kQ2hpbGQoaW5uZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0= </script> <script> (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.$RefParser = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ /** ! * JSON Schema $Ref Parser v3.1.2 * * @link https://github.com/BigstickCarpet/json-schema-ref-parser * @license MIT */ "use strict";function bundle(e,r){debug("Bundling $ref pointers in %s",e.$refs._root$Ref.path);var t=[];crawl(e,"schema",e.$refs._root$Ref.path+"#","#",t,e.$refs,r),remap(t)}function crawl(e,r,t,f,n,i,a){var o=null===r?e:e[r];if(o&&"object"==typeof o)if($Ref.is$Ref(o))inventory$Ref(e,r,t,f,n,i,a);else{var l=Object.keys(o),u=l.indexOf("definitions");u>0&&l.splice(0,0,l.splice(u,1)[0]),l.forEach(function(e){var r=Pointer.join(t,e),l=Pointer.join(f,e),u=o[e];$Ref.is$Ref(u)?inventory$Ref(o,e,t,l,n,i,a):crawl(o,e,r,l,n,i,a)})}}function inventory$Ref(e,r,t,f,n,i,a){if(!n.some(function(t){return t.parent===e&&t.key===r})){var o=null===r?e:e[r],l=url.resolve(t,o.$ref),u=i._resolve(l,a),h=Pointer.parse(f).length,s=url.stripHash(u.path),$=url.getHash(u.path),c=s!==i._root$Ref.path,p=$Ref.isExtended$Ref(o);n.push({$ref:o,parent:e,key:r,pathFromRoot:f,depth:h,file:s,hash:$,value:u.value,circular:u.circular,extended:p,external:c}),crawl(u.value,null,u.path,f,n,i,a)}}function remap(e){e.sort(function(e,r){return e.file!==r.file?e.file<r.file?-1:1:e.hash!==r.hash?e.hash<r.hash?-1:1:e.circular!==r.circular?e.circular?-1:1:e.extended!==r.extended?e.extended?1:-1:e.depth!==r.depth?e.depth-r.depth:r.pathFromRoot.lastIndexOf("/definitions")-e.pathFromRoot.lastIndexOf("/definitions")});var r,t,f;e.forEach(function(e){debug('Re-mapping $ref pointer "%s" at %s',e.$ref.$ref,e.pathFromRoot),e.external?e.file===r&&e.hash===t?e.$ref.$ref=f:e.file===r&&0===e.hash.indexOf(t+"/")?e.$ref.$ref=Pointer.join(f,Pointer.parse(e.hash)):(r=e.file,t=e.hash,f=e.pathFromRoot,e.$ref=e.parent[e.key]=$Ref.dereference(e.$ref,e.value),e.circular&&(e.$ref.$ref=e.pathFromRoot)):e.$ref.$ref=e.hash,debug(" new value: %s",e.$ref&&e.$ref.$ref?e.$ref.$ref:"[object Object]")})}var $Ref=require("./ref"),Pointer=require("./pointer"),debug=require("./util/debug"),url=require("./util/url");module.exports=bundle; },{"./pointer":10,"./ref":11,"./util/debug":16,"./util/url":19}],2:[function(require,module,exports){ "use strict";function dereference(e,r){debug("Dereferencing $ref pointers in %s",e.$refs._root$Ref.path);var c=crawl(e.schema,e.$refs._root$Ref.path,"#",[],e.$refs,r);e.$refs.circular=c.circular,e.schema=c.value}function crawl(e,r,c,u,f,i){var n,a={value:e,circular:!1};return e&&"object"==typeof e&&(u.push(e),$Ref.isAllowed$Ref(e,i)?(n=dereference$Ref(e,r,c,u,f,i),a.circular=n.circular,a.value=n.value):Object.keys(e).forEach(function(l){var o=Pointer.join(r,l),t=Pointer.join(c,l),d=e[l],$=!1;$Ref.isAllowed$Ref(d,i)?(n=dereference$Ref(d,o,t,u,f,i),$=n.circular,e[l]=n.value):-1===u.indexOf(d)?(n=crawl(d,o,t,u,f,i),$=n.circular,e[l]=n.value):$=foundCircularReference(o,f,i),a.circular=a.circular||$}),u.pop()),a}function dereference$Ref(e,r,c,u,f,i){debug('Dereferencing $ref pointer "%s" at %s',e.$ref,r);var n=url.resolve(r,e.$ref),a=f._resolve(n,i),l=a.circular,o=l||-1!==u.indexOf(a.value);o&&foundCircularReference(r,f,i);var t=$Ref.dereference(e,a.value);if(!o){var d=crawl(t,a.path,c,u,f,i);o=d.circular,t=d.value}return o&&!l&&"ignore"===i.dereference.circular&&(t=e),l&&(t.$ref=c),{circular:o,value:t}}function foundCircularReference(e,r,c){if(r.circular=!0,!c.dereference.circular)throw ono.reference("Circular $ref pointer found at %s",e);return!0}var $Ref=require("./ref"),Pointer=require("./pointer"),ono=require("ono"),debug=require("./util/debug"),url=require("./util/url");module.exports=dereference; },{"./pointer":10,"./ref":11,"./util/debug":16,"./util/url":19,"ono":69}],3:[function(require,module,exports){ (function (Buffer){ "use strict";function $RefParser(){this.schema=null,this.$refs=new $Refs}function normalizeArgs(e){var r,t,a,s;return e=Array.prototype.slice.call(e),"function"==typeof e[e.length-1]&&(s=e.pop()),"string"==typeof e[0]?(r=e[0],"object"==typeof e[2]?(t=e[1],a=e[2]):(t=void 0,a=e[1])):(r="",t=e[0],a=e[1]),a instanceof Options||(a=new Options(a)),{path:r,schema:t,options:a,callback:s}}var Promise=require("./util/promise"),Options=require("./options"),$Refs=require("./refs"),parse=require("./parse"),resolveExternal=require("./resolve-external"),bundle=require("./bundle"),dereference=require("./dereference"),url=require("./util/url"),maybe=require("call-me-maybe"),ono=require("ono");module.exports=$RefParser,module.exports.YAML=require("./util/yaml"),$RefParser.parse=function(e,r,t){var a=this,s=new a;return s.parse.apply(s,arguments)},$RefParser.prototype.parse=function(e,r,t){var a,s=normalizeArgs(arguments);if(!s.path&&!s.schema){var n=ono("Expected a file path, URL, or object. Got %s",s.path||s.schema);return maybe(s.callback,Promise.reject(n))}this.schema=null,this.$refs=new $Refs,url.isFileSystemPath(s.path)&&(s.path=url.fromFileSystemPath(s.path)),s.path=url.resolve(url.cwd(),s.path),s.schema&&"object"==typeof s.schema?(this.$refs._add(s.path,s.schema),a=Promise.resolve(s.schema)):a=parse(s.path,this.$refs,s.options);var o=this;return a.then(function(e){if(!e||"object"!=typeof e||Buffer.isBuffer(e))throw ono.syntax('"%s" is not a valid JSON Schema',o.$refs._root$Ref.path||e);return o.schema=e,maybe(s.callback,Promise.resolve(o.schema))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.resolve=function(e,r,t){var a=this,s=new a;return s.resolve.apply(s,arguments)},$RefParser.prototype.resolve=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.parse(s.path,s.schema,s.options).then(function(){return resolveExternal(a,s.options)}).then(function(){return maybe(s.callback,Promise.resolve(a.$refs))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.bundle=function(e,r,t){var a=this,s=new a;return s.bundle.apply(s,arguments)},$RefParser.prototype.bundle=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.resolve(s.path,s.schema,s.options).then(function(){return bundle(a,s.options),maybe(s.callback,Promise.resolve(a.schema))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.dereference=function(e,r,t){var a=this,s=new a;return s.dereference.apply(s,arguments)},$RefParser.prototype.dereference=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.resolve(s.path,s.schema,s.options).then(function(){return dereference(a,s.options),maybe(s.callback,Promise.resolve(a.schema))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})}; }).call(this,{"isBuffer":require("../node_modules/is-buffer/index.js")}) },{"../node_modules/is-buffer/index.js":36,"./bundle":1,"./dereference":2,"./options":4,"./parse":5,"./refs":12,"./resolve-external":13,"./util/promise":18,"./util/url":19,"./util/yaml":20,"call-me-maybe":27,"ono":69}],4:[function(require,module,exports){ "use strict";function $RefParserOptions(e){merge(this,$RefParserOptions.defaults),merge(this,e)}function merge(e,r){if(isMergeable(r))for(var s=Object.keys(r),a=0;a<s.length;a++){var t=s[a],i=r[t],o=e[t];isMergeable(i)?e[t]=merge(o||{},i):void 0!==i&&(e[t]=i)}return e}function isMergeable(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}var jsonParser=require("./parsers/json"),yamlParser=require("./parsers/yaml"),textParser=require("./parsers/text"),binaryParser=require("./parsers/binary"),fileResolver=require("./resolvers/file"),httpResolver=require("./resolvers/http"),zschemaValidator=require("./validators/z-schema");module.exports=$RefParserOptions,$RefParserOptions.defaults={parse:{json:jsonParser,yaml:yamlParser,text:textParser,binary:binaryParser},resolve:{file:fileResolver,http:httpResolver,external:!0},dereference:{circular:!0},validate:{zschema:zschemaValidator}}; },{"./parsers/binary":6,"./parsers/json":7,"./parsers/text":8,"./parsers/yaml":9,"./resolvers/file":14,"./resolvers/http":15,"./validators/z-schema":21}],5:[function(require,module,exports){ (function (Buffer){ "use strict";function parse(r,e,n){try{r=url.stripHash(r);var t=e._add(r),u={url:r,extension:url.getExtension(r)};return readFile(u,n).then(function(r){return t.pathType=r.plugin.name,u.data=r.result,parseFile(u,n)}).then(function(r){return t.value=r.result,r.result})}catch(i){return Promise.reject(i)}}function readFile(r,e){return new Promise(function(n,t){function u(e){t(!e||e instanceof SyntaxError?ono.syntax('Unable to resolve $ref pointer "%s"',r.url):e)}debug("Reading %s",r.url);var i=plugins.all(e.resolve);i=plugins.filter(i,"canRead",r),plugins.sort(i),plugins.run(i,"read",r).then(n,u)})}function parseFile(r,e){return new Promise(function(n,t){function u(e){!e.plugin.allowEmpty&&isEmpty(e.result)?t(ono.syntax('Error parsing "%s" as %s. \nParsed value is empty',r.url,e.plugin.name)):n(e)}function i(e){e?(e=e instanceof Error?e:new Error(e),t(ono.syntax(e,"Error parsing %s",r.url))):t(ono.syntax("Unable to parse %s",r.url))}debug("Parsing %s",r.url);var s=plugins.all(e.parse),l=plugins.filter(s,"canParse",r),o=l.length>0?l:s;plugins.sort(o),plugins.run(o,"parse",r).then(u,i)})}function isEmpty(r){return void 0===r||"object"==typeof r&&0===Object.keys(r).length||"string"==typeof r&&0===r.trim().length||Buffer.isBuffer(r)&&0===r.length}var ono=require("ono"),debug=require("./util/debug"),url=require("./util/url"),plugins=require("./util/plugins"),Promise=require("./util/promise");module.exports=parse; }).call(this,{"isBuffer":require("../node_modules/is-buffer/index.js")}) },{"../node_modules/is-buffer/index.js":36,"./util/debug":16,"./util/plugins":17,"./util/promise":18,"./util/url":19,"ono":69}],6:[function(require,module,exports){ (function (Buffer){ "use strict";var BINARY_REGEXP=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;module.exports={order:400,allowEmpty:!0,canParse:function(r){return Buffer.isBuffer(r.data)&&BINARY_REGEXP.test(r.url)},parse:function(r){return Buffer.isBuffer(r.data)?r.data:new Buffer(r.data)}}; }).call(this,require("buffer").Buffer) },{"buffer":25}],7:[function(require,module,exports){ (function (Buffer){ "use strict";var Promise=require("../util/promise");module.exports={order:100,allowEmpty:!0,canParse:".json",parse:function(r){return new Promise(function(e,t){var i=r.data;Buffer.isBuffer(i)&&(i=i.toString()),e("string"==typeof i?0===i.trim().length?void 0:JSON.parse(i):i)})}}; }).call(this,{"isBuffer":require("../../node_modules/is-buffer/index.js")}) },{"../../node_modules/is-buffer/index.js":36,"../util/promise":18}],8:[function(require,module,exports){ (function (Buffer){ "use strict";var TEXT_REGEXP=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;module.exports={order:300,allowEmpty:!0,encoding:"utf8",canParse:function(t){return("string"==typeof t.data||Buffer.isBuffer(t.data))&&TEXT_REGEXP.test(t.url)},parse:function(t){if("string"==typeof t.data)return t.data;if(Buffer.isBuffer(t.data))return t.data.toString(this.encoding);throw new Error("data is not text")}}; }).call(this,{"isBuffer":require("../../node_modules/is-buffer/index.js")}) },{"../../node_modules/is-buffer/index.js":36}],9:[function(require,module,exports){ (function (Buffer){ "use strict";var Promise=require("../util/promise"),YAML=require("../util/yaml");module.exports={order:200,allowEmpty:!0,canParse:[".yaml",".yml",".json"],parse:function(r){return new Promise(function(e,t){var i=r.data;Buffer.isBuffer(i)&&(i=i.toString()),e("string"==typeof i?YAML.parse(i):i)})}}; }).call(this,{"isBuffer":require("../../node_modules/is-buffer/index.js")}) },{"../../node_modules/is-buffer/index.js":36,"../util/promise":18,"../util/yaml":20}],10:[function(require,module,exports){ "use strict";function Pointer(e,r){this.$ref=e,this.path=r,this.value=void 0,this.circular=!1}function resolveIf$Ref(e,r){if($Ref.isAllowed$Ref(e.value,r)){var t=url.resolve(e.path,e.value.$ref);if(t!==e.path){var s=e.$ref.$refs._resolve(t,r);return $Ref.isExtended$Ref(e.value)?e.value=$Ref.dereference(e.value,s.value):(e.$ref=s.$ref,e.path=s.path,e.value=s.value),!0}e.circular=!0}}function setValue(e,r,t){if(!e.value||"object"!=typeof e.value)throw ono.syntax('Error assigning $ref pointer "%s". \nCannot set "%s" of a non-object.',e.path,r);return"-"===r&&Array.isArray(e.value)?e.value.push(t):e.value[r]=t,t}module.exports=Pointer;var $Ref=require("./ref"),url=require("./util/url"),ono=require("ono"),slashes=/\//g,tildes=/~/g,escapedSlash=/~1/g,escapedTilde=/~0/g;Pointer.prototype.resolve=function(e,r){var t=Pointer.parse(this.path);this.value=e;for(var s=0;s<t.length;s++){resolveIf$Ref(this,r)&&(this.path=Pointer.join(this.path,t.slice(s)));var i=t[s];if(void 0===this.value[i])throw ono.syntax('Error resolving $ref pointer "%s". \nToken "%s" does not exist.',this.path,i);this.value=this.value[i]}return resolveIf$Ref(this,r),this},Pointer.prototype.set=function(e,r,t){var s,i=Pointer.parse(this.path);if(0===i.length)return this.value=r,r;this.value=e;for(var a=0;a<i.length-1;a++)resolveIf$Ref(this,t),s=i[a],this.value&&void 0!==this.value[s]?this.value=this.value[s]:this.value=setValue(this,s,{});return resolveIf$Ref(this,t),s=i[i.length-1],setValue(this,s,r),e},Pointer.parse=function(e){var r=url.getHash(e).substr(1);if(!r)return[];r=r.split("/");for(var t=0;t<r.length;t++)r[t]=decodeURI(r[t].replace(escapedSlash,"/").replace(escapedTilde,"~"));if(""!==r[0])throw ono.syntax('Invalid $ref pointer "%s". Pointers must begin with "#/"',r);return r.slice(1)},Pointer.join=function(e,r){-1===e.indexOf("#")&&(e+="#"),r=Array.isArray(r)?r:[r];for(var t=0;t<r.length;t++){var s=r[t];e+="/"+encodeURI(s.replace(tildes,"~0").replace(slashes,"~1"))}return e}; },{"./ref":11,"./util/url":19,"ono":69}],11:[function(require,module,exports){ "use strict";function $Ref(){this.path=void 0,this.value=void 0,this.$refs=void 0,this.pathType=void 0}module.exports=$Ref;var Pointer=require("./pointer");$Ref.prototype.exists=function(e,t){try{return this.resolve(e,t),!0}catch(r){return!1}},$Ref.prototype.get=function(e,t){return this.resolve(e,t).value},$Ref.prototype.resolve=function(e,t){var r=new Pointer(this,e);return r.resolve(this.value,t)},$Ref.prototype.set=function(e,t){var r=new Pointer(this,e);this.value=r.set(this.value,t)},$Ref.is$Ref=function(e){return e&&"object"==typeof e&&"string"==typeof e.$ref&&e.$ref.length>0},$Ref.isExternal$Ref=function(e){return $Ref.is$Ref(e)&&"#"!==e.$ref[0]},$Ref.isAllowed$Ref=function(e,t){return!$Ref.is$Ref(e)||"#"!==e.$ref[0]&&t&&!t.resolve.external?void 0:!0},$Ref.isExtended$Ref=function(e){return $Ref.is$Ref(e)&&Object.keys(e).length>1},$Ref.dereference=function(e,t){if(t&&"object"==typeof t&&$Ref.isExtended$Ref(e)){var r={};return Object.keys(e).forEach(function(t){"$ref"!==t&&(r[t]=e[t])}),Object.keys(t).forEach(function(e){e in r||(r[e]=t[e])}),r}return t}; },{"./pointer":10}],12:[function(require,module,exports){ "use strict";function $Refs(){this.circular=!1,this._$refs={},this._root$Ref=null}function getPaths(e,r){var t=Object.keys(e);return r=Array.isArray(r[0])?r[0]:Array.prototype.slice.call(r),r.length>0&&r[0]&&(t=t.filter(function(t){return-1!==r.indexOf(e[t].pathType)})),t.map(function(r){return{encoded:r,decoded:"file"===e[r].pathType?url.toFileSystemPath(r,!0):r}})}var ono=require("ono"),$Ref=require("./ref"),url=require("./util/url");module.exports=$Refs,$Refs.prototype.paths=function(e){var r=getPaths(this._$refs,arguments);return r.map(function(e){return e.decoded})},$Refs.prototype.values=function(e){var r=this._$refs,t=getPaths(r,arguments);return t.reduce(function(e,t){return e[t.decoded]=r[t.encoded].value,e},{})},$Refs.prototype.toJSON=$Refs.prototype.values,$Refs.prototype.exists=function(e,r){try{return this._resolve(e,r),!0}catch(t){return!1}},$Refs.prototype.get=function(e,r){return this._resolve(e,r).value},$Refs.prototype.set=function(e,r){e=url.resolve(this._root$Ref.path,e);var t=url.stripHash(e),o=this._$refs[t];if(!o)throw ono('Error resolving $ref pointer "%s". \n"%s" not found.',e,t);o.set(e,r)},$Refs.prototype._add=function(e,r){var t=url.stripHash(e),o=new $Ref;return o.path=t,o.value=r,o.$refs=this,this._$refs[t]=o,this._root$Ref=this._root$Ref||o,o},$Refs.prototype._resolve=function(e,r){e=url.resolve(this._root$Ref.path,e);var t=url.stripHash(e),o=this._$refs[t];if(!o)throw ono('Error resolving $ref pointer "%s". \n"%s" not found.',e,t);return o.resolve(e,r)},$Refs.prototype._get$Ref=function(e){e=url.resolve(this._root$Ref.path,e);var r=url.stripHash(e);return this._$refs[r]}; },{"./ref":11,"./util/url":19,"ono":69}],13:[function(require,module,exports){ "use strict";function resolveExternal(e,r){if(!r.resolve.external)return Promise.resolve();try{debug("Resolving $ref pointers in %s",e.$refs._root$Ref.path);var s=crawl(e.schema,e.$refs._root$Ref.path+"#",e.$refs,r);return Promise.all(s)}catch(t){return Promise.reject(t)}}function crawl(e,r,s,t){var o=[];return e&&"object"==typeof e&&($Ref.isExternal$Ref(e)?o.push(resolve$Ref(e,r,s,t)):Object.keys(e).forEach(function(i){var n=Pointer.join(r,i),l=e[i];$Ref.isExternal$Ref(l)?o.push(resolve$Ref(l,n,s,t)):o=o.concat(crawl(l,n,s,t))})),o}function resolve$Ref(e,r,s,t){debug('Resolving $ref pointer "%s" at %s',e.$ref,r);var o=url.resolve(r,e.$ref),i=url.stripHash(o);return e=s._$refs[i],e?Promise.resolve(e.value):parse(o,s,t).then(function(e){debug("Resolving $ref pointers in %s",i);var r=crawl(e,i+"#",s,t);return Promise.all(r)})}var Promise=require("./util/promise"),$Ref=require("./ref"),Pointer=require("./pointer"),parse=require("./parse"),debug=require("./util/debug"),url=require("./util/url");module.exports=resolveExternal; },{"./parse":5,"./pointer":10,"./ref":11,"./util/debug":16,"./util/promise":18,"./util/url":19}],14:[function(require,module,exports){ "use strict";var fs=require("fs"),ono=require("ono"),Promise=require("../util/promise"),url=require("../util/url"),debug=require("../util/debug");module.exports={order:100,canRead:function(r){return url.isFileSystemPath(r.url)},read:function(r){return new Promise(function(e,i){var u;try{u=url.toFileSystemPath(r.url)}catch(o){i(ono.uri(o,"Malformed URI: %s",r.url))}debug("Opening file: %s",u);try{fs.readFile(u,function(r,o){r?i(ono(r,'Error opening file "%s"',u)):e(o)})}catch(o){i(ono(o,'Error opening file "%s"',u))}})}}; },{"../util/debug":16,"../util/promise":18,"../util/url":19,"fs":24,"ono":69}],15:[function(require,module,exports){ (function (process,Buffer){ "use strict";function download(e,t,o){return new Promise(function(r,n){e=url.parse(e),o=o||[],o.push(e.href),get(e,t).then(function(s){if(s.statusCode>=400)throw ono({status:s.statusCode},"HTTP ERROR %d",s.statusCode);if(s.statusCode>=300)if(o.length>t.redirects)n(ono({status:s.statusCode},"Error downloading %s. \nToo many redirects: \n %s",o[0],o.join(" \n ")));else{if(!s.headers.location)throw ono({status:s.statusCode},"HTTP %d redirect with no location header",s.statusCode);debug("HTTP %d redirect %s -> %s",s.statusCode,e.href,s.headers.location);var u=url.resolve(e,s.headers.location);download(u,t,o).then(r,n)}else r(s.body||new Buffer(0))})["catch"](function(t){n(ono(t,"Error downloading",e.href))})})}function get(e,t){return new Promise(function(o,r){debug("GET",e.href);var n="https:"===e.protocol?https:http,s=n.get({hostname:e.hostname,port:e.port,path:e.path,auth:e.auth,headers:t.headers||{},withCredentials:t.withCredentials});"function"==typeof s.setTimeout&&s.setTimeout(t.timeout),s.on("timeout",function(){s.abort()}),s.on("error",r),s.once("response",function(e){e.body=new Buffer(0),e.on("data",function(t){e.body=Buffer.concat([e.body,new Buffer(t)])}),e.on("error",r),e.on("end",function(){o(e)})})})}var http=require("http"),https=require("https"),ono=require("ono"),url=require("../util/url"),debug=require("../util/debug"),Promise=require("../util/promise");module.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:!1,canRead:function(e){return url.isHttp(e.url)},read:function(e){var t=url.parse(e.url);return process.browser&&!t.protocol&&(t.protocol=url.parse(location.href).protocol),download(t,this)}}; }).call(this,require('_process'),require("buffer").Buffer) },{"../util/debug":16,"../util/promise":18,"../util/url":19,"_process":71,"buffer":25,"http":87,"https":33,"ono":69}],16:[function(require,module,exports){ "use strict";var debug=require("debug");module.exports=debug("json-schema-ref-parser"); },{"debug":29}],17:[function(require,module,exports){ "use strict";function getResult(e,r,t,n){var u=e[r];if("function"==typeof u)return u.apply(e,[t,n]);if(!n){if(u instanceof RegExp)return u.test(t.url);if("string"==typeof u)return u===t.extension;if(Array.isArray(u))return-1!==u.indexOf(t.extension)}return u}var Promise=require("./promise"),debug=require("./debug");exports.all=function(e){return Object.keys(e).filter(function(r){return"object"==typeof e[r]}).map(function(r){return e[r].name=r,e[r]})},exports.filter=function(e,r,t){return e.filter(function(e){return!!getResult(e,r,t)})},exports.sort=function(e){return e.forEach(function(e){e.order=e.order||Number.MAX_SAFE_INTEGER}),e.sort(function(e,r){return e.order-r.order})},exports.run=function(e,r,t){var n,u,i=0;return new Promise(function(o,f){function s(){if(n=e[i++],!n)return f(u);try{debug(" %s",n.name);var o=getResult(n,r,t,c);o&&"function"==typeof o.then?o.then(a,p):void 0!==o&&a(o)}catch(s){p(s)}}function c(e,r){e?p(e):a(r)}function a(e){debug(" success"),o({plugin:n,result:e})}function p(e){debug(" %s",e.message||e),u=e,s()}s()})}; },{"./debug":16,"./promise":18}],18:[function(require,module,exports){ "use strict";module.exports="function"==typeof Promise?Promise:require("es6-promise").Promise; },{"es6-promise":31}],19:[function(require,module,exports){ (function (process){ "use strict";var isWindows=/^win/.test(process.platform),forwardSlashPattern=/\//g,protocolPattern=/^([a-z0-9.+-]+):\/\//i,url=module.exports,urlEncodePatterns=[/\?/g,"%3F",/\#/g,"%23",isWindows?/\\/g:/\//,"/"],urlDecodePatterns=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];exports.parse=require("url").parse,exports.resolve=require("url").resolve,exports.cwd=function(){return process.browser?location.href:process.cwd()+"/"},exports.getProtocol=function(r){var e=protocolPattern.exec(r);return e?e[1].toLowerCase():void 0},exports.getExtension=function(r){var e=r.lastIndexOf(".");return e>=0?r.substr(e).toLowerCase():""},exports.getHash=function(r){var e=r.indexOf("#");return e>=0?r.substr(e):"#"},exports.stripHash=function(r){var e=r.indexOf("#");return e>=0&&(r=r.substr(0,e)),r},exports.isHttp=function(r){var e=url.getProtocol(r);return"http"===e||"https"===e?!0:void 0===e?process.browser:!1},exports.isFileSystemPath=function(r){if(process.browser)return!1;var e=url.getProtocol(r);return void 0===e||"file"===e},exports.fromFileSystemPath=function(r){for(var e=0;e<urlEncodePatterns.length;e+=2)r=r.replace(urlEncodePatterns[e],urlEncodePatterns[e+1]);return encodeURI(r)},exports.toFileSystemPath=function(r,e){r=decodeURI(r);for(var t=0;t<urlDecodePatterns.length;t+=2)r=r.replace(urlDecodePatterns[t],urlDecodePatterns[t+1]);var o="file://"===r.substr(0,7).toLowerCase();return o&&(r="/"===r[7]?r.substr(8):r.substr(7),isWindows&&"/"===r[1]&&(r=r[0]+":"+r.substr(1)),e?r="file:///"+r:(o=!1,r=isWindows?r:"/"+r)),isWindows&&!o&&(r=r.replace(forwardSlashPattern,"\\")),r}; }).call(this,require('_process')) },{"_process":71,"url":93}],20:[function(require,module,exports){ "use strict";var yaml=require("js-yaml"),ono=require("ono");module.exports={parse:function(r,e){try{return yaml.safeLoad(r)}catch(o){throw o instanceof Error?o:ono(o,o.message)}},stringify:function(r,e,o){try{var t=("string"==typeof o?o.length:o)||2;return yaml.safeDump(r,{indent:t})}catch(n){throw n instanceof Error?n:ono(n,n.message)}}}; },{"js-yaml":38,"ono":69}],21:[function(require,module,exports){ "use strict";module.exports={order:100,canValidate:function(e){return!!e.resolved},validate:function(e){}}; },{}],22:[function(require,module,exports){ var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(t){"use strict";function r(t){var r=t.charCodeAt(0);return r===h||r===u?62:r===c||r===f?63:o>r?-1:o+10>r?r-o+26+26:i+26>r?r-i:A+26>r?r-A+26:void 0}function e(t){function e(t){i[f++]=t}var n,h,c,o,A,i;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var u=t.length;A="="===t.charAt(u-2)?2:"="===t.charAt(u-1)?1:0,i=new a(3*t.length/4-A),c=A>0?t.length-4:t.length;var f=0;for(n=0,h=0;c>n;n+=4,h+=3)o=r(t.charAt(n))<<18|r(t.charAt(n+1))<<12|r(t.charAt(n+2))<<6|r(t.charAt(n+3)),e((16711680&o)>>16),e((65280&o)>>8),e(255&o);return 2===A?(o=r(t.charAt(n))<<2|r(t.charAt(n+1))>>4,e(255&o)):1===A&&(o=r(t.charAt(n))<<10|r(t.charAt(n+1))<<4|r(t.charAt(n+2))>>2,e(o>>8&255),e(255&o)),i}function n(t){function r(t){return lookup.charAt(t)}function e(t){return r(t>>18&63)+r(t>>12&63)+r(t>>6&63)+r(63&t)}var n,a,h,c=t.length%3,o="";for(n=0,h=t.length-c;h>n;n+=3)a=(t[n]<<16)+(t[n+1]<<8)+t[n+2],o+=e(a);switch(c){case 1:a=t[t.length-1],o+=r(a>>2),o+=r(a<<4&63),o+="==";break;case 2:a=(t[t.length-2]<<8)+t[t.length-1],o+=r(a>>10),o+=r(a>>4&63),o+=r(a<<2&63),o+="="}return o}var a="undefined"!=typeof Uint8Array?Uint8Array:Array,h="+".charCodeAt(0),c="/".charCodeAt(0),o="0".charCodeAt(0),A="a".charCodeAt(0),i="A".charCodeAt(0),u="-".charCodeAt(0),f="_".charCodeAt(0);t.toByteArray=e,t.fromByteArray=n}("undefined"==typeof exports?this.base64js={}:exports); },{}],23:[function(require,module,exports){ },{}],24:[function(require,module,exports){ },{}],25:[function(require,module,exports){ (function (global){ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> * @license MIT */ "use strict";function typedArraySupport(){function t(){}try{var e=new Uint8Array(1);return e.foo=function(){return 42},e.constructor=t,42===e.foo()&&e.constructor===t&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(r){return!1}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Buffer(t){return this instanceof Buffer?(Buffer.TYPED_ARRAY_SUPPORT||(this.length=0,this.parent=void 0),"number"==typeof t?fromNumber(this,t):"string"==typeof t?fromString(this,t,arguments.length>1?arguments[1]:"utf8"):fromObject(this,t)):arguments.length>1?new Buffer(t,arguments[1]):new Buffer(t)}function fromNumber(t,e){if(t=allocate(t,0>e?0:0|checked(e)),!Buffer.TYPED_ARRAY_SUPPORT)for(var r=0;e>r;r++)t[r]=0;return t}function fromString(t,e,r){"string"==typeof r&&""!==r||(r="utf8");var n=0|byteLength(e,r);return t=allocate(t,n),t.write(e,r),t}function fromObject(t,e){if(Buffer.isBuffer(e))return fromBuffer(t,e);if(isArray(e))return fromArray(t,e);if(null==e)throw new TypeError("must start with number, buffer, array or string");if("undefined"!=typeof ArrayBuffer){if(e.buffer instanceof ArrayBuffer)return fromTypedArray(t,e);if(e instanceof ArrayBuffer)return fromArrayBuffer(t,e)}return e.length?fromArrayLike(t,e):fromJsonObject(t,e)}function fromBuffer(t,e){var r=0|checked(e.length);return t=allocate(t,r),e.copy(t,0,0,r),t}function fromArray(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromTypedArray(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromArrayBuffer(t,e){return Buffer.TYPED_ARRAY_SUPPORT?(e.byteLength,t=Buffer._augment(new Uint8Array(e))):t=fromTypedArray(t,new Uint8Array(e)),t}function fromArrayLike(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromJsonObject(t,e){var r,n=0;"Buffer"===e.type&&isArray(e.data)&&(r=e.data,n=0|checked(r.length)),t=allocate(t,n);for(var f=0;n>f;f+=1)t[f]=255&r[f];return t}function allocate(t,e){Buffer.TYPED_ARRAY_SUPPORT?(t=Buffer._augment(new Uint8Array(e)),t.__proto__=Buffer.prototype):(t.length=e,t._isBuffer=!0);var r=0!==e&&e<=Buffer.poolSize>>>1;return r&&(t.parent=rootParent),t}function checked(t){if(t>=kMaxLength())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kMaxLength().toString(16)+" bytes");return 0|t}function SlowBuffer(t,e){if(!(this instanceof SlowBuffer))return new SlowBuffer(t,e);var r=new Buffer(t,e);return delete r.parent,r}function byteLength(t,e){"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"binary":case"raw":case"raws":return r;case"utf8":case"utf-8":return utf8ToBytes(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(t).length;default:if(n)return utf8ToBytes(t).length;e=(""+e).toLowerCase(),n=!0}}function slowToString(t,e,r){var n=!1;if(e=0|e,r=void 0===r||r===1/0?this.length:0|r,t||(t="utf8"),0>e&&(e=0),r>this.length&&(r=this.length),e>=r)return"";for(;;)switch(t){case"hex":return hexSlice(this,e,r);case"utf8":case"utf-8":return utf8Slice(this,e,r);case"ascii":return asciiSlice(this,e,r);case"binary":return binarySlice(this,e,r);case"base64":return base64Slice(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function hexWrite(t,e,r,n){r=Number(r)||0;var f=t.length-r;n?(n=Number(n),n>f&&(n=f)):n=f;var i=e.length;if(i%2!==0)throw new Error("Invalid hex string");n>i/2&&(n=i/2);for(var o=0;n>o;o++){var u=parseInt(e.substr(2*o,2),16);if(isNaN(u))throw new Error("Invalid hex string");t[r+o]=u}return o}function utf8Write(t,e,r,n){return blitBuffer(utf8ToBytes(e,t.length-r),t,r,n)}function asciiWrite(t,e,r,n){return blitBuffer(asciiToBytes(e),t,r,n)}function binaryWrite(t,e,r,n){return asciiWrite(t,e,r,n)}function base64Write(t,e,r,n){return blitBuffer(base64ToBytes(e),t,r,n)}function ucs2Write(t,e,r,n){return blitBuffer(utf16leToBytes(e,t.length-r),t,r,n)}function base64Slice(t,e,r){return 0===e&&r===t.length?base64.fromByteArray(t):base64.fromByteArray(t.slice(e,r))}function utf8Slice(t,e,r){r=Math.min(t.length,r);for(var n=[],f=e;r>f;){var i=t[f],o=null,u=i>239?4:i>223?3:i>191?2:1;if(r>=f+u){var s,a,h,c;switch(u){case 1:128>i&&(o=i);break;case 2:s=t[f+1],128===(192&s)&&(c=(31&i)<<6|63&s,c>127&&(o=c));break;case 3:s=t[f+1],a=t[f+2],128===(192&s)&&128===(192&a)&&(c=(15&i)<<12|(63&s)<<6|63&a,c>2047&&(55296>c||c>57343)&&(o=c));break;case 4:s=t[f+1],a=t[f+2],h=t[f+3],128===(192&s)&&128===(192&a)&&128===(192&h)&&(c=(15&i)<<18|(63&s)<<12|(63&a)<<6|63&h,c>65535&&1114112>c&&(o=c))}}null===o?(o=65533,u=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),f+=u}return decodeCodePointsArray(n)}function decodeCodePointsArray(t){var e=t.length;if(MAX_ARGUMENTS_LENGTH>=e)return String.fromCharCode.apply(String,t);for(var r="",n=0;e>n;)r+=String.fromCharCode.apply(String,t.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(t,e,r){var n="";r=Math.min(t.length,r);for(var f=e;r>f;f++)n+=String.fromCharCode(127&t[f]);return n}function binarySlice(t,e,r){var n="";r=Math.min(t.length,r);for(var f=e;r>f;f++)n+=String.fromCharCode(t[f]);return n}function hexSlice(t,e,r){var n=t.length;(!e||0>e)&&(e=0),(!r||0>r||r>n)&&(r=n);for(var f="",i=e;r>i;i++)f+=toHex(t[i]);return f}function utf16leSlice(t,e,r){for(var n=t.slice(e,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(t,e,r){if(t%1!==0||0>t)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(t,e,r,n,f,i){if(!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");if(e>f||i>e)throw new RangeError("value is out of bounds");if(r+n>t.length)throw new RangeError("index out of range")}function objectWriteUInt16(t,e,r,n){0>e&&(e=65535+e+1);for(var f=0,i=Math.min(t.length-r,2);i>f;f++)t[r+f]=(e&255<<8*(n?f:1-f))>>>8*(n?f:1-f)}function objectWriteUInt32(t,e,r,n){0>e&&(e=4294967295+e+1);for(var f=0,i=Math.min(t.length-r,4);i>f;f++)t[r+f]=e>>>8*(n?f:3-f)&255}function checkIEEE754(t,e,r,n,f,i){if(e>f||i>e)throw new RangeError("value is out of bounds");if(r+n>t.length)throw new RangeError("index out of range");if(0>r)throw new RangeError("index out of range")}function writeFloat(t,e,r,n,f){return f||checkIEEE754(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(t,e,r,n,23,4),r+4}function writeDouble(t,e,r,n,f){return f||checkIEEE754(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(t,e,r,n,52,8),r+8}function base64clean(t){if(t=stringtrim(t).replace(INVALID_BASE64_RE,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function stringtrim(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function toHex(t){return 16>t?"0"+t.toString(16):t.toString(16)}function utf8ToBytes(t,e){e=e||1/0;for(var r,n=t.length,f=null,i=[],o=0;n>o;o++){if(r=t.charCodeAt(o),r>55295&&57344>r){if(!f){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(56320>r){(e-=3)>-1&&i.push(239,191,189),f=r;continue}r=(f-55296<<10|r-56320)+65536}else f&&(e-=3)>-1&&i.push(239,191,189);if(f=null,128>r){if((e-=1)<0)break;i.push(r)}else if(2048>r){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(65536>r){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(1114112>r))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(t){for(var e=[],r=0;r<t.length;r++)e.push(255&t.charCodeAt(r));return e}function utf16leToBytes(t,e){for(var r,n,f,i=[],o=0;o<t.length&&!((e-=2)<0);o++)r=t.charCodeAt(o),n=r>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(t){return base64.toByteArray(base64clean(t))}function blitBuffer(t,e,r,n){for(var f=0;n>f&&!(f+r>=e.length||f>=t.length);f++)e[f+r]=t[f];return f}var base64=require("base64-js"),ieee754=require("ieee754"),isArray=require("isarray");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50,Buffer.poolSize=8192;var rootParent={};Buffer.TYPED_ARRAY_SUPPORT=void 0!==global.TYPED_ARRAY_SUPPORT?global.TYPED_ARRAY_SUPPORT:typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT?(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array):(Buffer.prototype.length=void 0,Buffer.prototype.parent=void 0),Buffer.isBuffer=function(t){return!(null==t||!t._isBuffer)},Buffer.compare=function(t,e){if(!Buffer.isBuffer(t)||!Buffer.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,f=0,i=Math.min(r,n);i>f&&t[f]===e[f];)++f;return f!==i&&(r=t[f],n=e[f]),n>r?-1:r>n?1:0},Buffer.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(t,e){if(!isArray(t))throw new TypeError("list argument must be an Array of Buffers.");if(0===t.length)return new Buffer(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;r++)e+=t[r].length;var n=new Buffer(e),f=0;for(r=0;r<t.length;r++){var i=t[r];i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?utf8Slice(this,0,t):slowToString.apply(this,arguments)},Buffer.prototype.equals=function(t){if(!Buffer.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:0===Buffer.compare(this,t)},Buffer.prototype.inspect=function(){var t="",e=exports.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),"<Buffer "+t+">"},Buffer.prototype.compare=function(t){if(!Buffer.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?0:Buffer.compare(this,t)},Buffer.prototype.indexOf=function(t,e){function r(t,e,r){for(var n=-1,f=0;r+f<t.length;f++)if(t[r+f]===e[-1===n?0:f-n]){if(-1===n&&(n=f),f-n+1===e.length)return r+n}else n=-1;return-1}if(e>2147483647?e=2147483647:-2147483648>e&&(e=-2147483648),e>>=0,0===this.length)return-1;if(e>=this.length)return-1;if(0>e&&(e=Math.max(this.length+e,0)),"string"==typeof t)return 0===t.length?-1:String.prototype.indexOf.call(this,t,e);if(Buffer.isBuffer(t))return r(this,t,e);if("number"==typeof t)return Buffer.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,t,e):r(this,[t],e);throw new TypeError("val must be string, number or Buffer")},Buffer.prototype.get=function(t){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(t)},Buffer.prototype.set=function(t,e){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(t,e)},Buffer.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else if(isFinite(e))e=0|e,isFinite(r)?(r=0|r,void 0===n&&(n="utf8")):(n=r,r=void 0);else{var f=n;n=e,e=0|r,r=f}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(0>r||0>e)||e>this.length)throw new RangeError("attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return hexWrite(this,t,e,r);case"utf8":case"utf-8":return utf8Write(this,t,e,r);case"ascii":return asciiWrite(this,t,e,r);case"binary":return binaryWrite(this,t,e,r);case"base64":return base64Write(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;Buffer.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,0>t?(t+=r,0>t&&(t=0)):t>r&&(t=r),0>e?(e+=r,0>e&&(e=0)):e>r&&(e=r),t>e&&(e=t);var n;if(Buffer.TYPED_ARRAY_SUPPORT)n=Buffer._augment(this.subarray(t,e));else{var f=e-t;n=new Buffer(f,void 0);for(var i=0;f>i;i++)n[i]=this[i+t]}return n.length&&(n.parent=this.parent||this),n},Buffer.prototype.readUIntLE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t],f=1,i=0;++i<e&&(f*=256);)n+=this[t+i]*f;return n},Buffer.prototype.readUIntBE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t+--e],f=1;e>0&&(f*=256);)n+=this[t+--e]*f;return n},Buffer.prototype.readUInt8=function(t,e){return e||checkOffset(t,1,this.length),this[t]},Buffer.prototype.readUInt16LE=function(t,e){return e||checkOffset(t,2,this.length),this[t]|this[t+1]<<8},Buffer.prototype.readUInt16BE=function(t,e){return e||checkOffset(t,2,this.length),this[t]<<8|this[t+1]},Buffer.prototype.readUInt32LE=function(t,e){return e||checkOffset(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Buffer.prototype.readUInt32BE=function(t,e){return e||checkOffset(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Buffer.prototype.readIntLE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t],f=1,i=0;++i<e&&(f*=256);)n+=this[t+i]*f;return f*=128,n>=f&&(n-=Math.pow(2,8*e)),n},Buffer.prototype.readIntBE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=e,f=1,i=this[t+--n];n>0&&(f*=256);)i+=this[t+--n]*f;return f*=128,i>=f&&(i-=Math.pow(2,8*e)),i},Buffer.prototype.readInt8=function(t,e){return e||checkOffset(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Buffer.prototype.readInt16LE=function(t,e){e||checkOffset(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(t,e){e||checkOffset(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(t,e){return e||checkOffset(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Buffer.prototype.readInt32BE=function(t,e){return e||checkOffset(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Buffer.prototype.readFloatLE=function(t,e){return e||checkOffset(t,4,this.length),ieee754.read(this,t,!0,23,4)},Buffer.prototype.readFloatBE=function(t,e){return e||checkOffset(t,4,this.length),ieee754.read(this,t,!1,23,4)},Buffer.prototype.readDoubleLE=function(t,e){return e||checkOffset(t,8,this.length),ieee754.read(this,t,!0,52,8)},Buffer.prototype.readDoubleBE=function(t,e){return e||checkOffset(t,8,this.length),ieee754.read(this,t,!1,52,8)},Buffer.prototype.writeUIntLE=function(t,e,r,n){t=+t,e=0|e,r=0|r,n||checkInt(this,t,e,r,Math.pow(2,8*r),0);var f=1,i=0;for(this[e]=255&t;++i<r&&(f*=256);)this[e+i]=t/f&255;return e+r},Buffer.prototype.writeUIntBE=function(t,e,r,n){t=+t,e=0|e,r=0|r,n||checkInt(this,t,e,r,Math.pow(2,8*r),0);var f=r-1,i=1;for(this[e+f]=255&t;--f>=0&&(i*=256);)this[e+f]=t/i&255;return e+r},Buffer.prototype.writeUInt8=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,1,255,0),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},Buffer.prototype.writeUInt16LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):objectWriteUInt16(this,t,e,!0),e+2},Buffer.prototype.writeUInt16BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):objectWriteUInt16(this,t,e,!1),e+2},Buffer.prototype.writeUInt32LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):objectWriteUInt32(this,t,e,!0),e+4},Buffer.prototype.writeUInt32BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):objectWriteUInt32(this,t,e,!1),e+4},Buffer.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e=0|e,!n){var f=Math.pow(2,8*r-1);checkInt(this,t,e,r,f-1,-f)}var i=0,o=1,u=0>t?1:0;for(this[e]=255&t;++i<r&&(o*=256);)this[e+i]=(t/o>>0)-u&255;return e+r},Buffer.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e=0|e,!n){var f=Math.pow(2,8*r-1);checkInt(this,t,e,r,f-1,-f)}var i=r-1,o=1,u=0>t?1:0;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=(t/o>>0)-u&255;return e+r},Buffer.prototype.writeInt8=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),0>t&&(t=255+t+1),this[e]=255&t,e+1},Buffer.prototype.writeInt16LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):objectWriteUInt16(this,t,e,!0),e+2},Buffer.prototype.writeInt16BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):objectWriteUInt16(this,t,e,!1),e+2},Buffer.prototype.writeInt32LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):objectWriteUInt32(this,t,e,!0),e+4},Buffer.prototype.writeInt32BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,2147483647,-2147483648),0>t&&(t=4294967295+t+1),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):objectWriteUInt32(this,t,e,!1),e+4},Buffer.prototype.writeFloatLE=function(t,e,r){return writeFloat(this,t,e,!0,r)},Buffer.prototype.writeFloatBE=function(t,e,r){return writeFloat(this,t,e,!1,r)},Buffer.prototype.writeDoubleLE=function(t,e,r){return writeDouble(this,t,e,!0,r)},Buffer.prototype.writeDoubleBE=function(t,e,r){return writeDouble(this,t,e,!1,r)},Buffer.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&r>n&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(0>e)throw new RangeError("targetStart out of bounds");if(0>r||r>=this.length)throw new RangeError("sourceStart out of bounds");if(0>n)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var f,i=n-r;if(this===t&&e>r&&n>e)for(f=i-1;f>=0;f--)t[f+e]=this[f+r];else if(1e3>i||!Buffer.TYPED_ARRAY_SUPPORT)for(f=0;i>f;f++)t[f+e]=this[f+r];else t._set(this.subarray(r,r+i),e);return i},Buffer.prototype.fill=function(t,e,r){if(t||(t=0),e||(e=0),r||(r=this.length),e>r)throw new RangeError("end < start");if(r!==e&&0!==this.length){if(0>e||e>=this.length)throw new RangeError("start out of bounds");if(0>r||r>this.length)throw new RangeError("end out of bounds");var n;if("number"==typeof t)for(n=e;r>n;n++)this[n]=t;else{var f=utf8ToBytes(t.toString()),i=f.length;for(n=e;r>n;n++)this[n]=f[n%i]}return this}},Buffer.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(Buffer.TYPED_ARRAY_SUPPORT)return new Buffer(this).buffer;for(var t=new Uint8Array(this.length),e=0,r=t.length;r>e;e+=1)t[e]=this[e];return t.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var BP=Buffer.prototype;Buffer._augment=function(t){return t.constructor=Buffer,t._isBuffer=!0,t._set=t.set,t.get=BP.get,t.set=BP.set,t.write=BP.write,t.toString=BP.toString,t.toLocaleString=BP.toString,t.toJSON=BP.toJSON,t.equals=BP.equals,t.compare=BP.compare,t.indexOf=BP.indexOf,t.copy=BP.copy,t.slice=BP.slice,t.readUIntLE=BP.readUIntLE,t.readUIntBE=BP.readUIntBE,t.readUInt8=BP.readUInt8,t.readUInt16LE=BP.readUInt16LE,t.readUInt16BE=BP.readUInt16BE,t.readUInt32LE=BP.readUInt32LE,t.readUInt32BE=BP.readUInt32BE,t.readIntLE=BP.readIntLE,t.readIntBE=BP.readIntBE,t.readInt8=BP.readInt8,t.readInt16LE=BP.readInt16LE,t.readInt16BE=BP.readInt16BE,t.readInt32LE=BP.readInt32LE,t.readInt32BE=BP.readInt32BE,t.readFloatLE=BP.readFloatLE,t.readFloatBE=BP.readFloatBE,t.readDoubleLE=BP.readDoubleLE,t.readDoubleBE=BP.readDoubleBE,t.writeUInt8=BP.writeUInt8,t.writeUIntLE=BP.writeUIntLE,t.writeUIntBE=BP.writeUIntBE,t.writeUInt16LE=BP.writeUInt16LE,t.writeUInt16BE=BP.writeUInt16BE,t.writeUInt32LE=BP.writeUInt32LE,t.writeUInt32BE=BP.writeUInt32BE,t.writeIntLE=BP.writeIntLE,t.writeIntBE=BP.writeIntBE,t.writeInt8=BP.writeInt8,t.writeInt16LE=BP.writeInt16LE,t.writeInt16BE=BP.writeInt16BE,t.writeInt32LE=BP.writeInt32LE,t.writeInt32BE=BP.writeInt32BE,t.writeFloatLE=BP.writeFloatLE,t.writeFloatBE=BP.writeFloatBE,t.writeDoubleLE=BP.writeDoubleLE,t.writeDoubleBE=BP.writeDoubleBE,t.fill=BP.fill,t.inspect=BP.inspect,t.toArrayBuffer=BP.toArrayBuffer,t};var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"base64-js":22,"ieee754":34,"isarray":37}],26:[function(require,module,exports){ module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}; },{}],27:[function(require,module,exports){ (function (process,global){ "use strict";var next=global.process&&process.nextTick||global.setImmediate||function(n){setTimeout(n,0)};module.exports=function(n,t){return n?void t.then(function(t){next(function(){n(null,t)})},function(t){next(function(){n(t)})}):t}; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"_process":71}],28:[function(require,module,exports){ (function (Buffer){ function isArray(r){return Array.isArray?Array.isArray(r):"[object Array]"===objectToString(r)}function isBoolean(r){return"boolean"==typeof r}function isNull(r){return null===r}function isNullOrUndefined(r){return null==r}function isNumber(r){return"number"==typeof r}function isString(r){return"string"==typeof r}function isSymbol(r){return"symbol"==typeof r}function isUndefined(r){return void 0===r}function isRegExp(r){return"[object RegExp]"===objectToString(r)}function isObject(r){return"object"==typeof r&&null!==r}function isDate(r){return"[object Date]"===objectToString(r)}function isError(r){return"[object Error]"===objectToString(r)||r instanceof Error}function isFunction(r){return"function"==typeof r}function isPrimitive(r){return null===r||"boolean"==typeof r||"number"==typeof r||"string"==typeof r||"symbol"==typeof r||"undefined"==typeof r}function objectToString(r){return Object.prototype.toString.call(r)}exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=Buffer.isBuffer; }).call(this,{"isBuffer":require("../../is-buffer/index.js")}) },{"../../is-buffer/index.js":36}],29:[function(require,module,exports){ function useColors(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function formatArgs(){var o=arguments,e=this.useColors;if(o[0]=(e?"%c":"")+this.namespace+(e?" %c":" ")+o[0]+(e?"%c ":" ")+"+"+exports.humanize(this.diff),!e)return o;var r="color: "+this.color;o=[o[0],r,"color: inherit"].concat(Array.prototype.slice.call(o,1));var t=0,s=0;return o[0].replace(/%[a-z%]/g,function(o){"%%"!==o&&(t++,"%c"===o&&(s=t))}),o.splice(s,0,r),o}function log(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(o){try{null==o?exports.storage.removeItem("debug"):exports.storage.debug=o}catch(e){}}function load(){var o;try{o=exports.storage.debug}catch(e){}return o}function localstorage(){try{return window.localStorage}catch(o){}}exports=module.exports=require("./debug"),exports.log=log,exports.formatArgs=formatArgs,exports.save=save,exports.load=load,exports.useColors=useColors,exports.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage(),exports.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],exports.formatters.j=function(o){return JSON.stringify(o)},exports.enable(load()); },{"./debug":30}],30:[function(require,module,exports){ function selectColor(){return exports.colors[prevColor++%exports.colors.length]}function debug(e){function r(){}function o(){var e=o,r=+new Date,s=r-(prevTime||r);e.diff=s,e.prev=prevTime,e.curr=r,prevTime=r,null==e.useColors&&(e.useColors=exports.useColors()),null==e.color&&e.useColors&&(e.color=selectColor());var t=Array.prototype.slice.call(arguments);t[0]=exports.coerce(t[0]),"string"!=typeof t[0]&&(t=["%o"].concat(t));var n=0;t[0]=t[0].replace(/%([a-z%])/g,function(r,o){if("%%"===r)return r;n++;var s=exports.formatters[o];if("function"==typeof s){var p=t[n];r=s.call(e,p),t.splice(n,1),n--}return r}),"function"==typeof exports.formatArgs&&(t=exports.formatArgs.apply(e,t));var p=o.log||exports.log||console.log.bind(console);p.apply(e,t)}r.enabled=!1,o.enabled=!0;var s=exports.enabled(e)?o:r;return s.namespace=e,s}function enable(e){exports.save(e);for(var r=(e||"").split(/[\s,]+/),o=r.length,s=0;o>s;s++)r[s]&&(e=r[s].replace(/\*/g,".*?"),"-"===e[0]?exports.skips.push(new RegExp("^"+e.substr(1)+"$")):exports.names.push(new RegExp("^"+e+"$")))}function disable(){exports.enable("")}function enabled(e){var r,o;for(r=0,o=exports.skips.length;o>r;r++)if(exports.skips[r].test(e))return!1;for(r=0,o=exports.names.length;o>r;r++)if(exports.names[r].test(e))return!0;return!1}function coerce(e){return e instanceof Error?e.stack||e.message:e}exports=module.exports=debug,exports.coerce=coerce,exports.disable=disable,exports.enable=enable,exports.enabled=enabled,exports.humanize=require("ms"),exports.names=[],exports.skips=[],exports.formatters={};var prevColor=0,prevTime; },{"ms":68}],31:[function(require,module,exports){ (function (process,global){ /*! * @overview es6-promise - a tiny implementation of Promises/A+. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) * @license Licensed under MIT license * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE * @version 3.1.2 */ (function(){"use strict";function t(t){return"function"==typeof t||"object"==typeof t&&null!==t}function e(t){return"function"==typeof t}function n(t){W=t}function r(t){H=t}function o(){return function(){process.nextTick(a)}}function i(){return function(){U(a)}}function s(){var t=0,e=new Q(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){t.port2.postMessage(0)}}function c(){return function(){setTimeout(a,1)}}function a(){for(var t=0;G>t;t+=2){var e=X[t],n=X[t+1];e(n),X[t]=void 0,X[t+1]=void 0}G=0}function f(){try{var t=require,e=t("vertx");return U=e.runOnLoop||e.runOnContext,i()}catch(n){return c()}}function l(t,e){var n=this,r=n._state;if(r===et&&!t||r===nt&&!e)return this;var o=new this.constructor(p),i=n._result;if(r){var s=arguments[r-1];H(function(){C(r,o,s,i)})}else j(n,o,t,e);return o}function h(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(p);return g(n,t),n}function p(){}function _(){return new TypeError("You cannot resolve a promise with itself")}function v(){return new TypeError("A promises callback cannot return that same promise.")}function d(t){try{return t.then}catch(e){return rt.error=e,rt}}function y(t,e,n,r){try{t.call(e,n,r)}catch(o){return o}}function m(t,e,n){H(function(t){var r=!1,o=y(n,e,function(n){r||(r=!0,e!==n?g(t,n):E(t,n))},function(e){r||(r=!0,S(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&o&&(r=!0,S(t,o))},t)}function w(t,e){e._state===et?E(t,e._result):e._state===nt?S(t,e._result):j(e,void 0,function(e){g(t,e)},function(e){S(t,e)})}function b(t,n,r){n.constructor===t.constructor&&r===Z&&constructor.resolve===$?w(t,n):r===rt?S(t,rt.error):void 0===r?E(t,n):e(r)?m(t,n,r):E(t,n)}function g(e,n){e===n?S(e,_()):t(n)?b(e,n,d(n)):E(e,n)}function A(t){t._onerror&&t._onerror(t._result),T(t)}function E(t,e){t._state===tt&&(t._result=e,t._state=et,0!==t._subscribers.length&&H(T,t))}function S(t,e){t._state===tt&&(t._state=nt,t._result=e,H(A,t))}function j(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+et]=n,o[i+nt]=r,0===i&&t._state&&H(T,t)}function T(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r,o,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?C(n,r,o,i):o(i);t._subscribers.length=0}}function P(){this.error=null}function x(t,e){try{return t(e)}catch(n){return ot.error=n,ot}}function C(t,n,r,o){var i,s,u,c,a=e(r);if(a){if(i=x(r,o),i===ot?(c=!0,s=i.error,i=null):u=!0,n===i)return void S(n,v())}else i=o,u=!0;n._state!==tt||(a&&u?g(n,i):c?S(n,s):t===et?E(n,i):t===nt&&S(n,i))}function M(t,e){try{e(function(e){g(t,e)},function(e){S(t,e)})}catch(n){S(t,n)}}function O(t){return new ft(this,t).promise}function k(t){function e(t){g(o,t)}function n(t){S(o,t)}var r=this,o=new r(p);if(!B(t))return S(o,new TypeError("You must pass an array to race.")),o;for(var i=t.length,s=0;o._state===tt&&i>s;s++)j(r.resolve(t[s]),void 0,e,n);return o}function Y(t){var e=this,n=new e(p);return S(n,t),n}function q(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function F(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function D(t){this._id=ct++,this._state=void 0,this._result=void 0,this._subscribers=[],p!==t&&("function"!=typeof t&&q(),this instanceof D?M(this,t):F())}function K(t,e){this._instanceConstructor=t,this.promise=new t(p),Array.isArray(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?E(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&E(this.promise,this._result))):S(this.promise,this._validationError())}function L(){var t;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;n&&"[object Promise]"===Object.prototype.toString.call(n.resolve())&&!n.cast||(t.Promise=at)}var N;N=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var U,W,z,B=N,G=0,H=function(t,e){X[G]=t,X[G+1]=e,G+=2,2===G&&(W?W(a):z())},I="undefined"!=typeof window?window:void 0,J=I||{},Q=J.MutationObserver||J.WebKitMutationObserver,R="undefined"!=typeof process&&"[object process]"==={}.toString.call(process),V="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,X=new Array(1e3);z=R?o():Q?s():V?u():void 0===I&&"function"==typeof require?f():c();var Z=l,$=h,tt=void 0,et=1,nt=2,rt=new P,ot=new P,it=O,st=k,ut=Y,ct=0,at=D;D.all=it,D.race=st,D.resolve=$,D.reject=ut,D._setScheduler=n,D._setAsap=r,D._asap=H,D.prototype={constructor:D,then:Z,"catch":function(t){return this.then(null,t)}};var ft=K;K.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},K.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;this._state===tt&&t>n;n++)this._eachEntry(e[n],n)},K.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===$){var o=d(t);if(o===Z&&t._state!==tt)this._settledAt(t._state,e,t._result);else if("function"!=typeof o)this._remaining--,this._result[e]=t;else if(n===at){var i=new n(p);b(i,t,o),this._willSettleAt(i,e)}else this._willSettleAt(new n(function(e){e(t)}),e)}else this._willSettleAt(r(t),e)},K.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===tt&&(this._remaining--,t===nt?S(r,n):this._result[e]=n),0===this._remaining&&E(r,this._result)},K.prototype._willSettleAt=function(t,e){var n=this;j(t,void 0,function(t){n._settledAt(et,e,t)},function(t){n._settledAt(nt,e,t)})};var lt=L,ht={Promise:at,polyfill:lt};"function"==typeof define&&define.amd?define(function(){return ht}):"undefined"!=typeof module&&module.exports?module.exports=ht:"undefined"!=typeof this&&(this.ES6Promise=ht),lt()}).call(this); }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"_process":71}],32:[function(require,module,exports){ function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(e){return"function"==typeof e}function isNumber(e){return"number"==typeof e}function isObject(e){return"object"==typeof e&&null!==e}function isUndefined(e){return void 0===e}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(e){if(!isNumber(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},EventEmitter.prototype.emit=function(e){var t,i,n,s,r,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(i=this._events[e],isUndefined(i))return!1;if(isFunction(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),i.apply(this,s)}else if(isObject(i))for(s=Array.prototype.slice.call(arguments,1),o=i.slice(),n=o.length,r=0;n>r;r++)o[r].apply(this,s);return!0},EventEmitter.prototype.addListener=function(e,t){var i;if(!isFunction(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,isFunction(t.listener)?t.listener:t),this._events[e]?isObject(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,isObject(this._events[e])&&!this._events[e].warned&&(i=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,i&&i>0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(e,t){function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}if(!isFunction(t))throw TypeError("listener must be a function");var n=!1;return i.listener=t,this.on(e,i),this},EventEmitter.prototype.removeListener=function(e,t){var i,n,s,r;if(!isFunction(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=this._events[e],s=i.length,n=-1,i===t||isFunction(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(isObject(i)){for(r=s;r-- >0;)if(i[r]===t||i[r].listener&&i[r].listener===t){n=r;break}if(0>n)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},EventEmitter.prototype.removeAllListeners=function(e){var t,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[e],isFunction(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},EventEmitter.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?isFunction(this._events[e])?[this._events[e]]:this._events[e].slice():[]},EventEmitter.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(isFunction(t))return 1;if(t)return t.length}return 0},EventEmitter.listenerCount=function(e,t){return e.listenerCount(t)}; },{}],33:[function(require,module,exports){ var http=require("http"),https=module.exports;for(var key in http)http.hasOwnProperty(key)&&(https[key]=http[key]);https.request=function(t,e){return t||(t={}),t.scheme="https",t.protocol="https:",http.request.call(this,t,e)}; },{"http":87}],34:[function(require,module,exports){ exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=0>o||0===o&&0>1/o?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; },{}],35:[function(require,module,exports){ "function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}; },{}],36:[function(require,module,exports){ module.exports=function(r){return!(null==r||!(r._isBuffer||r.constructor&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)))}; },{}],37:[function(require,module,exports){ var toString={}.toString;module.exports=Array.isArray||function(r){return"[object Array]"==toString.call(r)}; },{}],38:[function(require,module,exports){ "use strict";var yaml=require("./lib/js-yaml.js");module.exports=yaml; },{"./lib/js-yaml.js":39}],39:[function(require,module,exports){ "use strict";function deprecated(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}var loader=require("./js-yaml/loader"),dumper=require("./js-yaml/dumper");module.exports.Type=require("./js-yaml/type"),module.exports.Schema=require("./js-yaml/schema"),module.exports.FAILSAFE_SCHEMA=require("./js-yaml/schema/failsafe"),module.exports.JSON_SCHEMA=require("./js-yaml/schema/json"),module.exports.CORE_SCHEMA=require("./js-yaml/schema/core"),module.exports.DEFAULT_SAFE_SCHEMA=require("./js-yaml/schema/default_safe"),module.exports.DEFAULT_FULL_SCHEMA=require("./js-yaml/schema/default_full"),module.exports.load=loader.load,module.exports.loadAll=loader.loadAll,module.exports.safeLoad=loader.safeLoad,module.exports.safeLoadAll=loader.safeLoadAll,module.exports.dump=dumper.dump,module.exports.safeDump=dumper.safeDump,module.exports.YAMLException=require("./js-yaml/exception"),module.exports.MINIMAL_SCHEMA=require("./js-yaml/schema/failsafe"),module.exports.SAFE_SCHEMA=require("./js-yaml/schema/default_safe"),module.exports.DEFAULT_SCHEMA=require("./js-yaml/schema/default_full"),module.exports.scan=deprecated("scan"),module.exports.parse=deprecated("parse"),module.exports.compose=deprecated("compose"),module.exports.addConstructor=deprecated("addConstructor"); },{"./js-yaml/dumper":41,"./js-yaml/exception":42,"./js-yaml/loader":43,"./js-yaml/schema":45,"./js-yaml/schema/core":46,"./js-yaml/schema/default_full":47,"./js-yaml/schema/default_safe":48,"./js-yaml/schema/failsafe":49,"./js-yaml/schema/json":50,"./js-yaml/type":51}],40:[function(require,module,exports){ "use strict";function isNothing(e){return"undefined"==typeof e||null===e}function isObject(e){return"object"==typeof e&&null!==e}function toArray(e){return Array.isArray(e)?e:isNothing(e)?[]:[e]}function extend(e,t){var r,o,n,i;if(t)for(i=Object.keys(t),r=0,o=i.length;o>r;r+=1)n=i[r],e[n]=t[n];return e}function repeat(e,t){var r,o="";for(r=0;t>r;r+=1)o+=e;return o}function isNegativeZero(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}module.exports.isNothing=isNothing,module.exports.isObject=isObject,module.exports.toArray=toArray,module.exports.repeat=repeat,module.exports.isNegativeZero=isNegativeZero,module.exports.extend=extend; },{}],41:[function(require,module,exports){ "use strict";function compileStyleMap(e,t){var n,i,r,E,o,l,a;if(null===t)return{};for(n={},i=Object.keys(t),r=0,E=i.length;E>r;r+=1)o=i[r],l=String(t[o]),"!!"===o.slice(0,2)&&(o="tag:yaml.org,2002:"+o.slice(2)),a=e.compiledTypeMap[o],a&&_hasOwnProperty.call(a.styleAliases,l)&&(l=a.styleAliases[l]),n[o]=l;return n}function encodeHex(e){var t,n,i;if(t=e.toString(16).toUpperCase(),255>=e)n="x",i=2;else if(65535>=e)n="u",i=4;else{if(!(4294967295>=e))throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+common.repeat("0",i-t.length)+t}function State(e){this.schema=e.schema||DEFAULT_FULL_SCHEMA,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=common.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=compileStyleMap(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function indentString(e,t){for(var n,i=common.repeat(" ",t),r=0,E=-1,o="",l=e.length;l>r;)E=e.indexOf("\n",r),-1===E?(n=e.slice(r),r=l):(n=e.slice(r,E+1),r=E+1),n.length&&"\n"!==n&&(o+=i),o+=n;return o}function generateNextLine(e,t){return"\n"+common.repeat(" ",e.indent*t)}function testImplicitResolving(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;i>n;n+=1)if(r=e.implicitTypes[n],r.resolve(t))return!0;return!1}function isWhitespace(e){return e===CHAR_SPACE||e===CHAR_TAB}function isPrintable(e){return e>=32&&126>=e||e>=161&&55295>=e&&8232!==e&&8233!==e||e>=57344&&65533>=e&&65279!==e||e>=65536&&1114111>=e}function isPlainSafe(e){return isPrintable(e)&&65279!==e&&e!==CHAR_COMMA&&e!==CHAR_LEFT_SQUARE_BRACKET&&e!==CHAR_RIGHT_SQUARE_BRACKET&&e!==CHAR_LEFT_CURLY_BRACKET&&e!==CHAR_RIGHT_CURLY_BRACKET&&e!==CHAR_COLON&&e!==CHAR_SHARP}function isPlainSafeFirst(e){return isPrintable(e)&&65279!==e&&!isWhitespace(e)&&e!==CHAR_MINUS&&e!==CHAR_QUESTION&&e!==CHAR_COLON&&e!==CHAR_COMMA&&e!==CHAR_LEFT_SQUARE_BRACKET&&e!==CHAR_RIGHT_SQUARE_BRACKET&&e!==CHAR_LEFT_CURLY_BRACKET&&e!==CHAR_RIGHT_CURLY_BRACKET&&e!==CHAR_SHARP&&e!==CHAR_AMPERSAND&&e!==CHAR_ASTERISK&&e!==CHAR_EXCLAMATION&&e!==CHAR_VERTICAL_LINE&&e!==CHAR_GREATER_THAN&&e!==CHAR_SINGLE_QUOTE&&e!==CHAR_DOUBLE_QUOTE&&e!==CHAR_PERCENT&&e!==CHAR_COMMERCIAL_AT&&e!==CHAR_GRAVE_ACCENT}function chooseScalarStyle(e,t,n,i,r){var E,o,l=!1,a=!1,s=-1!==i,c=-1,A=isPlainSafeFirst(e.charCodeAt(0))&&!isWhitespace(e.charCodeAt(e.length-1));if(t)for(E=0;E<e.length;E++){if(o=e.charCodeAt(E),!isPrintable(o))return STYLE_DOUBLE;A=A&&isPlainSafe(o)}else{for(E=0;E<e.length;E++){if(o=e.charCodeAt(E),o===CHAR_LINE_FEED)l=!0,s&&(a=a||E-c-1>i&&" "!==e[c+1],c=E);else if(!isPrintable(o))return STYLE_DOUBLE;A=A&&isPlainSafe(o)}a=a||s&&E-c-1>i&&" "!==e[c+1]}return l||a?" "===e[0]&&n>9?STYLE_DOUBLE:a?STYLE_FOLDED:STYLE_LITERAL:A&&!r(e)?STYLE_PLAIN:STYLE_SINGLE}function writeScalar(e,t,n,i){e.dump=function(){function r(t){return testImplicitResolving(e,t)}if(0===t.length)return"''";if(!e.noCompatMode&&-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(t))return"'"+t+"'";var E=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-E),l=i||e.flowLevel>-1&&n>=e.flowLevel;switch(chooseScalarStyle(t,l,e.indent,o,r)){case STYLE_PLAIN:return t;case STYLE_SINGLE:return"'"+t.replace(/'/g,"''")+"'";case STYLE_LITERAL:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,E));case STYLE_FOLDED:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,o),E));case STYLE_DOUBLE:return'"'+escapeString(t,o)+'"';default:throw new YAMLException("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var n=" "===e[0]?String(t):"",i="\n"===e[e.length-1],r=i&&("\n"===e[e.length-2]||"\n"===e),E=r?"+":i?"":"-";return n+E+"\n"}function dropEndingNewline(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function foldString(e,t){for(var n,i,r=/(\n+)([^\n]*)/g,E=function(){var n=e.indexOf("\n");return n=-1!==n?n:e.length,r.lastIndex=n,foldLine(e.slice(0,n),t)}(),o="\n"===e[0]||" "===e[0];i=r.exec(e);){var l=i[1],a=i[2];n=" "===a[0],E+=l+(o||n||""===a?"":"\n")+foldLine(a,t),o=n}return E}function foldLine(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,E=0,o=0,l=0,a="";n=r.exec(e);)l=n.index,l-E>t&&(i=o>E?o:l,a+="\n"+e.slice(E,i),E=i+1),o=l;return a+="\n",a+=e.length-E>t&&o>E?e.slice(E,o)+"\n"+e.slice(o+1):e.slice(E),a.slice(1)}function escapeString(e){for(var t,n,i="",r=0;r<e.length;r++)t=e.charCodeAt(r),n=ESCAPE_SEQUENCES[t],i+=!n&&isPrintable(t)?e[r]:n||encodeHex(t);return i}function writeFlowSequence(e,t,n){var i,r,E="",o=e.tag;for(i=0,r=n.length;r>i;i+=1)writeNode(e,t,n[i],!1,!1)&&(0!==i&&(E+=", "),E+=e.dump);e.tag=o,e.dump="["+E+"]"}function writeBlockSequence(e,t,n,i){var r,E,o="",l=e.tag;for(r=0,E=n.length;E>r;r+=1)writeNode(e,t+1,n[r],!0,!0)&&(i&&0===r||(o+=generateNextLine(e,t)),o+="- "+e.dump);e.tag=l,e.dump=o||"[]"}function writeFlowMapping(e,t,n){var i,r,E,o,l,a="",s=e.tag,c=Object.keys(n);for(i=0,r=c.length;r>i;i+=1)l="",0!==i&&(l+=", "),E=c[i],o=n[E],writeNode(e,t,E,!1,!1)&&(e.dump.length>1024&&(l+="? "),l+=e.dump+": ",writeNode(e,t,o,!1,!1)&&(l+=e.dump,a+=l));e.tag=s,e.dump="{"+a+"}"}function writeBlockMapping(e,t,n,i){var r,E,o,l,a,s,c="",A=e.tag,u=Object.keys(n);if(e.sortKeys===!0)u.sort();else if("function"==typeof e.sortKeys)u.sort(e.sortKeys);else if(e.sortKeys)throw new YAMLException("sortKeys must be a boolean or a function");for(r=0,E=u.length;E>r;r+=1)s="",i&&0===r||(s+=generateNextLine(e,t)),o=u[r],l=n[o],writeNode(e,t+1,o,!0,!0,!0)&&(a=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024,a&&(s+=e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?"?":"? "),s+=e.dump,a&&(s+=generateNextLine(e,t)),writeNode(e,t+1,l,!0,a)&&(s+=e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?":":": ",s+=e.dump,c+=s));e.tag=A,e.dump=c||"{}"}function detectType(e,t,n){var i,r,E,o,l,a;for(r=n?e.explicitTypes:e.implicitTypes,E=0,o=r.length;o>E;E+=1)if(l=r[E],(l.instanceOf||l.predicate)&&(!l.instanceOf||"object"==typeof t&&t instanceof l.instanceOf)&&(!l.predicate||l.predicate(t))){if(e.tag=n?l.tag:"?",l.represent){if(a=e.styleMap[l.tag]||l.defaultStyle,"[object Function]"===_toString.call(l.represent))i=l.represent(t,a);else{if(!_hasOwnProperty.call(l.represent,a))throw new YAMLException("!<"+l.tag+'> tag resolver accepts not "'+a+'" style');i=l.represent[a](t,a)}e.dump=i}return!0}return!1}function writeNode(e,t,n,i,r,E){e.tag=null,e.dump=n,detectType(e,n,!1)||detectType(e,n,!0);var o=_toString.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var l,a,s="[object Object]"===o||"[object Array]"===o;if(s&&(l=e.duplicates.indexOf(n),a=-1!==l),(null!==e.tag&&"?"!==e.tag||a||2!==e.indent&&t>0)&&(r=!1),a&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(s&&a&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),"[object Object]"===o)i&&0!==Object.keys(e.dump).length?(writeBlockMapping(e,t,e.dump,r),a&&(e.dump="&ref_"+l+e.dump)):(writeFlowMapping(e,t,e.dump),a&&(e.dump="&ref_"+l+" "+e.dump));else if("[object Array]"===o)i&&0!==e.dump.length?(writeBlockSequence(e,t,e.dump,r),a&&(e.dump="&ref_"+l+e.dump)):(writeFlowSequence(e,t,e.dump),a&&(e.dump="&ref_"+l+" "+e.dump));else{if("[object String]"!==o){if(e.skipInvalid)return!1;throw new YAMLException("unacceptable kind of an object to dump "+o)}"?"!==e.tag&&writeScalar(e,e.dump,t,E)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function getDuplicateReferences(e,t){var n,i,r=[],E=[];for(inspectNode(e,r,E),n=0,i=E.length;i>n;n+=1)t.duplicates.push(r[E[n]]);t.usedDuplicates=new Array(i)}function inspectNode(e,t,n){var i,r,E;if(null!==e&&"object"==typeof e)if(r=t.indexOf(e),-1!==r)-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,E=e.length;E>r;r+=1)inspectNode(e[r],t,n);else for(i=Object.keys(e),r=0,E=i.length;E>r;r+=1)inspectNode(e[i[r]],t,n)}function dump(e,t){t=t||{};var n=new State(t);return n.noRefs||getDuplicateReferences(e,n),writeNode(n,0,e,!0,!0)?n.dump+"\n":""}function safeDump(e,t){return dump(e,common.extend({schema:DEFAULT_SAFE_SCHEMA},t))}var common=require("./common"),YAMLException=require("./exception"),DEFAULT_FULL_SCHEMA=require("./schema/default_full"),DEFAULT_SAFE_SCHEMA=require("./schema/default_safe"),_toString=Object.prototype.toString,_hasOwnProperty=Object.prototype.hasOwnProperty,CHAR_TAB=9,CHAR_LINE_FEED=10,CHAR_SPACE=32,CHAR_EXCLAMATION=33,CHAR_DOUBLE_QUOTE=34,CHAR_SHARP=35,CHAR_PERCENT=37,CHAR_AMPERSAND=38,CHAR_SINGLE_QUOTE=39,CHAR_ASTERISK=42,CHAR_COMMA=44,CHAR_MINUS=45,CHAR_COLON=58,CHAR_GREATER_THAN=62,CHAR_QUESTION=63,CHAR_COMMERCIAL_AT=64,CHAR_LEFT_SQUARE_BRACKET=91,CHAR_RIGHT_SQUARE_BRACKET=93,CHAR_GRAVE_ACCENT=96,CHAR_LEFT_CURLY_BRACKET=123,CHAR_VERTICAL_LINE=124,CHAR_RIGHT_CURLY_BRACKET=125,ESCAPE_SEQUENCES={};ESCAPE_SEQUENCES[0]="\\0",ESCAPE_SEQUENCES[7]="\\a",ESCAPE_SEQUENCES[8]="\\b",ESCAPE_SEQUENCES[9]="\\t",ESCAPE_SEQUENCES[10]="\\n",ESCAPE_SEQUENCES[11]="\\v",ESCAPE_SEQUENCES[12]="\\f",ESCAPE_SEQUENCES[13]="\\r",ESCAPE_SEQUENCES[27]="\\e",ESCAPE_SEQUENCES[34]='\\"',ESCAPE_SEQUENCES[92]="\\\\",ESCAPE_SEQUENCES[133]="\\N",ESCAPE_SEQUENCES[160]="\\_",ESCAPE_SEQUENCES[8232]="\\L",ESCAPE_SEQUENCES[8233]="\\P";var DEPRECATED_BOOLEANS_SYNTAX=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],STYLE_PLAIN=1,STYLE_SINGLE=2,STYLE_LITERAL=3,STYLE_FOLDED=4,STYLE_DOUBLE=5;module.exports.dump=dump,module.exports.safeDump=safeDump; },{"./common":40,"./exception":42,"./schema/default_full":47,"./schema/default_safe":48}],42:[function(require,module,exports){ "use strict";function YAMLException(t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name="YAMLException",this.reason=t,this.mark=r,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"")}YAMLException.prototype=Object.create(Error.prototype),YAMLException.prototype.constructor=YAMLException,YAMLException.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r},module.exports=YAMLException; },{}],43:[function(require,module,exports){ "use strict";function is_EOL(e){return 10===e||13===e}function is_WHITE_SPACE(e){return 9===e||32===e}function is_WS_OR_EOL(e){return 9===e||32===e||10===e||13===e}function is_FLOW_INDICATOR(e){return 44===e||91===e||93===e||123===e||125===e}function fromHexCode(e){var t;return e>=48&&57>=e?e-48:(t=32|e,t>=97&&102>=t?t-97+10:-1)}function escapedHexLen(e){return 120===e?2:117===e?4:85===e?8:0}function fromDecimalCode(e){return e>=48&&57>=e?e-48:-1}function simpleEscapeSequence(e){return 48===e?"\x00":97===e?"":98===e?"\b":116===e?" ":9===e?" ":110===e?"\n":118===e?"\x0B":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?" ":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function charFromCodepoint(e){return 65535>=e?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function State(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||DEFAULT_FULL_SCHEMA,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function generateError(e,t){return new YAMLException(t,new Mark(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){e.onWarning&&e.onWarning.call(null,generateError(e,t))}function captureSegment(e,t,n,i){var o,r,a,s;if(n>t){if(s=e.input.slice(t,n),i)for(o=0,r=s.length;r>o;o+=1)a=s.charCodeAt(o),9===a||a>=32&&1114111>=a||throwError(e,"expected valid JSON character");else PATTERN_NON_PRINTABLE.test(s)&&throwError(e,"the stream contains non-printable characters");e.result+=s}}function mergeMappings(e,t,n,i){var o,r,a,s;for(common.isObject(n)||throwError(e,"cannot merge mappings; the provided source object is unacceptable"),o=Object.keys(n),a=0,s=o.length;s>a;a+=1)r=o[a],_hasOwnProperty.call(t,r)||(t[r]=n[r],i[r]=!0)}function storeMappingPair(e,t,n,i,o,r){var a,s;if(o=String(o),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(r))for(a=0,s=r.length;s>a;a+=1)mergeMappings(e,t,r[a],n);else mergeMappings(e,t,r,n);else e.json||_hasOwnProperty.call(n,o)||!_hasOwnProperty.call(t,o)||throwError(e,"duplicated mapping key"),t[o]=r,delete n[o];return t}function readLineBreak(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):throwError(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function skipSeparationSpace(e,t,n){for(var i=0,o=e.input.charCodeAt(e.position);0!==o;){for(;is_WHITE_SPACE(o);)o=e.input.charCodeAt(++e.position);if(t&&35===o)do o=e.input.charCodeAt(++e.position);while(10!==o&&13!==o&&0!==o);if(!is_EOL(o))break;for(readLineBreak(e),o=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position)}return-1!==n&&0!==i&&e.lineIndent<n&&throwWarning(e,"deficient indentation"),i}function testDocumentSeparator(e){var t,n=e.position;return t=e.input.charCodeAt(n),(45===t||46===t)&&t===e.input.charCodeAt(n+1)&&t===e.input.charCodeAt(n+2)&&(n+=3,t=e.input.charCodeAt(n),0===t||is_WS_OR_EOL(t))}function writeFoldedLines(e,t){1===t?e.result+=" ":t>1&&(e.result+=common.repeat("\n",t-1))}function readPlainScalar(e,t,n){var i,o,r,a,s,p,c,l,u,d=e.kind,h=e.result;if(u=e.input.charCodeAt(e.position),is_WS_OR_EOL(u)||is_FLOW_INDICATOR(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)||n&&is_FLOW_INDICATOR(o)))return!1;for(e.kind="scalar",e.result="",r=a=e.position,s=!1;0!==u;){if(58===u){if(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)||n&&is_FLOW_INDICATOR(o))break}else if(35===u){if(i=e.input.charCodeAt(e.position-1),is_WS_OR_EOL(i))break}else{if(e.position===e.lineStart&&testDocumentSeparator(e)||n&&is_FLOW_INDICATOR(u))break;if(is_EOL(u)){if(p=e.line,c=e.lineStart,l=e.lineIndent,skipSeparationSpace(e,!1,-1),e.lineIndent>=t){s=!0,u=e.input.charCodeAt(e.position);continue}e.position=a,e.line=p,e.lineStart=c,e.lineIndent=l;break}}s&&(captureSegment(e,r,a,!1),writeFoldedLines(e,e.line-p),r=a=e.position,s=!1),is_WHITE_SPACE(u)||(a=e.position+1),u=e.input.charCodeAt(++e.position)}return captureSegment(e,r,a,!1),e.result?!0:(e.kind=d,e.result=h,!1)}function readSingleQuotedScalar(e,t){var n,i,o;if(n=e.input.charCodeAt(e.position),39!==n)return!1;for(e.kind="scalar",e.result="",e.position++,i=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(captureSegment(e,i,e.position,!0),n=e.input.charCodeAt(++e.position),39!==n)return!0;i=o=e.position,e.position++}else is_EOL(n)?(captureSegment(e,i,o,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),i=o=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var n,i,o,r,a,s;if(s=e.input.charCodeAt(e.position),34!==s)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return captureSegment(e,n,e.position,!0),e.position++,!0;if(92===s){if(captureSegment(e,n,e.position,!0),s=e.input.charCodeAt(++e.position),is_EOL(s))skipSeparationSpace(e,!1,t);else if(256>s&&simpleEscapeCheck[s])e.result+=simpleEscapeMap[s],e.position++;else if((a=escapedHexLen(s))>0){for(o=a,r=0;o>0;o--)s=e.input.charCodeAt(++e.position),(a=fromHexCode(s))>=0?r=(r<<4)+a:throwError(e,"expected hexadecimal character");e.result+=charFromCodepoint(r),e.position++}else throwError(e,"unknown escape sequence");n=i=e.position}else is_EOL(s)?(captureSegment(e,n,i,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),n=i=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var n,i,o,r,a,s,p,c,l,u,d,h=!0,f=e.tag,_=e.anchor,A={};if(d=e.input.charCodeAt(e.position),91===d)r=93,p=!1,i=[];else{if(123!==d)return!1;r=125,p=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),d=e.input.charCodeAt(++e.position);0!==d;){if(skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),d===r)return e.position++,e.tag=f,e.anchor=_,e.kind=p?"mapping":"sequence",e.result=i,!0;h||throwError(e,"missed comma between flow collection entries"),l=c=u=null,a=s=!1,63===d&&(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)&&(a=s=!0,e.position++,skipSeparationSpace(e,!0,t))),n=e.line,composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),l=e.tag,c=e.result,skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),!s&&e.line!==n||58!==d||(a=!0,d=e.input.charCodeAt(++e.position),skipSeparationSpace(e,!0,t),composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),u=e.result),p?storeMappingPair(e,i,A,l,c,u):a?i.push(storeMappingPair(e,null,A,l,c,u)):i.push(c),skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),44===d?(h=!0,d=e.input.charCodeAt(++e.position)):h=!1}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var n,i,o,r,a=CHOMPING_CLIP,s=!1,p=!1,c=t,l=0,u=!1;if(r=e.input.charCodeAt(e.position),124===r)i=!1;else{if(62!==r)return!1;i=!0}for(e.kind="scalar",e.result="";0!==r;)if(r=e.input.charCodeAt(++e.position),43===r||45===r)CHOMPING_CLIP===a?a=43===r?CHOMPING_KEEP:CHOMPING_STRIP:throwError(e,"repeat of a chomping mode identifier");else{if(!((o=fromDecimalCode(r))>=0))break;0===o?throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?throwError(e,"repeat of an indentation width identifier"):(c=t+o-1,p=!0)}if(is_WHITE_SPACE(r)){do r=e.input.charCodeAt(++e.position);while(is_WHITE_SPACE(r));if(35===r)do r=e.input.charCodeAt(++e.position);while(!is_EOL(r)&&0!==r)}for(;0!==r;){for(readLineBreak(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!p||e.lineIndent<c)&&32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position);if(!p&&e.lineIndent>c&&(c=e.lineIndent),is_EOL(r))l++;else{if(e.lineIndent<c){a===CHOMPING_KEEP?e.result+=common.repeat("\n",s?1+l:l):a===CHOMPING_CLIP&&s&&(e.result+="\n");break}for(i?is_WHITE_SPACE(r)?(u=!0,e.result+=common.repeat("\n",s?1+l:l)):u?(u=!1,e.result+=common.repeat("\n",l+1)):0===l?s&&(e.result+=" "):e.result+=common.repeat("\n",l):e.result+=common.repeat("\n",s?1+l:l),s=!0,p=!0,l=0,n=e.position;!is_EOL(r)&&0!==r;)r=e.input.charCodeAt(++e.position);captureSegment(e,n,e.position,!1)}}return!0}function readBlockSequence(e,t){var n,i,o,r=e.tag,a=e.anchor,s=[],p=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),o=e.input.charCodeAt(e.position);0!==o&&45===o&&(i=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(i));)if(p=!0,e.position++,skipSeparationSpace(e,!0,-1)&&e.lineIndent<=t)s.push(null),o=e.input.charCodeAt(e.position);else if(n=e.line,composeNode(e,t,CONTEXT_BLOCK_IN,!1,!0),s.push(e.result),skipSeparationSpace(e,!0,-1),o=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==o)throwError(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return p?(e.tag=r,e.anchor=a,e.kind="sequence",e.result=s,!0):!1}function readBlockMapping(e,t,n){var i,o,r,a,s=e.tag,p=e.anchor,c={},l={},u=null,d=null,h=null,f=!1,_=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=c),a=e.input.charCodeAt(e.position);0!==a;){if(i=e.input.charCodeAt(e.position+1),r=e.line,63!==a&&58!==a||!is_WS_OR_EOL(i)){if(!composeNode(e,n,CONTEXT_FLOW_OUT,!1,!0))break;if(e.line===r){for(a=e.input.charCodeAt(e.position);is_WHITE_SPACE(a);)a=e.input.charCodeAt(++e.position);if(58===a)a=e.input.charCodeAt(++e.position),is_WS_OR_EOL(a)||throwError(e,"a whitespace character is expected after the key-value separator within a block mapping"),f&&(storeMappingPair(e,c,l,u,d,null),u=d=h=null),_=!0,f=!1,o=!1,u=e.tag,d=e.result;else{if(!_)return e.tag=s,e.anchor=p,!0;throwError(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!_)return e.tag=s,e.anchor=p,!0;throwError(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===a?(f&&(storeMappingPair(e,c,l,u,d,null),u=d=h=null),_=!0,f=!0,o=!0):f?(f=!1,o=!0):throwError(e,"incomplete explicit mapping pair; a key node is missed"),e.position+=1,a=i;if((e.line===r||e.lineIndent>t)&&(composeNode(e,t,CONTEXT_BLOCK_OUT,!0,o)&&(f?d=e.result:h=e.result),f||(storeMappingPair(e,c,l,u,d,h),u=d=h=null),skipSeparationSpace(e,!0,-1),a=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==a)throwError(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return f&&storeMappingPair(e,c,l,u,d,null),_&&(e.tag=s,e.anchor=p,e.kind="mapping",e.result=c),_}function readTagProperty(e){var t,n,i,o,r=!1,a=!1;if(o=e.input.charCodeAt(e.position),33!==o)return!1;if(null!==e.tag&&throwError(e,"duplication of a tag property"),o=e.input.charCodeAt(++e.position),60===o?(r=!0,o=e.input.charCodeAt(++e.position)):33===o?(a=!0,n="!!",o=e.input.charCodeAt(++e.position)):n="!",t=e.position,r){do o=e.input.charCodeAt(++e.position);while(0!==o&&62!==o);e.position<e.length?(i=e.input.slice(t,e.position),o=e.input.charCodeAt(++e.position)):throwError(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==o&&!is_WS_OR_EOL(o);)33===o&&(a?throwError(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),PATTERN_TAG_HANDLE.test(n)||throwError(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),o=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),PATTERN_FLOW_INDICATORS.test(i)&&throwError(e,"tag suffix cannot contain flow indicator characters")}return i&&!PATTERN_TAG_URI.test(i)&&throwError(e,"tag name cannot contain such characters: "+i),r?e.tag=i:_hasOwnProperty.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:throwError(e,'undeclared tag handle "'+n+'"'),!0}function readAnchorProperty(e){var t,n;if(n=e.input.charCodeAt(e.position),38!==n)return!1;for(null!==e.anchor&&throwError(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!is_WS_OR_EOL(n)&&!is_FLOW_INDICATOR(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&throwError(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function readAlias(e){var t,n,i;if(i=e.input.charCodeAt(e.position),42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!is_WS_OR_EOL(i)&&!is_FLOW_INDICATOR(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&throwError(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||throwError(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],skipSeparationSpace(e,!0,-1),!0}function composeNode(e,t,n,i,o){var r,a,s,p,c,l,u,d,h=1,f=!1,_=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,r=a=s=CONTEXT_BLOCK_OUT===n||CONTEXT_BLOCK_IN===n,i&&skipSeparationSpace(e,!0,-1)&&(f=!0,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)),1===h)for(;readTagProperty(e)||readAnchorProperty(e);)skipSeparationSpace(e,!0,-1)?(f=!0,s=r,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)):s=!1;if(s&&(s=f||o),1!==h&&CONTEXT_BLOCK_OUT!==n||(u=CONTEXT_FLOW_IN===n||CONTEXT_FLOW_OUT===n?t:t+1,d=e.position-e.lineStart,1===h?s&&(readBlockSequence(e,d)||readBlockMapping(e,d,u))||readFlowCollection(e,u)?_=!0:(a&&readBlockScalar(e,u)||readSingleQuotedScalar(e,u)||readDoubleQuotedScalar(e,u)?_=!0:readAlias(e)?(_=!0,null===e.tag&&null===e.anchor||throwError(e,"alias node should not have any properties")):readPlainScalar(e,u,CONTEXT_FLOW_IN===n)&&(_=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===h&&(_=s&&readBlockSequence(e,d))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(p=0,c=e.implicitTypes.length;c>p;p+=1)if(l=e.implicitTypes[p],l.resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else _hasOwnProperty.call(e.typeMap,e.tag)?(l=e.typeMap[e.tag],null!==e.result&&l.kind!==e.kind&&throwError(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):throwError(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||_}function readDocument(e){var t,n,i,o,r=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(o=e.input.charCodeAt(e.position))&&(skipSeparationSpace(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==o));){for(a=!0,o=e.input.charCodeAt(++e.position),t=e.position;0!==o&&!is_WS_OR_EOL(o);)o=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&throwError(e,"directive name must not be less than one character in length");0!==o;){for(;is_WHITE_SPACE(o);)o=e.input.charCodeAt(++e.position);if(35===o){do o=e.input.charCodeAt(++e.position);while(0!==o&&!is_EOL(o));break}if(is_EOL(o))break;for(t=e.position;0!==o&&!is_WS_OR_EOL(o);)o=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==o&&readLineBreak(e),_hasOwnProperty.call(directiveHandlers,n)?directiveHandlers[n](e,n,i):throwWarning(e,'unknown document directive "'+n+'"')}return skipSeparationSpace(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,skipSeparationSpace(e,!0,-1)):a&&throwError(e,"directives end mark is expected"),composeNode(e,e.lineIndent-1,CONTEXT_BLOCK_OUT,!1,!0),skipSeparationSpace(e,!0,-1),e.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(e.input.slice(r,e.position))&&throwWarning(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&testDocumentSeparator(e)?void(46===e.input.charCodeAt(e.position)&&(e.position+=3,skipSeparationSpace(e,!0,-1))):void(e.position<e.length-1&&throwError(e,"end of the stream or a document separator is expected"))}function loadDocuments(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new State(e,t);for(n.input+="\x00";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)readDocument(n);return n.documents}function loadAll(e,t,n){var i,o,r=loadDocuments(e,n);for(i=0,o=r.length;o>i;i+=1)t(r[i])}function load(e,t){var n=loadDocuments(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new YAMLException("expected a single document in the stream, but found more")}}function safeLoadAll(e,t,n){loadAll(e,t,common.extend({schema:DEFAULT_SAFE_SCHEMA},n))}function safeLoad(e,t){return load(e,common.extend({schema:DEFAULT_SAFE_SCHEMA},t))}for(var common=require("./common"),YAMLException=require("./exception"),Mark=require("./mark"),DEFAULT_SAFE_SCHEMA=require("./schema/default_safe"),DEFAULT_FULL_SCHEMA=require("./schema/default_full"),_hasOwnProperty=Object.prototype.hasOwnProperty,CONTEXT_FLOW_IN=1,CONTEXT_FLOW_OUT=2,CONTEXT_BLOCK_IN=3,CONTEXT_BLOCK_OUT=4,CHOMPING_CLIP=1,CHOMPING_STRIP=2,CHOMPING_KEEP=3,PATTERN_NON_PRINTABLE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,PATTERN_NON_ASCII_LINE_BREAKS=/[\x85\u2028\u2029]/,PATTERN_FLOW_INDICATORS=/[,\[\]\{\}]/,PATTERN_TAG_HANDLE=/^(?:!|!!|![a-z\-]+!)$/i,PATTERN_TAG_URI=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,simpleEscapeCheck=new Array(256),simpleEscapeMap=new Array(256),i=0;256>i;i++)simpleEscapeCheck[i]=simpleEscapeSequence(i)?1:0,simpleEscapeMap[i]=simpleEscapeSequence(i);var directiveHandlers={YAML:function(e,t,n){var i,o,r;null!==e.version&&throwError(e,"duplication of %YAML directive"),1!==n.length&&throwError(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),null===i&&throwError(e,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),r=parseInt(i[2],10),1!==o&&throwError(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=2>r,1!==r&&2!==r&&throwWarning(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,o;2!==n.length&&throwError(e,"TAG directive accepts exactly two arguments"),i=n[0],o=n[1],PATTERN_TAG_HANDLE.test(i)||throwError(e,"ill-formed tag handle (first argument) of the TAG directive"),_hasOwnProperty.call(e.tagMap,i)&&throwError(e,'there is a previously declared suffix for "'+i+'" tag handle'),PATTERN_TAG_URI.test(o)||throwError(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=o}};module.exports.loadAll=loadAll,module.exports.load=load,module.exports.safeLoadAll=safeLoadAll,module.exports.safeLoad=safeLoad; },{"./common":40,"./exception":42,"./mark":44,"./schema/default_full":47,"./schema/default_safe":48}],44:[function(require,module,exports){ "use strict";function Mark(t,i,n,e,r){this.name=t,this.buffer=i,this.position=n,this.line=e,this.column=r}var common=require("./common");Mark.prototype.getSnippet=function(t,i){var n,e,r,o,s;if(!this.buffer)return null;for(t=t||4,i=i||75,n="",e=this.position;e>0&&-1==="\x00\r\n \u2028\u2029".indexOf(this.buffer.charAt(e-1));)if(e-=1,this.position-e>i/2-1){n=" ... ",e+=5;break}for(r="",o=this.position;o<this.buffer.length&&-1==="\x00\r\n \u2028\u2029".indexOf(this.buffer.charAt(o));)if(o+=1,o-this.position>i/2-1){r=" ... ",o-=5;break}return s=this.buffer.slice(e,o),common.repeat(" ",t)+n+s+r+"\n"+common.repeat(" ",t+this.position-e+n.length)+"^"},Mark.prototype.toString=function(t){var i,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(i=this.getSnippet(),i&&(n+=":\n"+i)),n},module.exports=Mark; },{"./common":40}],45:[function(require,module,exports){ "use strict";function compileList(i,e,t){var c=[];return i.include.forEach(function(i){t=compileList(i,e,t)}),i[e].forEach(function(i){t.forEach(function(e,t){e.tag===i.tag&&c.push(t)}),t.push(i)}),t.filter(function(i,e){return-1===c.indexOf(e)})}function compileMap(){function i(i){c[i.tag]=i}var e,t,c={};for(e=0,t=arguments.length;t>e;e+=1)arguments[e].forEach(i);return c}function Schema(i){this.include=i.include||[],this.implicit=i.implicit||[],this.explicit=i.explicit||[],this.implicit.forEach(function(i){if(i.loadKind&&"scalar"!==i.loadKind)throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=compileList(this,"implicit",[]),this.compiledExplicit=compileList(this,"explicit",[]),this.compiledTypeMap=compileMap(this.compiledImplicit,this.compiledExplicit)}var common=require("./common"),YAMLException=require("./exception"),Type=require("./type");Schema.DEFAULT=null,Schema.create=function(){var i,e;switch(arguments.length){case 1:i=Schema.DEFAULT,e=arguments[0];break;case 2:i=arguments[0],e=arguments[1];break;default:throw new YAMLException("Wrong number of arguments for Schema.create function")}if(i=common.toArray(i),e=common.toArray(e),!i.every(function(i){return i instanceof Schema}))throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!e.every(function(i){return i instanceof Type}))throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new Schema({include:i,explicit:e})},module.exports=Schema; },{"./common":40,"./exception":42,"./type":51}],46:[function(require,module,exports){ "use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./json")]}); },{"../schema":45,"./json":50}],47:[function(require,module,exports){ "use strict";var Schema=require("../schema");module.exports=Schema.DEFAULT=new Schema({include:[require("./default_safe")],explicit:[require("../type/js/undefined"),require("../type/js/regexp"),require("../type/js/function")]}); },{"../schema":45,"../type/js/function":56,"../type/js/regexp":57,"../type/js/undefined":58,"./default_safe":48}],48:[function(require,module,exports){ "use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./core")],implicit:[require("../type/timestamp"),require("../type/merge")],explicit:[require("../type/binary"),require("../type/omap"),require("../type/pairs"),require("../type/set")]}); },{"../schema":45,"../type/binary":52,"../type/merge":60,"../type/omap":62,"../type/pairs":63,"../type/set":65,"../type/timestamp":67,"./core":46}],49:[function(require,module,exports){ "use strict";var Schema=require("../schema");module.exports=new Schema({explicit:[require("../type/str"),require("../type/seq"),require("../type/map")]}); },{"../schema":45,"../type/map":59,"../type/seq":64,"../type/str":66}],50:[function(require,module,exports){ "use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./failsafe")],implicit:[require("../type/null"),require("../type/bool"),require("../type/int"),require("../type/float")]}); },{"../schema":45,"../type/bool":53,"../type/float":54,"../type/int":55,"../type/null":61,"./failsafe":49}],51:[function(require,module,exports){ "use strict";function compileStyleAliases(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function Type(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===TYPE_CONSTRUCTOR_OPTIONS.indexOf(t))throw new YAMLException('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=compileStyleAliases(t.styleAliases||null),-1===YAML_NODE_KINDS.indexOf(this.kind))throw new YAMLException('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var YAMLException=require("./exception"),TYPE_CONSTRUCTOR_OPTIONS=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],YAML_NODE_KINDS=["scalar","sequence","mapping"];module.exports=Type; },{"./exception":42}],52:[function(require,module,exports){ "use strict";function resolveYamlBinary(r){if(null===r)return!1;var e,n,u=0,t=r.length,a=BASE64_MAP;for(n=0;t>n;n++)if(e=a.indexOf(r.charAt(n)),!(e>64)){if(0>e)return!1;u+=6}return u%8===0}function constructYamlBinary(r){var e,n,u=r.replace(/[\r\n=]/g,""),t=u.length,a=BASE64_MAP,f=0,i=[];for(e=0;t>e;e++)e%4===0&&e&&(i.push(f>>16&255),i.push(f>>8&255),i.push(255&f)),f=f<<6|a.indexOf(u.charAt(e));return n=t%4*6,0===n?(i.push(f>>16&255),i.push(f>>8&255),i.push(255&f)):18===n?(i.push(f>>10&255),i.push(f>>2&255)):12===n&&i.push(f>>4&255),NodeBuffer?new NodeBuffer(i):i}function representYamlBinary(r){var e,n,u="",t=0,a=r.length,f=BASE64_MAP;for(e=0;a>e;e++)e%3===0&&e&&(u+=f[t>>18&63],u+=f[t>>12&63],u+=f[t>>6&63],u+=f[63&t]),t=(t<<8)+r[e];return n=a%3,0===n?(u+=f[t>>18&63],u+=f[t>>12&63],u+=f[t>>6&63],u+=f[63&t]):2===n?(u+=f[t>>10&63],u+=f[t>>4&63],u+=f[t<<2&63],u+=f[64]):1===n&&(u+=f[t>>2&63],u+=f[t<<4&63],u+=f[64],u+=f[64]),u}function isBinary(r){return NodeBuffer&&NodeBuffer.isBuffer(r)}var NodeBuffer;try{var _require=require;NodeBuffer=_require("buffer").Buffer}catch(__){}var Type=require("../type"),BASE64_MAP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";module.exports=new Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary}); },{"../type":51}],53:[function(require,module,exports){ "use strict";function resolveYamlBoolean(e){if(null===e)return!1;var r=e.length;return 4===r&&("true"===e||"True"===e||"TRUE"===e)||5===r&&("false"===e||"False"===e||"FALSE"===e)}function constructYamlBoolean(e){return"true"===e||"True"===e||"TRUE"===e}function isBoolean(e){return"[object Boolean]"===Object.prototype.toString.call(e)}var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"}); },{"../type":51}],54:[function(require,module,exports){ "use strict";function resolveYamlFloat(e){return null===e?!1:!!YAML_FLOAT_PATTERN.test(e)}function constructYamlFloat(e){var r,t,a,n;return r=e.replace(/_/g,"").toLowerCase(),t="-"===r[0]?-1:1,n=[],"+-".indexOf(r[0])>=0&&(r=r.slice(1)),".inf"===r?1===t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===r?NaN:r.indexOf(":")>=0?(r.split(":").forEach(function(e){n.unshift(parseFloat(e,10))}),r=0,a=1,n.forEach(function(e){r+=e*a,a*=60}),t*r):t*parseFloat(r,10)}function representYamlFloat(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(common.isNegativeZero(e))return"-0.0";return t=e.toString(10),SCIENTIFIC_WITHOUT_DOT.test(t)?t.replace("e",".e"):t}function isFloat(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!==0||common.isNegativeZero(e))}var common=require("../common"),Type=require("../type"),YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;module.exports=new Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"}); },{"../common":40,"../type":51}],55:[function(require,module,exports){ "use strict";function isHexCode(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function isOctCode(e){return e>=48&&55>=e}function isDecCode(e){return e>=48&&57>=e}function resolveYamlInteger(e){if(null===e)return!1;var r,t=e.length,n=0,i=!1;if(!t)return!1;if(r=e[n],"-"!==r&&"+"!==r||(r=e[++n]),"0"===r){if(n+1===t)return!0;if(r=e[++n],"b"===r){for(n++;t>n;n++)if(r=e[n],"_"!==r){if("0"!==r&&"1"!==r)return!1;i=!0}return i}if("x"===r){for(n++;t>n;n++)if(r=e[n],"_"!==r){if(!isHexCode(e.charCodeAt(n)))return!1;i=!0}return i}for(;t>n;n++)if(r=e[n],"_"!==r){if(!isOctCode(e.charCodeAt(n)))return!1;i=!0}return i}for(;t>n;n++)if(r=e[n],"_"!==r){if(":"===r)break;if(!isDecCode(e.charCodeAt(n)))return!1;i=!0}return i?":"!==r?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(n)):!1}function constructYamlInteger(e){var r,t,n=e,i=1,o=[];return-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),r=n[0],"-"!==r&&"+"!==r||("-"===r&&(i=-1),n=n.slice(1),r=n[0]),"0"===n?0:"0"===r?"b"===n[1]?i*parseInt(n.slice(2),2):"x"===n[1]?i*parseInt(n,16):i*parseInt(n,8):-1!==n.indexOf(":")?(n.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),n=0,t=1,o.forEach(function(e){n+=e*t,t*=60}),i*n):i*parseInt(n,10)}function isInteger(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1===0&&!common.isNegativeZero(e)}var common=require("../common"),Type=require("../type");module.exports=new Type("tag:yaml.org,2002:int",{kind:"scalar",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger,represent:{binary:function(e){return"0b"+e.toString(2)},octal:function(e){return"0"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return"0x"+e.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}); },{"../common":40,"../type":51}],56:[function(require,module,exports){ "use strict";function resolveJavascriptFunction(e){if(null===e)return!1;try{var r="("+e+")",n=esprima.parse(r,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&"FunctionExpression"===n.body[0].expression.type}catch(t){return!1}}function constructJavascriptFunction(e){var r,n="("+e+")",t=esprima.parse(n,{range:!0}),o=[];if("Program"!==t.type||1!==t.body.length||"ExpressionStatement"!==t.body[0].type||"FunctionExpression"!==t.body[0].expression.type)throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(e){o.push(e.name)}),r=t.body[0].expression.body.range,new Function(o,n.slice(r[0]+1,r[1]-1))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return"[object Function]"===Object.prototype.toString.call(e)}var esprima;try{var _require=require;esprima=_require("esprima")}catch(_){"undefined"!=typeof window&&(esprima=window.esprima)}var Type=require("../../type");module.exports=new Type("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction}); },{"../../type":51}],57:[function(require,module,exports){ "use strict";function resolveJavascriptRegExp(e){if(null===e)return!1;if(0===e.length)return!1;var r=e,t=/\/([gim]*)$/.exec(e),n="";if("/"===r[0]){if(t&&(n=t[1]),n.length>3)return!1;if("/"!==r[r.length-n.length-1])return!1}return!0}function constructJavascriptRegExp(e){var r=e,t=/\/([gim]*)$/.exec(e),n="";return"/"===r[0]&&(t&&(n=t[1]),r=r.slice(1,r.length-n.length-1)),new RegExp(r,n)}function representJavascriptRegExp(e){var r="/"+e.source+"/";return e.global&&(r+="g"),e.multiline&&(r+="m"),e.ignoreCase&&(r+="i"),r}function isRegExp(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var Type=require("../../type");module.exports=new Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp}); },{"../../type":51}],58:[function(require,module,exports){ "use strict";function resolveJavascriptUndefined(){return!0}function constructJavascriptUndefined(){}function representJavascriptUndefined(){return""}function isUndefined(e){return"undefined"==typeof e}var Type=require("../../type");module.exports=new Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined}); },{"../../type":51}],59:[function(require,module,exports){ "use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}}); },{"../type":51}],60:[function(require,module,exports){ "use strict";function resolveYamlMerge(e){return"<<"===e||null===e}var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge}); },{"../type":51}],61:[function(require,module,exports){ "use strict";function resolveYamlNull(l){if(null===l)return!0;var e=l.length;return 1===e&&"~"===l||4===e&&("null"===l||"Null"===l||"NULL"===l)}function constructYamlNull(){return null}function isNull(l){return null===l}var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"}); },{"../type":51}],62:[function(require,module,exports){ "use strict";function resolveYamlOmap(r){if(null===r)return!0;var t,e,n,o,u,a=[],l=r;for(t=0,e=l.length;e>t;t+=1){if(n=l[t],u=!1,"[object Object]"!==_toString.call(n))return!1;for(o in n)if(_hasOwnProperty.call(n,o)){if(u)return!1;u=!0}if(!u)return!1;if(-1!==a.indexOf(o))return!1;a.push(o)}return!0}function constructYamlOmap(r){return null!==r?r:[]}var Type=require("../type"),_hasOwnProperty=Object.prototype.hasOwnProperty,_toString=Object.prototype.toString;module.exports=new Type("tag:yaml.org,2002:omap",{kind:"sequence",resolve:resolveYamlOmap,construct:constructYamlOmap}); },{"../type":51}],63:[function(require,module,exports){ "use strict";function resolveYamlPairs(r){if(null===r)return!0;var e,t,n,l,o,a=r;for(o=new Array(a.length),e=0,t=a.length;t>e;e+=1){if(n=a[e],"[object Object]"!==_toString.call(n))return!1;if(l=Object.keys(n),1!==l.length)return!1;o[e]=[l[0],n[l[0]]]}return!0}function constructYamlPairs(r){if(null===r)return[];var e,t,n,l,o,a=r;for(o=new Array(a.length),e=0,t=a.length;t>e;e+=1)n=a[e],l=Object.keys(n),o[e]=[l[0],n[l[0]]];return o}var Type=require("../type"),_toString=Object.prototype.toString;module.exports=new Type("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:resolveYamlPairs,construct:constructYamlPairs}); },{"../type":51}],64:[function(require,module,exports){ "use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}}); },{"../type":51}],65:[function(require,module,exports){ "use strict";function resolveYamlSet(e){if(null===e)return!0;var r,t=e;for(r in t)if(_hasOwnProperty.call(t,r)&&null!==t[r])return!1;return!0}function constructYamlSet(e){return null!==e?e:{}}var Type=require("../type"),_hasOwnProperty=Object.prototype.hasOwnProperty;module.exports=new Type("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet}); },{"../type":51}],66:[function(require,module,exports){ "use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return null!==r?r:""}}); },{"../type":51}],67:[function(require,module,exports){ "use strict";function resolveYamlTimestamp(e){return null===e?!1:null!==YAML_DATE_REGEXP.exec(e)?!0:null!==YAML_TIMESTAMP_REGEXP.exec(e)}function constructYamlTimestamp(e){var t,r,n,l,a,m,s,T,i,E,u=0,o=null;if(t=YAML_DATE_REGEXP.exec(e),null===t&&(t=YAML_TIMESTAMP_REGEXP.exec(e)),null===t)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,l=+t[3],!t[4])return new Date(Date.UTC(r,n,l));if(a=+t[4],m=+t[5],s=+t[6],t[7]){for(u=t[7].slice(0,3);u.length<3;)u+="0";u=+u}return t[9]&&(T=+t[10],i=+(t[11]||0),o=6e4*(60*T+i),"-"===t[9]&&(o=-o)),E=new Date(Date.UTC(r,n,l,a,m,s,u)),o&&E.setTime(E.getTime()-o),E}function representYamlTimestamp(e){return e.toISOString()}var Type=require("../type"),YAML_DATE_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),YAML_TIMESTAMP_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");module.exports=new Type("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp}); },{"../type":51}],68:[function(require,module,exports){ function parse(e){if(e=""+e,!(e.length>1e4)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(a){var r=parseFloat(a[1]),c=(a[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return r*y;case"days":case"day":case"d":return r*d;case"hours":case"hour":case"hrs":case"hr":case"h":return r*h;case"minutes":case"minute":case"mins":case"min":case"m":return r*m;case"seconds":case"second":case"secs":case"sec":case"s":return r*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r}}}}function short(e){return e>=d?Math.round(e/d)+"d":e>=h?Math.round(e/h)+"h":e>=m?Math.round(e/m)+"m":e>=s?Math.round(e/s)+"s":e+"ms"}function long(e){return plural(e,d,"day")||plural(e,h,"hour")||plural(e,m,"minute")||plural(e,s,"second")||e+" ms"}function plural(s,e,a){return e>s?void 0:1.5*e>s?Math.floor(s/e)+" "+a:Math.ceil(s/e)+" "+a+"s"}var s=1e3,m=60*s,h=60*m,d=24*h,y=365.25*d;module.exports=function(s,e){return e=e||{},"string"==typeof s?parse(s):e["long"]?long(s):short(s)}; },{}],69:[function(require,module,exports){ /**! * Ono v2.2.1 * * @link https://github.com/BigstickCarpet/ono * @license MIT */ "use strict";function create(e){return function(r,t,o,n){var c,a=module.exports.formatter;"string"==typeof r?(c=a.apply(null,arguments),r=t=void 0):c="string"==typeof t?a.apply(null,slice.call(arguments,1)):a.apply(null,slice.call(arguments,2)),r instanceof Error||(t=r,r=void 0),r&&(c+=(c?" \n":"")+r.message);var i=new e(c);return extendError(i,r),extendToJSON(i),extend(i,t),i}}function extendError(e,r){r&&(extendStack(e,r),extend(e,r,!0))}function extendToJSON(e){e.toJSON=errorToJSON,e.inspect=errorToString}function extend(e,r,t){if(r&&"object"==typeof r)for(var o=Object.keys(r),n=0;n<o.length;n++){var c=o[n];if(!(t&&vendorSpecificErrorProperties.indexOf(c)>=0))try{e[c]=r[c]}catch(a){}}}function errorToJSON(){var e={},r=Object.keys(this);r=r.concat(vendorSpecificErrorProperties);for(var t=0;t<r.length;t++){var o=r[t],n=this[o],c=typeof n;"undefined"!==c&&"function"!==c&&(e[o]=n)}return e}function errorToString(){return JSON.stringify(this,null,2).replace(/\\n/g,"\n")}function extendStack(e,r){if(hasLazyStack(r))extendStackProperty(e,r);else{var t=r.stack;t&&(e.stack+=" \n\n"+r.stack)}}function hasLazyStack(e){if(!supportsLazyStack)return!1;var r=Object.getOwnPropertyDescriptor(e,"stack");return r?"function"==typeof r.get:!1}function extendStackProperty(e,r){var t=Object.getOwnPropertyDescriptor(r,"stack");if(t){var o=Object.getOwnPropertyDescriptor(e,"stack");Object.defineProperty(e,"stack",{get:function(){return o.get.apply(e)+" \n\n"+r.stack},enumerable:!1,configurable:!0})}}var util=require("util"),slice=Array.prototype.slice,vendorSpecificErrorProperties=["name","message","description","number","fileName","lineNumber","columnNumber","sourceURL","line","column","stack"];module.exports=create(Error),module.exports.error=create(Error),module.exports.eval=create(EvalError),module.exports.range=create(RangeError),module.exports.reference=create(ReferenceError),module.exports.syntax=create(SyntaxError),module.exports.type=create(TypeError),module.exports.uri=create(URIError),module.exports.formatter=util.format;var supportsLazyStack=function(){return!(!Object.getOwnPropertyDescriptor||!Object.defineProperty||"undefined"!=typeof navigator&&/Android/.test(navigator.userAgent))}(); },{"util":97}],70:[function(require,module,exports){ (function (process){ "use strict";function nextTick(e){for(var s=new Array(arguments.length-1),n=0;n<s.length;)s[n++]=arguments[n];process.nextTick(function(){e.apply(null,s)})}!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?module.exports=nextTick:module.exports=process.nextTick; }).call(this,require('_process')) },{"_process":71}],71:[function(require,module,exports){ function cleanUpNextTick(){draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue()}function drainQueue(){if(!draining){var e=setTimeout(cleanUpNextTick);draining=!0;for(var n=queue.length;n;){for(currentQueue=queue,queue=[];++queueIndex<n;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,n=queue.length}currentQueue=null,draining=!1,clearTimeout(e)}}function Item(e,n){this.fun=e,this.array=n}function noop(){}var process=module.exports={},queue=[],draining=!1,currentQueue,queueIndex=-1;process.nextTick=function(e){var n=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)n[r-1]=arguments[r];queue.push(new Item(e,n)),1!==queue.length||draining||setTimeout(drainQueue,0)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}; },{}],72:[function(require,module,exports){ (function (global){ /*! https://mths.be/punycode v1.4.1 by @mathias */ !function(e){function o(e){throw new RangeError(T[e])}function n(e,o){for(var n=e.length,r=[];n--;)r[n]=o(e[n]);return r}function r(e,o){var r=e.split("@"),t="";r.length>1&&(t=r[0]+"@",e=r[1]),e=e.replace(S,".");var u=e.split("."),i=n(u,o).join(".");return t+i}function t(e){for(var o,n,r=[],t=0,u=e.length;u>t;)o=e.charCodeAt(t++),o>=55296&&56319>=o&&u>t?(n=e.charCodeAt(t++),56320==(64512&n)?r.push(((1023&o)<<10)+(1023&n)+65536):(r.push(o),t--)):r.push(o);return r}function u(e){return n(e,function(e){var o="";return e>65535&&(e-=65536,o+=P(e>>>10&1023|55296),e=56320|1023&e),o+=P(e)}).join("")}function i(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:b}function f(e,o){return e+22+75*(26>e)-((0!=o)<<5)}function c(e,o,n){var r=0;for(e=n?M(e/j):e>>1,e+=M(e/o);e>L*C>>1;r+=b)e=M(e/L);return M(r+(L+1)*e/(e+m))}function l(e){var n,r,t,f,l,s,d,a,p,h,v=[],g=e.length,w=0,m=I,j=A;for(r=e.lastIndexOf(E),0>r&&(r=0),t=0;r>t;++t)e.charCodeAt(t)>=128&&o("not-basic"),v.push(e.charCodeAt(t));for(f=r>0?r+1:0;g>f;){for(l=w,s=1,d=b;f>=g&&o("invalid-input"),a=i(e.charCodeAt(f++)),(a>=b||a>M((x-w)/s))&&o("overflow"),w+=a*s,p=j>=d?y:d>=j+C?C:d-j,!(p>a);d+=b)h=b-p,s>M(x/h)&&o("overflow"),s*=h;n=v.length+1,j=c(w-l,n,0==l),M(w/n)>x-m&&o("overflow"),m+=M(w/n),w%=n,v.splice(w++,0,m)}return u(v)}function s(e){var n,r,u,i,l,s,d,a,p,h,v,g,w,m,j,F=[];for(e=t(e),g=e.length,n=I,r=0,l=A,s=0;g>s;++s)v=e[s],128>v&&F.push(P(v));for(u=i=F.length,i&&F.push(E);g>u;){for(d=x,s=0;g>s;++s)v=e[s],v>=n&&d>v&&(d=v);for(w=u+1,d-n>M((x-r)/w)&&o("overflow"),r+=(d-n)*w,n=d,s=0;g>s;++s)if(v=e[s],n>v&&++r>x&&o("overflow"),v==n){for(a=r,p=b;h=l>=p?y:p>=l+C?C:p-l,!(h>a);p+=b)j=a-h,m=b-h,F.push(P(f(h+j%m,0))),a=M(j/m);F.push(P(f(a,0))),l=c(r,w,u==i),r=0,++u}++r,++n}return F.join("")}function d(e){return r(e,function(e){return F.test(e)?l(e.slice(4).toLowerCase()):e})}function a(e){return r(e,function(e){return O.test(e)?"xn--"+s(e):e})}var p="object"==typeof exports&&exports&&!exports.nodeType&&exports,h="object"==typeof module&&module&&!module.nodeType&&module,v="object"==typeof global&&global;v.global!==v&&v.window!==v&&v.self!==v||(e=v);var g,w,x=2147483647,b=36,y=1,C=26,m=38,j=700,A=72,I=128,E="-",F=/^xn--/,O=/[^\x20-\x7E]/,S=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=b-y,M=Math.floor,P=String.fromCharCode;if(g={version:"1.4.1",ucs2:{decode:t,encode:u},decode:l,encode:s,toASCII:a,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return g});else if(p&&h)if(module.exports==p)h.exports=g;else for(w in g)g.hasOwnProperty(w)&&(p[w]=g[w]);else e.punycode=g}(this); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],73:[function(require,module,exports){ "use strict";function hasOwnProperty(r,e){return Object.prototype.hasOwnProperty.call(r,e)}module.exports=function(r,e,t,n){e=e||"&",t=t||"=";var o={};if("string"!=typeof r||0===r.length)return o;var a=/\+/g;r=r.split(e);var s=1e3;n&&"number"==typeof n.maxKeys&&(s=n.maxKeys);var p=r.length;s>0&&p>s&&(p=s);for(var y=0;p>y;++y){var u,c,i,l,f=r[y].replace(a,"%20"),v=f.indexOf(t);v>=0?(u=f.substr(0,v),c=f.substr(v+1)):(u=f,c=""),i=decodeURIComponent(u),l=decodeURIComponent(c),hasOwnProperty(o,i)?isArray(o[i])?o[i].push(l):o[i]=[o[i],l]:o[i]=l}return o};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)}; },{}],74:[function(require,module,exports){ "use strict";function map(r,e){if(r.map)return r.map(e);for(var t=[],n=0;n<r.length;n++)t.push(e(r[n],n));return t}var stringifyPrimitive=function(r){switch(typeof r){case"string":return r;case"boolean":return r?"true":"false";case"number":return isFinite(r)?r:"";default:return""}};module.exports=function(r,e,t,n){return e=e||"&",t=t||"=",null===r&&(r=void 0),"object"==typeof r?map(objectKeys(r),function(n){var i=encodeURIComponent(stringifyPrimitive(n))+t;return isArray(r[n])?map(r[n],function(r){return i+encodeURIComponent(stringifyPrimitive(r))}).join(e):i+encodeURIComponent(stringifyPrimitive(r[n]))}).join(e):n?encodeURIComponent(stringifyPrimitive(n))+t+encodeURIComponent(stringifyPrimitive(r)):""};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)},objectKeys=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return e}; },{}],75:[function(require,module,exports){ "use strict";exports.decode=exports.parse=require("./decode"),exports.encode=exports.stringify=require("./encode"); },{"./decode":73,"./encode":74}],76:[function(require,module,exports){ module.exports=require("./lib/_stream_duplex.js"); },{"./lib/_stream_duplex.js":77}],77:[function(require,module,exports){ "use strict";function Duplex(e){return this instanceof Duplex?(Readable.call(this,e),Writable.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",onend)):new Duplex(e)}function onend(){this.allowHalfOpen||this._writableState.ended||processNextTick(onEndNT,this)}function onEndNT(e){e.end()}function forEach(e,t){for(var r=0,i=e.length;i>r;r++)t(e[r],r)}var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var processNextTick=require("process-nextick-args"),util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])} },{"./_stream_readable":79,"./_stream_writable":81,"core-util-is":28,"inherits":35,"process-nextick-args":70}],78:[function(require,module,exports){ "use strict";function PassThrough(r){return this instanceof PassThrough?void Transform.call(this,r):new PassThrough(r)}module.exports=PassThrough;var Transform=require("./_stream_transform"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,i){i(null,r)}; },{"./_stream_transform":80,"core-util-is":28,"inherits":35}],79:[function(require,module,exports){ (function (process){ "use strict";function ReadableState(e,t){Duplex=Duplex||require("./_stream_duplex"),e=e||{},this.objectMode=!!e.objectMode,t instanceof Duplex&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){return Duplex=Duplex||require("./_stream_duplex"),this instanceof Readable?(this._readableState=new ReadableState(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),void Stream.call(this)):new Readable(e)}function readableAddChunk(e,t,r,n,a){var i=chunkInvalid(t,r);if(i)e.emit("error",i);else if(null===r)t.reading=!1,onEofChunk(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!a){var d=new Error("stream.push() after EOF");e.emit("error",d)}else if(t.endEmitted&&a){var d=new Error("stream.unshift() after end event");e.emit("error",d)}else{var o;!t.decoder||a||n||(r=t.decoder.write(r),o=!t.objectMode&&0===r.length),a||(t.reading=!1),o||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e))),maybeReadMore(e,t)}else a||(t.reading=!1);return needMoreData(t)}function needMoreData(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:null===e||isNaN(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:0>=e?0:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function chunkInvalid(e,t){var r=null;return Buffer.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function onEofChunk(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,emitReadable(e)}}function emitReadable(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?processNextTick(emitReadable_,e):emitReadable_(e))}function emitReadable_(e){debug("emit readable"),e.emit("readable"),flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,processNextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(debug("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,"data")&&(t.flowing=!0,flow(e))}}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,processNextTick(resume_,e,t))}function resume_(e,t){t.reading||(debug("resume read 0"),e.read(0)),t.resumeScheduled=!1,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;if(debug("flow",t.flowing),t.flowing)do var r=e.read();while(null!==r&&t.flowing)}function fromList(e,t){var r,n=t.buffer,a=t.length,i=!!t.decoder,d=!!t.objectMode;if(0===n.length)return null;if(0===a)r=null;else if(d)r=n.shift();else if(!e||e>=a)r=i?n.join(""):1===n.length?n[0]:Buffer.concat(n,a),n.length=0;else if(e<n[0].length){var o=n[0];r=o.slice(0,e),n[0]=o.slice(e)}else if(e===n[0].length)r=n.shift();else{r=i?"":new Buffer(e);for(var l=0,u=0,s=n.length;s>u&&e>l;u++){var o=n[0],h=Math.min(e-l,o.length);i?r+=o.slice(0,h):o.copy(r,l,0,h),h<o.length?n[0]=o.slice(h):n.shift(),l+=h}}return r}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error("endReadable called on non-empty stream");t.endEmitted||(t.ended=!0,processNextTick(endReadableNT,t,e))}function endReadableNT(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function forEach(e,t){for(var r=0,n=e.length;n>r;r++)t(e[r],r)}function indexOf(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1}module.exports=Readable;var processNextTick=require("process-nextick-args"),isArray=require("isarray"),Buffer=require("buffer").Buffer;Readable.ReadableState=ReadableState;var EE=require("events"),EElistenerCount=function(e,t){return e.listeners(t).length},Stream;!function(){try{Stream=require("stream")}catch(e){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer,util=require("core-util-is");util.inherits=require("inherits");var debugUtil=require("util"),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder;util.inherits(Readable,Stream);var Duplex,Duplex;Readable.prototype.push=function(e,t){var r=this._readableState;return r.objectMode||"string"!=typeof e||(t=t||r.defaultEncoding,t!==r.encoding&&(e=new Buffer(e,t),t="")),readableAddChunk(this,r,e,t,!1)},Readable.prototype.unshift=function(e){var t=this._readableState;return readableAddChunk(this,t,e,"",!0)},Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(e){return StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this._readableState.decoder=new StringDecoder(e),this._readableState.encoding=e,this};var MAX_HWM=8388608;Readable.prototype.read=function(e){debug("read",e);var t=this._readableState,r=e;if(("number"!=typeof e||e>0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(e=howMuchToRead(e,t),0===e&&t.ended)return 0===t.length&&endReadable(this),null;var n=t.needReadable;debug("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&(n=!0,debug("length less than watermark",n)),(t.ended||t.reading)&&(n=!1,debug("reading or ended",n)),n&&(debug("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),n&&!t.reading&&(e=howMuchToRead(r,t));var a;return a=e>0?fromList(e,t):null,null===a&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),r!==e&&t.ended&&0===t.length&&endReadable(this),null!==a&&this.emit("data",a),a},Readable.prototype._read=function(e){this.emit("error",new Error("not implemented"))},Readable.prototype.pipe=function(e,t){function r(e){debug("onunpipe"),e===s&&a()}function n(){debug("onend"),e.end()}function a(){debug("cleanup"),e.removeListener("close",o),e.removeListener("finish",l),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",r),s.removeListener("end",n),s.removeListener("end",a),s.removeListener("data",i),b=!0,!h.awaitDrain||e._writableState&&!e._writableState.needDrain||c()}function i(t){debug("ondata");var r=e.write(t);!1===r&&(1!==h.pipesCount||h.pipes[0]!==e||1!==s.listenerCount("data")||b||(debug("false write response, pause",s._readableState.awaitDrain),s._readableState.awaitDrain++),s.pause())}function d(t){debug("onerror",t),u(),e.removeListener("error",d),0===EElistenerCount(e,"error")&&e.emit("error",t)}function o(){e.removeListener("finish",l),u()}function l(){debug("onfinish"),e.removeListener("close",o),u()}function u(){debug("unpipe"),s.unpipe(e)}var s=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,debug("pipe count=%d opts=%j",h.pipesCount,t);var f=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,p=f?n:a;h.endEmitted?processNextTick(p):s.once("end",p),e.on("unpipe",r);var c=pipeOnDrain(s);e.on("drain",c);var b=!1;return s.on("data",i),e._events&&e._events.error?isArray(e._events.error)?e._events.error.unshift(d):e._events.error=[d,e._events.error]:e.on("error",d),e.once("close",o),e.once("finish",l),e.emit("pipe",s),h.flowing||(debug("pipe resume"),s.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;n>a;a++)r[a].emit("unpipe",this);return this}var i=indexOf(t.pipes,e);return-1===i?this:(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t);if("data"===e&&!1!==this._readableState.flowing&&this.resume(),"readable"===e&&!this._readableState.endEmitted){var n=this._readableState;n.readableListening||(n.readableListening=!0,n.emittedReadable=!1,n.needReadable=!0,n.reading?n.length&&emitReadable(this,n):processNextTick(nReadingNextTick,this))}return r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!0,resume(this,e)),this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this},Readable.prototype.wrap=function(e){var t=this._readableState,r=!1,n=this;e.on("end",function(){if(debug("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&n.push(e)}n.push(null)}),e.on("data",function(a){if(debug("wrapped data"),t.decoder&&(a=t.decoder.write(a)),(!t.objectMode||null!==a&&void 0!==a)&&(t.objectMode||a&&a.length)){var i=n.push(a);i||(r=!0,e.pause())}});for(var a in e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));var i=["error","close","destroy","pause","resume"];return forEach(i,function(t){e.on(t,n.emit.bind(n,t))}),n._read=function(t){debug("wrapped _read",t),r&&(r=!1,e.resume())},n},Readable._fromList=fromList; }).call(this,require('_process')) },{"./_stream_duplex":77,"_process":71,"buffer":25,"core-util-is":28,"events":32,"inherits":35,"isarray":37,"process-nextick-args":70,"stream":86,"string_decoder/":91,"util":23}],80:[function(require,module,exports){ "use strict";function TransformState(r){this.afterTransform=function(t,n){return afterTransform(r,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function afterTransform(r,t,n){var e=r._transformState;e.transforming=!1;var i=e.writecb;if(!i)return r.emit("error",new Error("no writecb in Transform class"));e.writechunk=null,e.writecb=null,null!==n&&void 0!==n&&r.push(n),i(t);var a=r._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&r._read(a.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState=new TransformState(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(r){done(t,r)}):done(t)})}function done(r,t){if(t)return r.emit("error",t);var n=r._writableState,e=r._transformState;if(n.length)throw new Error("calling transform done when ws.length != 0");if(e.transforming)throw new Error("calling transform done when still transforming");return r.push(null)}module.exports=Transform;var Duplex=require("./_stream_duplex"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(Transform,Duplex),Transform.prototype.push=function(r,t){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,t)},Transform.prototype._transform=function(r,t,n){throw new Error("not implemented")},Transform.prototype._write=function(r,t,n){var e=this._transformState;if(e.writecb=n,e.writechunk=r,e.writeencoding=t,!e.transforming){var i=this._readableState;(e.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0}; },{"./_stream_duplex":77,"core-util-is":28,"inherits":35}],81:[function(require,module,exports){ (function (process){ "use strict";function nop(){}function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function WritableState(e,t){Duplex=Duplex||require("./_stream_duplex"),e=e||{},this.objectMode=!!e.objectMode,t instanceof Duplex&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this),this.corkedRequestsFree.next=new CorkedRequest(this)}function Writable(e){return Duplex=Duplex||require("./_stream_duplex"),this instanceof Writable||this instanceof Duplex?(this._writableState=new WritableState(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),void Stream.call(this)):new Writable(e)}function writeAfterEnd(e,t){var r=new Error("write after end");e.emit("error",r),processNextTick(t,r)}function validChunk(e,t,r,i){var n=!0;if(!Buffer.isBuffer(r)&&"string"!=typeof r&&null!==r&&void 0!==r&&!t.objectMode){var s=new TypeError("Invalid non-string/buffer chunk");e.emit("error",s),processNextTick(i,s),n=!1}return n}function decodeChunk(e,t,r){return e.objectMode||e.decodeStrings===!1||"string"!=typeof t||(t=new Buffer(t,r)),t}function writeOrBuffer(e,t,r,i,n){r=decodeChunk(t,r,i),Buffer.isBuffer(r)&&(i="buffer");var s=t.objectMode?1:r.length;t.length+=s;var f=t.length<t.highWaterMark;if(f||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest=new WriteReq(r,i,n),u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,s,r,i,n);return f}function doWrite(e,t,r,i,n,s,f){t.writelen=i,t.writecb=f,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,s,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?processNextTick(n,i):n(i),e._writableState.errorEmitted=!0,e.emit("error",i)}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var s=needFinish(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?asyncWrite(afterWrite,e,r,s,n):afterWrite(e,r,s,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),s=t.corkedRequestsFree;s.entry=r;for(var f=0;r;)n[f]=r,r=r.next,f+=1;doWrite(e,t,!0,t.length,n,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,t.corkedRequestsFree=s.next,s.next=null}else{for(;r;){var u=r.chunk,o=r.encoding,a=r.callback,c=t.objectMode?1:u.length;if(doWrite(e,t,!1,c,u,o,a),r=r.next,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function prefinish(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function finishMaybe(e,t){var r=needFinish(t);return r&&(0===t.pendingcb?(prefinish(e,t),t.finished=!0,e.emit("finish")):prefinish(e,t)),r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?processNextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var i=t.entry;for(t.entry=null;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}module.exports=Writable;var processNextTick=require("process-nextick-args"),asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:processNextTick,Buffer=require("buffer").Buffer;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var internalUtil={deprecate:require("util-deprecate")},Stream;!function(){try{Stream=require("stream")}catch(e){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer;util.inherits(Writable,Stream);var Duplex;WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(e){}}();var Duplex;Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1;return"function"==typeof t&&(r=t,t=null),Buffer.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=nop),i.ended?writeAfterEnd(this,r):validChunk(this,i,e,r)&&(i.pendingcb++,n=writeOrBuffer(this,i,e,t,r)),n},Writable.prototype.cork=function(){var e=this._writableState;e.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e},Writable.prototype._write=function(e,t,r){r(new Error("not implemented"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||endWritable(this,i,r)}; }).call(this,require('_process')) },{"./_stream_duplex":77,"_process":71,"buffer":25,"core-util-is":28,"events":32,"inherits":35,"process-nextick-args":70,"stream":86,"util-deprecate":95}],82:[function(require,module,exports){ module.exports=require("./lib/_stream_passthrough.js"); },{"./lib/_stream_passthrough.js":78}],83:[function(require,module,exports){ var Stream=function(){try{return require("stream")}catch(r){}}();exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=Stream||exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"); },{"./lib/_stream_duplex.js":77,"./lib/_stream_passthrough.js":78,"./lib/_stream_readable.js":79,"./lib/_stream_transform.js":80,"./lib/_stream_writable.js":81,"stream":86}],84:[function(require,module,exports){ module.exports=require("./lib/_stream_transform.js"); },{"./lib/_stream_transform.js":80}],85:[function(require,module,exports){ module.exports=require("./lib/_stream_writable.js"); },{"./lib/_stream_writable.js":81}],86:[function(require,module,exports){ function Stream(){EE.call(this)}module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");inherits(Stream,EE),Stream.Readable=require("readable-stream/readable.js"),Stream.Writable=require("readable-stream/writable.js"),Stream.Duplex=require("readable-stream/duplex.js"),Stream.Transform=require("readable-stream/transform.js"),Stream.PassThrough=require("readable-stream/passthrough.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){function t(r){e.writable&&!1===e.write(r)&&m.pause&&m.pause()}function n(){m.readable&&m.resume&&m.resume()}function a(){u||(u=!0,e.end())}function o(){u||(u=!0,"function"==typeof e.destroy&&e.destroy())}function i(e){if(s(),0===EE.listenerCount(this,"error"))throw e}function s(){m.removeListener("data",t),e.removeListener("drain",n),m.removeListener("end",a),m.removeListener("close",o),m.removeListener("error",i),e.removeListener("error",i),m.removeListener("end",s),m.removeListener("close",s),e.removeListener("close",s)}var m=this;m.on("data",t),e.on("drain",n),e._isStdio||r&&r.end===!1||(m.on("end",a),m.on("close",o));var u=!1;return m.on("error",i),e.on("error",i),m.on("end",s),m.on("close",s),e.on("close",s),e.emit("pipe",m),e}; },{"events":32,"inherits":35,"readable-stream/duplex.js":76,"readable-stream/passthrough.js":82,"readable-stream/readable.js":83,"readable-stream/transform.js":84,"readable-stream/writable.js":85}],87:[function(require,module,exports){ (function (global){ var ClientRequest=require("./lib/request"),extend=require("xtend"),statusCodes=require("builtin-status-codes"),url=require("url"),http=exports;http.request=function(t,e){t="string"==typeof t?url.parse(t):extend(t);var r=-1===global.location.protocol.search(/^https?:$/)?"http:":"",s=t.protocol||r,o=t.hostname||t.host,n=t.port,u=t.path||"/";o&&-1!==o.indexOf(":")&&(o="["+o+"]"),t.url=(o?s+"//"+o:"")+(n?":"+n:"")+u,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var C=new ClientRequest(t);return e&&C.on("response",e),C},http.get=function(t,e){var r=http.request(t,e);return r.end(),r},http.Agent=function(){},http.Agent.defaultMaxSockets=4,http.STATUS_CODES=statusCodes,http.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./lib/request":89,"builtin-status-codes":26,"url":93,"xtend":98}],88:[function(require,module,exports){ (function (global){ function checkTypeSupport(e){try{return xhr.responseType=e,xhr.responseType===e}catch(r){}return!1}function isFunction(e){return"function"==typeof e}exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableByteStream),exports.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),exports.blobConstructor=!0}catch(e){}var xhr=new global.XMLHttpRequest;xhr.open("GET",global.location.host?"/":"https://example.com");var haveArrayBuffer="undefined"!=typeof global.ArrayBuffer,haveSlice=haveArrayBuffer&&isFunction(global.ArrayBuffer.prototype.slice);exports.arraybuffer=haveArrayBuffer&&checkTypeSupport("arraybuffer"),exports.msstream=!exports.fetch&&haveSlice&&checkTypeSupport("ms-stream"),exports.mozchunkedarraybuffer=!exports.fetch&&haveArrayBuffer&&checkTypeSupport("moz-chunked-arraybuffer"),exports.overrideMimeType=isFunction(xhr.overrideMimeType),exports.vbArray=isFunction(global.VBArray),xhr=null; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],89:[function(require,module,exports){ (function (process,global,Buffer){ function decideMode(e){return capability.fetch?"fetch":capability.mozchunkedarraybuffer?"moz-chunked-arraybuffer":capability.msstream?"ms-stream":capability.arraybuffer&&e?"arraybuffer":capability.vbArray&&e?"text:vbarray":"text"}function statusValid(e){try{var t=e.status;return null!==t&&0!==t}catch(r){return!1}}var capability=require("./capability"),inherits=require("inherits"),response=require("./response"),stream=require("stream"),toArrayBuffer=require("to-arraybuffer"),IncomingMessage=response.IncomingMessage,rStates=response.readyStates,ClientRequest=module.exports=function(e){var t=this;stream.Writable.call(t),t._opts=e,t._body=[],t._headers={},e.auth&&t.setHeader("Authorization","Basic "+new Buffer(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(r){t.setHeader(r,e.headers[r])});var r;if("prefer-streaming"===e.mode)r=!1;else if("allow-wrong-content-type"===e.mode)r=!capability.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");r=!0}t._mode=decideMode(r),t.on("finish",function(){t._onFinish()})};inherits(ClientRequest,stream.Writable),ClientRequest.prototype.setHeader=function(e,t){var r=this,o=e.toLowerCase();-1===unsafeHeaders.indexOf(o)&&(r._headers[o]={name:e,value:t})},ClientRequest.prototype.getHeader=function(e){var t=this;return t._headers[e.toLowerCase()].value},ClientRequest.prototype.removeHeader=function(e){var t=this;delete t._headers[e.toLowerCase()]},ClientRequest.prototype._onFinish=function(){var e=this;if(!e._destroyed){var t,r=e._opts,o=e._headers;if("POST"!==r.method&&"PUT"!==r.method&&"PATCH"!==r.method||(t=capability.blobConstructor?new global.Blob(e._body.map(function(e){return toArrayBuffer(e)}),{type:(o["content-type"]||{}).value||""}):Buffer.concat(e._body).toString()),"fetch"===e._mode){var n=Object.keys(o).map(function(e){return[o[e].name,o[e].value]});global.fetch(e._opts.url,{method:e._opts.method,headers:n,body:t,mode:"cors",credentials:r.withCredentials?"include":"same-origin"}).then(function(t){e._fetchResponse=t,e._connect()},function(t){e.emit("error",t)})}else{var s=e._xhr=new global.XMLHttpRequest;try{s.open(e._opts.method,e._opts.url,!0)}catch(i){return void process.nextTick(function(){e.emit("error",i)})}"responseType"in s&&(s.responseType=e._mode.split(":")[0]),"withCredentials"in s&&(s.withCredentials=!!r.withCredentials),"text"===e._mode&&"overrideMimeType"in s&&s.overrideMimeType("text/plain; charset=x-user-defined"),Object.keys(o).forEach(function(e){s.setRequestHeader(o[e].name,o[e].value)}),e._response=null,s.onreadystatechange=function(){switch(s.readyState){case rStates.LOADING:case rStates.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(s.onprogress=function(){e._onXHRProgress()}),s.onerror=function(){e._destroyed||e.emit("error",new Error("XHR error"))};try{s.send(t)}catch(i){return void process.nextTick(function(){e.emit("error",i)})}}}},ClientRequest.prototype._onXHRProgress=function(){var e=this;statusValid(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress())},ClientRequest.prototype._connect=function(){var e=this;e._destroyed||(e._response=new IncomingMessage(e._xhr,e._fetchResponse,e._mode),e.emit("response",e._response))},ClientRequest.prototype._write=function(e,t,r){var o=this;o._body.push(e),r()},ClientRequest.prototype.abort=ClientRequest.prototype.destroy=function(){var e=this;e._destroyed=!0,e._response&&(e._response._destroyed=!0),e._xhr&&e._xhr.abort()},ClientRequest.prototype.end=function(e,t,r){var o=this;"function"==typeof e&&(r=e,e=void 0),stream.Writable.prototype.end.call(o,e,t,r)},ClientRequest.prototype.flushHeaders=function(){},ClientRequest.prototype.setTimeout=function(){},ClientRequest.prototype.setNoDelay=function(){},ClientRequest.prototype.setSocketKeepAlive=function(){};var unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"]; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) },{"./capability":88,"./response":90,"_process":71,"buffer":25,"inherits":35,"stream":86,"to-arraybuffer":92}],90:[function(require,module,exports){ (function (process,global,Buffer){ var capability=require("./capability"),inherits=require("inherits"),stream=require("stream"),rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},IncomingMessage=exports.IncomingMessage=function(e,r,s){function a(){u.read().then(function(e){if(!t._destroyed){if(e.done)return void t.push(null);t.push(new Buffer(e.value)),a()}})}var t=this;if(stream.Readable.call(t),t._mode=s,t.headers={},t.rawHeaders=[],t.trailers={},t.rawTrailers=[],t.on("end",function(){process.nextTick(function(){t.emit("close")})}),"fetch"===s){t._fetchResponse=r,t.statusCode=r.status,t.statusMessage=r.statusText;for(var n,o,i=r.headers[Symbol.iterator]();n=(o=i.next()).value,!o.done;)t.headers[n[0].toLowerCase()]=n[1],t.rawHeaders.push(n[0],n[1]);var u=r.body.getReader();a()}else{t._xhr=e,t._pos=0,t.statusCode=e.status,t.statusMessage=e.statusText;var h=e.getAllResponseHeaders().split(/\r?\n/);if(h.forEach(function(e){var r=e.match(/^([^:]+):\s*(.*)/);if(r){var s=r[1].toLowerCase();"set-cookie"===s?(void 0===t.headers[s]&&(t.headers[s]=[]),t.headers[s].push(r[2])):void 0!==t.headers[s]?t.headers[s]+=", "+r[2]:t.headers[s]=r[2],t.rawHeaders.push(r[1],r[2])}}),t._charset="x-user-defined",!capability.overrideMimeType){var d=t.rawHeaders["mime-type"];if(d){var f=d.match(/;\s*charset=([^;])(;|$)/);f&&(t._charset=f[1].toLowerCase())}t._charset||(t._charset="utf-8")}}};inherits(IncomingMessage,stream.Readable),IncomingMessage.prototype._read=function(){},IncomingMessage.prototype._onXHRProgress=function(){var e=this,r=e._xhr,s=null;switch(e._mode){case"text:vbarray":if(r.readyState!==rStates.DONE)break;try{s=new global.VBArray(r.responseBody).toArray()}catch(a){}if(null!==s){e.push(new Buffer(s));break}case"text":try{s=r.responseText}catch(a){e._mode="text:vbarray";break}if(s.length>e._pos){var t=s.substr(e._pos);if("x-user-defined"===e._charset){for(var n=new Buffer(t.length),o=0;o<t.length;o++)n[o]=255&t.charCodeAt(o);e.push(n)}else e.push(t,e._charset);e._pos=s.length}break;case"arraybuffer":if(r.readyState!==rStates.DONE)break;s=r.response,e.push(new Buffer(new Uint8Array(s)));break;case"moz-chunked-arraybuffer":if(s=r.response,r.readyState!==rStates.LOADING||!s)break;e.push(new Buffer(new Uint8Array(s)));break;case"ms-stream":if(s=r.response,r.readyState!==rStates.LOADING)break;var i=new global.MSStreamReader;i.onprogress=function(){i.result.byteLength>e._pos&&(e.push(new Buffer(new Uint8Array(i.result.slice(e._pos)))),e._pos=i.result.byteLength)},i.onload=function(){e.push(null)},i.readAsArrayBuffer(s)}e._xhr.readyState===rStates.DONE&&"ms-stream"!==e._mode&&e.push(null)}; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) },{"./capability":88,"_process":71,"buffer":25,"inherits":35,"stream":86}],91:[function(require,module,exports){ function assertEncoding(e){if(e&&!isBufferEncoding(e))throw new Error("Unknown encoding: "+e)}function passThroughWrite(e){return e.toString(this.encoding)}function utf16DetectIncompleteChar(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var Buffer=require("buffer").Buffer,isBufferEncoding=Buffer.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},StringDecoder=exports.StringDecoder=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),assertEncoding(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=base64DetectIncompleteChar;break;default:return void(this.write=passThroughWrite)}this.charBuffer=new Buffer(6),this.charReceived=0,this.charLength=0};StringDecoder.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return"";e=e.slice(r,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var h=t.charCodeAt(t.length-1);if(!(h>=55296&&56319>=h)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,h=t.charCodeAt(i);if(h>=55296&&56319>=h){var c=this.surrogateSize;return this.charLength+=c,this.charReceived+=c,this.charBuffer.copy(this.charBuffer,c,0,c),e.copy(this.charBuffer,0,0,c),t.substring(0,i)}return t},StringDecoder.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(2>=t&&r>>4==14){this.charLength=3;break}if(3>=t&&r>>3==30){this.charLength=4;break}}this.charReceived=t},StringDecoder.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,h=this.charBuffer,i=this.encoding;t+=h.slice(0,r).toString(i)}return t}; },{"buffer":25}],92:[function(require,module,exports){ var Buffer=require("buffer").Buffer;module.exports=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if("function"==typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(Buffer.isBuffer(e)){for(var f=new Uint8Array(e.length),r=e.length,t=0;r>t;t++)f[t]=e[t];return f.buffer}throw new Error("Argument must be a Buffer")}; },{"buffer":25}],93:[function(require,module,exports){ "use strict";function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function urlParse(t,s,e){if(t&&util.isObject(t)&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return util.isString(t)&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}var punycode=require("punycode"),util=require("./util");exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n"," "],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");Url.prototype.parse=function(t,s,e){if(!util.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var h=t.indexOf("?"),r=-1!==h&&h<t.indexOf("#")?"?":"#",a=t.split(r),o=/\\/g;a[0]=a[0].replace(o,"/"),t=a.join(r);var n=t;if(n=n.trim(),!e&&1===t.split("#").length){var i=simplePathPattern.exec(n);if(i)return this.path=n,this.href=n,this.pathname=i[1],i[2]?(this.search=i[2],s?this.query=querystring.parse(this.search.substr(1)):this.query=this.search.substr(1)):s&&(this.search="",this.query={}),this}var l=protocolPattern.exec(n);if(l){l=l[0];var u=l.toLowerCase();this.protocol=u,n=n.substr(l.length)}if(e||l||n.match(/^\/\/[^@\/]+@[^@\/]+/)){var p="//"===n.substr(0,2);!p||l&&hostlessProtocol[l]||(n=n.substr(2),this.slashes=!0)}if(!hostlessProtocol[l]&&(p||l&&!slashedProtocol[l])){for(var c=-1,f=0;f<hostEndingChars.length;f++){var m=n.indexOf(hostEndingChars[f]);-1!==m&&(-1===c||c>m)&&(c=m)}var v,g;g=-1===c?n.lastIndexOf("@"):n.lastIndexOf("@",c),-1!==g&&(v=n.slice(0,g),n=n.slice(g+1),this.auth=decodeURIComponent(v)),c=-1;for(var f=0;f<nonHostChars.length;f++){var m=n.indexOf(nonHostChars[f]);-1!==m&&(-1===c||c>m)&&(c=m)}-1===c&&(c=n.length),this.host=n.slice(0,c),n=n.slice(c),this.parseHost(),this.hostname=this.hostname||"";var y="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!y)for(var P=this.hostname.split(/\./),f=0,d=P.length;d>f;f++){var q=P[f];if(q&&!q.match(hostnamePartPattern)){for(var b="",O=0,j=q.length;j>O;O++)b+=q.charCodeAt(O)>127?"x":q[O];if(!b.match(hostnamePartPattern)){var x=P.slice(0,f),U=P.slice(f+1),C=q.match(hostnamePartStart);C&&(x.push(C[1]),U.unshift(C[2])),U.length&&(n="/"+U.join(".")+n),this.hostname=x.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),y||(this.hostname=punycode.toASCII(this.hostname));var A=this.port?":"+this.port:"",w=this.hostname||"";this.host=w+A,this.href+=this.host,y&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==n[0]&&(n="/"+n))}if(!unsafeProtocol[u])for(var f=0,d=autoEscape.length;d>f;f++){var E=autoEscape[f];if(-1!==n.indexOf(E)){var I=encodeURIComponent(E);I===E&&(I=escape(E)),n=n.split(E).join(I)}}var R=n.indexOf("#");-1!==R&&(this.hash=n.substr(R),n=n.slice(0,R));var S=n.indexOf("?");if(-1!==S?(this.search=n.substr(S),this.query=n.substr(S+1),s&&(this.query=querystring.parse(this.query)),n=n.slice(0,S)):s&&(this.search="",this.query={}),n&&(this.pathname=n),slashedProtocol[u]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var A=this.pathname||"",k=this.search||"";this.path=A+k}return this.href=this.format(),this},Url.prototype.format=function(){var t=this.auth||"";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,":"),t+="@");var s=this.protocol||"",e=this.pathname||"",h=this.hash||"",r=!1,a="";this.host?r=t+this.host:this.hostname&&(r=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(a=querystring.stringify(this.query));var o=this.search||a&&"?"+a||"";return s&&":"!==s.substr(-1)&&(s+=":"),this.slashes||(!s||slashedProtocol[s])&&r!==!1?(r="//"+(r||""),e&&"/"!==e.charAt(0)&&(e="/"+e)):r||(r=""),h&&"#"!==h.charAt(0)&&(h="#"+h),o&&"?"!==o.charAt(0)&&(o="?"+o),e=e.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace("#","%23"),s+r+e+o+h},Url.prototype.resolve=function(t){return this.resolveObject(urlParse(t,!1,!0)).format()},Url.prototype.resolveObject=function(t){if(util.isString(t)){var s=new Url;s.parse(t,!1,!0),t=s}for(var e=new Url,h=Object.keys(this),r=0;r<h.length;r++){var a=h[r];e[a]=this[a]}if(e.hash=t.hash,""===t.href)return e.href=e.format(),e;if(t.slashes&&!t.protocol){for(var o=Object.keys(t),n=0;n<o.length;n++){var i=o[n];"protocol"!==i&&(e[i]=t[i])}return slashedProtocol[e.protocol]&&e.hostname&&!e.pathname&&(e.path=e.pathname="/"),e.href=e.format(),e}if(t.protocol&&t.protocol!==e.protocol){if(!slashedProtocol[t.protocol]){for(var l=Object.keys(t),u=0;u<l.length;u++){var p=l[u];e[p]=t[p]}return e.href=e.format(),e}if(e.protocol=t.protocol,t.host||hostlessProtocol[t.protocol])e.pathname=t.pathname;else{for(var c=(t.pathname||"").split("/");c.length&&!(t.host=c.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==c[0]&&c.unshift(""),c.length<2&&c.unshift(""),e.pathname=c.join("/")}if(e.search=t.search,e.query=t.query,e.host=t.host||"",e.auth=t.auth,e.hostname=t.hostname||t.host,e.port=t.port,e.pathname||e.search){var f=e.pathname||"",m=e.search||"";e.path=f+m}return e.slashes=e.slashes||t.slashes,e.href=e.format(),e}var v=e.pathname&&"/"===e.pathname.charAt(0),g=t.host||t.pathname&&"/"===t.pathname.charAt(0),y=g||v||e.host&&t.pathname,P=y,d=e.pathname&&e.pathname.split("/")||[],c=t.pathname&&t.pathname.split("/")||[],q=e.protocol&&!slashedProtocol[e.protocol];if(q&&(e.hostname="",e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===c[0]?c[0]=t.host:c.unshift(t.host)),t.host=null),y=y&&(""===c[0]||""===d[0])),g)e.host=t.host||""===t.host?t.host:e.host,e.hostname=t.hostname||""===t.hostname?t.hostname:e.hostname,e.search=t.search,e.query=t.query,d=c;else if(c.length)d||(d=[]),d.pop(),d=d.concat(c),e.search=t.search,e.query=t.query;else if(!util.isNullOrUndefined(t.search)){if(q){e.hostname=e.host=d.shift();var b=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1;b&&(e.auth=b.shift(),e.host=e.hostname=b.shift())}return e.search=t.search,e.query=t.query,util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!d.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var O=d.slice(-1)[0],j=(e.host||t.host||d.length>1)&&("."===O||".."===O)||""===O,x=0,U=d.length;U>=0;U--)O=d[U],"."===O?d.splice(U,1):".."===O?(d.splice(U,1),x++):x&&(d.splice(U,1),x--);if(!y&&!P)for(;x--;x)d.unshift("..");!y||""===d[0]||d[0]&&"/"===d[0].charAt(0)||d.unshift(""),j&&"/"!==d.join("/").substr(-1)&&d.push("");var C=""===d[0]||d[0]&&"/"===d[0].charAt(0);if(q){e.hostname=e.host=C?"":d.length?d.shift():"";var b=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1;b&&(e.auth=b.shift(),e.host=e.hostname=b.shift())}return y=y||e.host&&d.length,y&&!C&&d.unshift(""),d.length?e.pathname=d.join("/"):(e.pathname=null,e.path=null),util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(s=s[0],":"!==s&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)}; },{"./util":94,"punycode":72,"querystring":75}],94:[function(require,module,exports){ "use strict";module.exports={isString:function(n){return"string"==typeof n},isObject:function(n){return"object"==typeof n&&null!==n},isNull:function(n){return null===n},isNullOrUndefined:function(n){return null==n}}; },{}],95:[function(require,module,exports){ (function (global){ function deprecate(r,e){function o(){if(!t){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),t=!0}return r.apply(this,arguments)}if(config("noDeprecation"))return r;var t=!1;return o}function config(r){try{if(!global.localStorage)return!1}catch(e){return!1}var o=global.localStorage[r];return null==o?!1:"true"===String(o).toLowerCase()}module.exports=deprecate; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],96:[function(require,module,exports){ module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}; },{}],97:[function(require,module,exports){ (function (process,global){ function inspect(e,r){var t={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(0>t)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;u>s;++s)hasOwnProperty(r,String(s))?o.push(formatProperty(e,r,t,n,String(s),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(formatProperty(e,r,t,n,i,!0))}),o}function formatProperty(e,r,t,n,i,o){var s,u,c;if(c=Object.getOwnPropertyDescriptor(r,i)||{value:r[i]},c.get?u=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(u=e.stylize("[Setter]","special")),hasOwnProperty(n,i)||(s="["+i+"]"),u||(e.seen.indexOf(c.value)<0?(u=isNull(t)?formatValue(e,c.value,null):formatValue(e,c.value,t-1),u.indexOf("\n")>-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return 10>e?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t<arguments.length;t++)r.push(inspect(arguments[t]));return r.join(" ")}for(var t=1,n=arguments,i=n.length,o=String(e).replace(formatRegExp,function(e){if("%%"===e)return"%";if(t>=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(r){return"[Circular]"}default:return e}}),s=n[t];i>t;s=n[++t])o+=isNull(s)||!isObject(s)?" "+s:" "+inspect(s);return o},exports.deprecate=function(e,r){function t(){if(!n){if(process.throwDeprecation)throw new Error(r);process.traceDeprecation?console.trace(r):console.error(r),n=!0}return e.apply(this,arguments)}if(isUndefined(global.process))return function(){return exports.deprecate(e,r).apply(this,arguments)};if(process.noDeprecation===!0)return e;var n=!1;return t};var debugs={},debugEnviron;exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}; }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./support/isBuffer":96,"_process":71,"inherits":35}],98:[function(require,module,exports){ function extend(){for(var r={},e=0;e<arguments.length;e++){var t=arguments[e];for(var n in t)hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty; },{}]},{},[3])(3) }); </script> <script> // https://github.com/isaacs/json-stringify-safe v5.0.1 function stringify(obj, replacer, spaces, cycleReplacer) { return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces) } function serializer(replacer, cycleReplacer) { var stack = [], keys = [] if (cycleReplacer == null) cycleReplacer = function(key, value) { if (stack[0] === value) return "[Circular ~]" return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]" } return function(key, value) { if (stack.length > 0) { var thisPos = stack.indexOf(this) ~thisPos ? stack.splice(thisPos + 1) : stack.push(this) ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key) if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value) } else stack.push(value) return replacer == null ? value : replacer.call(this, key, value) } } </script> <script> /* Web Font Loader v1.6.24 - (c) Adobe Systems, Google. License: Apache 2.0 */ (function(){function aa(a,b,d){return a.call.apply(a.bind,arguments)}function ba(a,b,d){if(!a)throw Error();if(2<arguments.length){var c=Array.prototype.slice.call(arguments,2);return function(){var d=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(d,c);return a.apply(b,d)}}return function(){return a.apply(b,arguments)}}function p(a,b,d){p=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?aa:ba;return p.apply(null,arguments)}var q=Date.now||function(){return+new Date};function ca(a,b){this.a=a;this.m=b||a;this.c=this.m.document}var da=!!window.FontFace;function t(a,b,d,c){b=a.c.createElement(b);if(d)for(var e in d)d.hasOwnProperty(e)&&("style"==e?b.style.cssText=d[e]:b.setAttribute(e,d[e]));c&&b.appendChild(a.c.createTextNode(c));return b}function u(a,b,d){a=a.c.getElementsByTagName(b)[0];a||(a=document.documentElement);a.insertBefore(d,a.lastChild)}function v(a){a.parentNode&&a.parentNode.removeChild(a)} function w(a,b,d){b=b||[];d=d||[];for(var c=a.className.split(/\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<c.length;g+=1)if(b[e]===c[g]){f=!0;break}f||c.push(b[e])}b=[];for(e=0;e<c.length;e+=1){f=!1;for(g=0;g<d.length;g+=1)if(c[e]===d[g]){f=!0;break}f||b.push(c[e])}a.className=b.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function y(a,b){for(var d=a.className.split(/\s+/),c=0,e=d.length;c<e;c++)if(d[c]==b)return!0;return!1} function z(a){if("string"===typeof a.f)return a.f;var b=a.m.location.protocol;"about:"==b&&(b=a.a.location.protocol);return"https:"==b?"https:":"http:"}function ea(a){return a.m.location.hostname||a.a.location.hostname} function A(a,b,d){function c(){k&&e&&f&&(k(g),k=null)}b=t(a,"link",{rel:"stylesheet",href:b,media:"all"});var e=!1,f=!0,g=null,k=d||null;da?(b.onload=function(){e=!0;c()},b.onerror=function(){e=!0;g=Error("Stylesheet failed to load");c()}):setTimeout(function(){e=!0;c()},0);u(a,"head",b)} function B(a,b,d,c){var e=a.c.getElementsByTagName("head")[0];if(e){var f=t(a,"script",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(g=!0,d&&d(null),f.onload=f.onreadystatechange=null,"HEAD"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);setTimeout(function(){g||(g=!0,d&&d(Error("Script load timeout")))},c||5E3);return f}return null};function C(){this.a=0;this.c=null}function D(a){a.a++;return function(){a.a--;E(a)}}function F(a,b){a.c=b;E(a)}function E(a){0==a.a&&a.c&&(a.c(),a.c=null)};function G(a){this.a=a||"-"}G.prototype.c=function(a){for(var b=[],d=0;d<arguments.length;d++)b.push(arguments[d].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.a)};function H(a,b){this.c=a;this.f=4;this.a="n";var d=(b||"n4").match(/^([nio])([1-9])$/i);d&&(this.a=d[1],this.f=parseInt(d[2],10))}function fa(a){return I(a)+" "+(a.f+"00")+" 300px "+J(a.c)}function J(a){var b=[];a=a.split(/,\s*/);for(var d=0;d<a.length;d++){var c=a[d].replace(/['"]/g,"");-1!=c.indexOf(" ")||/^\d/.test(c)?b.push("'"+c+"'"):b.push(c)}return b.join(",")}function K(a){return a.a+a.f}function I(a){var b="normal";"o"===a.a?b="oblique":"i"===a.a&&(b="italic");return b} function ga(a){var b=4,d="n",c=null;a&&((c=a.match(/(normal|oblique|italic)/i))&&c[1]&&(d=c[1].substr(0,1).toLowerCase()),(c=a.match(/([1-9]00|normal|bold)/i))&&c[1]&&(/bold/i.test(c[1])?b=7:/[1-9]00/.test(c[1])&&(b=parseInt(c[1].substr(0,1),10))));return d+b};function ha(a,b){this.c=a;this.f=a.m.document.documentElement;this.h=b;this.a=new G("-");this.j=!1!==b.events;this.g=!1!==b.classes}function ia(a){a.g&&w(a.f,[a.a.c("wf","loading")]);L(a,"loading")}function M(a){if(a.g){var b=y(a.f,a.a.c("wf","active")),d=[],c=[a.a.c("wf","loading")];b||d.push(a.a.c("wf","inactive"));w(a.f,d,c)}L(a,"inactive")}function L(a,b,d){if(a.j&&a.h[b])if(d)a.h[b](d.c,K(d));else a.h[b]()};function ja(){this.c={}}function ka(a,b,d){var c=[],e;for(e in b)if(b.hasOwnProperty(e)){var f=a.c[e];f&&c.push(f(b[e],d))}return c};function N(a,b){this.c=a;this.f=b;this.a=t(this.c,"span",{"aria-hidden":"true"},this.f)}function O(a){u(a.c,"body",a.a)}function P(a){return"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+J(a.c)+";"+("font-style:"+I(a)+";font-weight:"+(a.f+"00")+";")};function Q(a,b,d,c,e,f){this.g=a;this.j=b;this.a=c;this.c=d;this.f=e||3E3;this.h=f||void 0}Q.prototype.start=function(){var a=this.c.m.document,b=this,d=q(),c=new Promise(function(c,e){function k(){q()-d>=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?c():setTimeout(k,25)},function(){e()})}k()}),e=new Promise(function(a,c){setTimeout(c,b.f)});Promise.race([e,c]).then(function(){b.g(b.a)},function(){b.j(b.a)})};function R(a,b,d,c,e,f,g){this.v=a;this.B=b;this.c=d;this.a=c;this.s=g||"BESbswy";this.f={};this.w=e||3E3;this.u=f||null;this.o=this.j=this.h=this.g=null;this.g=new N(this.c,this.s);this.h=new N(this.c,this.s);this.j=new N(this.c,this.s);this.o=new N(this.c,this.s);a=new H(this.a.c+",serif",K(this.a));a=P(a);this.g.a.style.cssText=a;a=new H(this.a.c+",sans-serif",K(this.a));a=P(a);this.h.a.style.cssText=a;a=new H("serif",K(this.a));a=P(a);this.j.a.style.cssText=a;a=new H("sans-serif",K(this.a));a= P(a);this.o.a.style.cssText=a;O(this.g);O(this.h);O(this.j);O(this.o)}var S={D:"serif",C:"sans-serif"},T=null;function U(){if(null===T){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);T=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return T}R.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f["sans-serif"]=this.o.a.offsetWidth;this.A=q();la(this)}; function ma(a,b,d){for(var c in S)if(S.hasOwnProperty(c)&&b===a.f[S[c]]&&d===a.f[S[c]])return!0;return!1}function la(a){var b=a.g.a.offsetWidth,d=a.h.a.offsetWidth,c;(c=b===a.f.serif&&d===a.f["sans-serif"])||(c=U()&&ma(a,b,d));c?q()-a.A>=a.w?U()&&ma(a,b,d)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):na(a):V(a,a.v)}function na(a){setTimeout(p(function(){la(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.o.a);b(this.a)},a),0)};function W(a,b,d){this.c=a;this.a=b;this.f=0;this.o=this.j=!1;this.s=d}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c("wf",a.c,K(a).toString(),"active")],[b.a.c("wf",a.c,K(a).toString(),"loading"),b.a.c("wf",a.c,K(a).toString(),"inactive")]);L(b,"fontactive",a);this.o=!0;oa(this)}; W.prototype.h=function(a){var b=this.a;if(b.g){var d=y(b.f,b.a.c("wf",a.c,K(a).toString(),"active")),c=[],e=[b.a.c("wf",a.c,K(a).toString(),"loading")];d||c.push(b.a.c("wf",a.c,K(a).toString(),"inactive"));w(b.f,c,e)}L(b,"fontinactive",a);oa(this)};function oa(a){0==--a.f&&a.j&&(a.o?(a=a.a,a.g&&w(a.f,[a.a.c("wf","active")],[a.a.c("wf","loading"),a.a.c("wf","inactive")]),L(a,"active")):M(a.a))};function pa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}pa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;qa(this,new ha(this.c,a),a)}; function ra(a,b,d,c,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,k=c||null||{};if(0===d.length&&f)M(b.a);else{b.f+=d.length;f&&(b.j=f);var h,m=[];for(h=0;h<d.length;h++){var l=d[h],n=k[l.c],r=b.a,x=l;r.g&&w(r.f,[r.a.c("wf",x.c,K(x).toString(),"loading")]);L(r,"fontloading",x);r=null;null===X&&(X=window.FontFace?(x=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent))?42<parseInt(x[1],10):!0:!1);X?r=new Q(p(b.g,b),p(b.h,b),b.c,l,b.s,n):r=new R(p(b.g,b),p(b.h,b),b.c,l,b.s,a, n);m.push(r)}for(h=0;h<m.length;h++)m[h].start()}},0)}function qa(a,b,d){var c=[],e=d.timeout;ia(b);var c=ka(a.a,d,a.c),f=new W(a.c,b,e);a.h=c.length;b=0;for(d=c.length;b<d;b++)c[b].load(function(b,c,d){ra(a,f,b,c,d)})};function sa(a,b){this.c=a;this.a=b}function ta(a,b,d){var c=z(a.c);a=(a.a.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,"");return c+"//"+a+"/"+b+".js"+(d?"?v="+d:"")} sa.prototype.load=function(a){function b(){if(e["__mti_fntLst"+d]){var c=e["__mti_fntLst"+d](),g=[],k;if(c)for(var h=0;h<c.length;h++){var m=c[h].fontfamily;void 0!=c[h].fontStyle&&void 0!=c[h].fontWeight?(k=c[h].fontStyle+c[h].fontWeight,g.push(new H(m,k))):g.push(new H(m))}a(g)}else setTimeout(function(){b()},50)}var d=this.a.projectId,c=this.a.version;if(d){var e=this.c.m;B(this.c,ta(this,d,c),function(c){c?a([]):b()}).id="__MonotypeAPIScript__"+d}else a([])};function ua(a,b){this.c=a;this.a=b}ua.prototype.load=function(a){var b,d,c=this.a.urls||[],e=this.a.families||[],f=this.a.testStrings||{},g=new C;b=0;for(d=c.length;b<d;b++)A(this.c,c[b],D(g));var k=[];b=0;for(d=e.length;b<d;b++)if(c=e[b].split(":"),c[1])for(var h=c[1].split(","),m=0;m<h.length;m+=1)k.push(new H(c[0],h[m]));else k.push(new H(c[0]));F(g,function(){a(k,f)})};function va(a,b,d){a?this.c=a:this.c=b+wa;this.a=[];this.f=[];this.g=d||""}var wa="//fonts.googleapis.com/css";function xa(a,b){for(var d=b.length,c=0;c<d;c++){var e=b[c].split(":");3==e.length&&a.f.push(e.pop());var f="";2==e.length&&""!=e[1]&&(f=":");a.a.push(e.join(f))}} function ya(a){if(0==a.a.length)throw Error("No fonts to load!");if(-1!=a.c.indexOf("kit="))return a.c;for(var b=a.a.length,d=[],c=0;c<b;c++)d.push(a.a[c].replace(/ /g,"+"));b=a.c+"?family="+d.join("%7C");0<a.f.length&&(b+="&subset="+a.f.join(","));0<a.g.length&&(b+="&text="+encodeURIComponent(a.g));return b};function za(a){this.f=a;this.a=[];this.c={}} var Aa={latin:"BESbswy",cyrillic:"\u0439\u044f\u0416",greek:"\u03b1\u03b2\u03a3",khmer:"\u1780\u1781\u1782",Hanuman:"\u1780\u1781\u1782"},Ba={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},Ca={i:"i",italic:"i",n:"n",normal:"n"},Da=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/; function Ea(a){for(var b=a.f.length,d=0;d<b;d++){var c=a.f[d].split(":"),e=c[0].replace(/\+/g," "),f=["n4"];if(2<=c.length){var g;var k=c[1];g=[];if(k)for(var k=k.split(","),h=k.length,m=0;m<h;m++){var l;l=k[m];if(l.match(/^[\w-]+$/)){var n=Da.exec(l.toLowerCase());if(null==n)l="";else{l=n[2];l=null==l||""==l?"n":Ca[l];n=n[1];if(null==n||""==n)n="4";else var r=Ba[n],n=r?r:isNaN(n)?"4":n.substr(0,1);l=[l,n].join("")}}else l="";l&&g.push(l)}0<g.length&&(f=g);3==c.length&&(c=c[2],g=[],c=c?c.split(","): g,0<c.length&&(c=Aa[c[0]])&&(a.c[e]=c))}a.c[e]||(c=Aa[e])&&(a.c[e]=c);for(c=0;c<f.length;c+=1)a.a.push(new H(e,f[c]))}};function Fa(a,b){this.c=a;this.a=b}var Ga={Arimo:!0,Cousine:!0,Tinos:!0};Fa.prototype.load=function(a){var b=new C,d=this.c,c=new va(this.a.api,z(d),this.a.text),e=this.a.families;xa(c,e);var f=new za(e);Ea(f);A(d,ya(c),D(b));F(b,function(){a(f.a,f.c,Ga)})};function Ha(a,b){this.c=a;this.a=b}Ha.prototype.load=function(a){var b=this.a.id,d=this.c.m;b?B(this.c,(this.a.api||"https://use.typekit.net")+"/"+b+".js",function(b){if(b)a([]);else if(d.Typekit&&d.Typekit.config&&d.Typekit.config.fn){b=d.Typekit.config.fn;for(var e=[],f=0;f<b.length;f+=2)for(var g=b[f],k=b[f+1],h=0;h<k.length;h++)e.push(new H(g,k[h]));try{d.Typekit.load({events:!1,classes:!1,async:!0})}catch(m){}a(e)}},2E3):a([])};function Ia(a,b){this.c=a;this.f=b;this.a=[]}Ia.prototype.load=function(a){var b=this.f.id,d=this.c.m,c=this;b?(d.__webfontfontdeckmodule__||(d.__webfontfontdeckmodule__={}),d.__webfontfontdeckmodule__[b]=function(b,d){for(var g=0,k=d.fonts.length;g<k;++g){var h=d.fonts[g];c.a.push(new H(h.name,ga("font-weight:"+h.weight+";font-style:"+h.style)))}a(c.a)},B(this.c,z(this.c)+(this.f.api||"//f.fontdeck.com/s/css/js/")+ea(this.c)+"/"+b+".js",function(b){b&&a([])})):a([])};var Y=new pa(window);Y.a.c.custom=function(a,b){return new ua(b,a)};Y.a.c.fontdeck=function(a,b){return new Ia(b,a)};Y.a.c.monotype=function(a,b){return new sa(b,a)};Y.a.c.typekit=function(a,b){return new Ha(b,a)};Y.a.c.google=function(a,b){return new Fa(b,a)};var Z={load:p(Y.load,Y)};"function"===typeof define&&define.amd?define(function(){return Z}):"undefined"!==typeof module&&module.exports?module.exports=Z:(window.WebFont=Z,window.WebFontConfig&&Y.load(window.WebFontConfig));}()); </script> <script> var schemaWrapper = {}; schemaWrapper.definitions = Object.assign({}, defs); defsParser = new $RefParser(); defsParser.dereference(schemaWrapper).catch(function(err) { console.log(err); }); </script> <script> $(document).ready(function () { $('.nav-tabs-examples').find('a:first').tab('show'); $(this).scrollspy({ target: '#scrollingNav', offset: 18 }); }); </script> </body> </html>
Save
cmd:
run