CINXE.COM
API Documentation
<!doctype html> <html> <head> <meta charset="utf-8"> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link rel="shortcut icon" href="https://cdn.brandfolder.io/YUHW9ZNT/as/pgec4f-cttweo-azr71n/brandfolder-icon-favicon.png"> <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet"> <title>API Documentation</title> <style> @charset "UTF-8"; /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ /** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change, without disabling * user zoom. */ html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ } /** * Remove default margin. */ body { margin: 0; } /* HTML5 display definitions ========================================================================== */ /** * Correct `block` display not defined for any HTML5 element in IE 8/9. * Correct `block` display not defined for `details` or `summary` in IE 10/11 * and Firefox. * Correct `block` display not defined for `main` in IE 11. */ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } /** * 1. Correct `inline-block` display not defined in IE 8/9. * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */ audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } /** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */ audio:not([controls]) { display: none; height: 0; } /** * Address `[hidden]` styling not present in IE 8/9/10. * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */ [hidden], template { display: none; } /* Links ========================================================================== */ /** * Remove the gray background color from active links in IE 10. */ a { background-color: transparent; } /** * Improve readability when focused and also mouse hovered in all browsers. */ a:active, a:hover { outline: 0; } /* Text-level semantics ========================================================================== */ /** * Address styling not present in IE 8/9/10/11, Safari, and Chrome. */ abbr[title] { border-bottom: 1px dotted; } /** * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */ b, strong { font-weight: 700; } /** * Address styling not present in Safari and Chrome. */ dfn { font-style: italic; } /** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+, Safari, and Chrome. */ h1 { font-size: 2em; margin: 0.67em 0; } /** * Address styling not present in IE 8/9. */ mark { background: #ff0; color: #000; } /** * Address inconsistent and variable font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } /* Embedded content ========================================================================== */ /** * Remove border when inside `a` element in IE 8/9/10. */ img { border: 0; } /** * Correct overflow not hidden in IE 9/10/11. */ svg:not(:root) { overflow: hidden; } /* Grouping content ========================================================================== */ /** * Address margin not present in IE 8/9 and Safari. */ figure { margin: 1em 40px; } /** * Address differences between Firefox and other browsers. */ hr { -webkit-box-sizing: content-box; box-sizing: content-box; height: 0; } /** * Contain overflow in all browsers. */ pre { overflow: auto; } /** * Address odd `em`-unit font size rendering in all browsers. */ code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } /* Forms ========================================================================== */ /** * Known limitation: by default, Chrome and Safari on OS X allow very limited * styling of `select`, unless a `border` property is set. */ /** * 1. Correct color not being inherited. * Known issue: affects color of disabled elements. * 2. Correct font properties not being inherited. * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */ button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ } /** * Address `overflow` set to `hidden` in IE 8/9/10/11. */ button { overflow: visible; } /** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. * Correct `select` style inheritance in Firefox. */ button, select { text-transform: none; } /** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */ button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ } /** * Re-set default cursor for disabled elements. */ button[disabled], html input[disabled] { cursor: default; } /** * Remove inner padding and border in Firefox 4+. */ button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } /** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */ input { line-height: normal; } /** * It's recommended that you don't attempt to style these elements. * Firefox's implementation doesn't respect box-sizing, padding, or width. * * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */ input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Fix the cursor style for Chrome's increment/decrement buttons. For certain * `font-size` values of the `input`, it causes the cursor style of the * decrement button to change from `default` to `text`. */ input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Address `appearance` set to `searchfield` in Safari and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome * (include `-moz` to future-proof). */ input[type="search"] { -webkit-appearance: textfield; /* 1 */ -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } /** * Remove inner padding and search cancel button in Safari and Chrome on OS X. * Safari (but not Chrome) clips the cancel button when the search input has * padding (and `textfield` appearance). */ input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * Define consistent border, margin, and padding. */ fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } /** * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */ legend { border: 0; /* 1 */ padding: 0; /* 2 */ } /** * Remove default vertical scrollbar in IE 8/9/10/11. */ textarea { overflow: auto; } /** * Don't inherit the `font-weight` (applied by a rule above). * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */ optgroup { font-weight: bold; } /* Tables ========================================================================== */ /** * Remove most spacing between table cells. */ table { border-collapse: collapse; border-spacing: 0; } td { padding: 0; } th { padding: 0; font-weight: 600 !important; } /* Copyright 2008-2013 Concur Technologies, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ html, body { font-family: 'Circular-Book', 'Arial', 'Trebuchet MS', sans-serif; font-weight: 400 !important; font-style: normal; } header a.logo, header nav ul li a { font-family: 'Circular-Medium', 'Arial', 'Trebuchet MS', sans-serif; font-weight: 500 !important; font-style: normal; } /* * Legal Disclaimer * * These Fonts are licensed only for use on these domains and their subdomains: * brandfolder.com * * It is illegal to download or use them on other websites. * * While the @font-face statements below may be modified by the client, this * disclaimer may not be removed. * * Lineto.com, 2017 */ /* * * INSTRUCTIONS * * Copy the Legal Disclaimer and the @font-faces statements to your regular CSS file. * The fonts folder(s) should be placed relative to the regular CSS file. * * You can use either the complete or subsetted fonts: * If you don鈥檛 require the entire range of characters, you can use the smaller, subsetted webfonts instead. * See "Glyphs & Languages" for an overview of the characters in the *_subsetted.html file in the root directory of this package. * */ @font-face { font-family: "Circular-Bold"; src: url("https://fonts.brandfolder.com/circular/lineto-circular-bold.eot"); src: url("https://fonts.brandfolder.com/circular/lineto-circular-bold.eot?#iefix") format("embedded-opentype"), url("https://fonts.brandfolder.com/circular/lineto-circular-bold.woff2") format("woff2"), url("https://fonts.brandfolder.com/circular/lineto-circular-bold.woff") format("woff"); font-weight: 700; font-style: normal; } @font-face { font-family: "Circular-Book"; src: url("https://fonts.brandfolder.com/circular/lineto-circular-book.eot"); src: url("https://fonts.brandfolder.com/circular/lineto-circular-book.eot?#iefix") format("embedded-opentype"), url("https://fonts.brandfolder.com/circular/lineto-circular-book.woff2") format("woff2"), url("https://fonts.brandfolder.com/circular/lineto-circular-book.woff") format("woff"); font-weight: 400 !important; font-style: normal; } @font-face { font-family: "Circular-Medium"; src: url("https://fonts.brandfolder.com/circular/lineto-circular-medium.eot"); src: url("https://fonts.brandfolder.com/circular/lineto-circular-medium.eot?#iefix") format("embedded-opentype"), url("https://fonts.brandfolder.com/circular/lineto-circular-medium.woff2") format("woff2"), url("https://fonts.brandfolder.com/circular/lineto-circular-medium.woff") format("woff"); font-weight: 500 !important; font-style: normal; } @font-face { font-family: "Circular-Italic"; src: url("https://fonts.brandfolder.com/circular/lineto-circular-bookitalic.eot"); src: url("https://fonts.brandfolder.com/circular/lineto-circular-bookitalic.eot?#iefix") format("embedded-opentype"), url("https://fonts.brandfolder.com/circular/lineto-circular-bookitalic.woff2") format("woff2"), url("https://fonts.brandfolder.com/circular/lineto-circular-bookitalic.woff") format("woff"); font-weight: 400; font-style: italic; } @font-face { font-family: "bff"; src: url("https://fonts.brandfolder.com/bff-2.7/bff.eot"); src: url("https://fonts.brandfolder.com/bff-2.7/bff.eot") format("embedded-opentype"), url("https://fonts.brandfolder.com/bff-2.7/bff.ttf") format("truetype"), url("https://fonts.brandfolder.com/bff-2.7/bff.woff") format("woff"), url("https://fonts.brandfolder.com/bff-2.7/bff.svg") format("svg"); font-weight: normal; font-style: normal; } @font-face { font-family: 'slate'; src: url(fonts/slate.eot?-syv14m); src: url(fonts/slate.eot?#iefix-syv14m) format("embedded-opentype"), url(fonts/slate.woff2?-syv14m) format("woff2"), url(fonts/slate.woff?-syv14m) format("woff"), url(fonts/slate.ttf?-syv14m) format("truetype"), url(fonts/slate.svg?-syv14m#slate) format("svg"); font-weight: normal; font-style: normal; } [class^="bff-"], [class*=" bff-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'bff' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; display: inline-block; -webkit-transform: translate(0, 0); transform: translate(0, 0); /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .reverse[class^="bff-"], .reverse[class*=" bff-"] { -webkit-transform: rotate(180deg); transform: rotate(180deg); } .bff-arrow-down-up:before { content: "\e900"; } .bff-bar-graph:before { content: "\e901"; } .bff-bf-logo:before { content: "\e902"; color: #40d1f5; } .bff-bf-settings:before { content: "\e903"; } .bff-build:before { content: "\e904"; } .bff-calendar:before { content: "\e905"; } .bff-check-mark:before { content: "\e906"; } .bff-close:before { content: "\e907"; } .bff-collapse:before { content: "\e908"; } .bff-color-hexa:before { content: "\e909"; } .bff-confirmation:before { content: "\e90b"; } .bff-contact-nav-icon:before { content: "\e90c"; } .bff-copy:before { content: "\e90d"; } .bff-down-arrow:before { content: "\e90e"; } .bff-download-asset:before { content: "\e90f"; } .bff-dropdown-carrot:before { content: "\e910"; } .bff-edit-asset:before { content: "\e911"; } .bff-edit:before { content: "\e912"; } .bff-ellipses:before { content: "\e913"; } .bff-embed:before { content: "\e915"; } .bff-eye:before { content: "\e916"; } .bff-facebook-icon:before { content: "\e917"; } .bff-font-type:before { content: "\e918"; } .bff-general-settings:before { content: "\e919"; } .bff-reorder:before { content: "\e91b"; } .bff-unlink:before { content: "\e91c"; } .bff-industries-nav-icon:before { content: "\e91d"; } .bff-insights:before { content: "\e91e"; } .bff-integrations:before { content: "\e91f"; } .bff-left-arrow:before { content: "\e920"; } .bff-link:before { content: "\e921"; } .bff-linked-in:before { content: "\e922"; } .bff-manage-subscription:before { content: "\e923"; } .bff-manage-versions:before { content: "\e924"; } .bff-move:before { content: "\e925"; } .bff-new-tab:before { content: "\e926"; } .bff-notifications:before { content: "\e927"; } .bff-paperclip:before { content: "\e929"; } .bff-payment:before { content: "\e92a"; } .bff-people:before { content: "\e92b"; } .bff-person:before { content: "\e92c"; } .bff-pin:before { content: "\e92d"; } .bff-plans-nav-icon:before { content: "\e92e"; } .bff-plus:before { content: "\e92f"; } .bff-private:before { content: "\e930"; } .bff-public:before { content: "\e931"; } .bff-quote-end:before { content: "\e932"; } .bff-quote-start:before { content: "\e933"; } .bff-ratio-lock:before { content: "\e934"; } .bff-refresh:before { content: "\e935"; } .bff-right-arrow:before { content: "\e936"; } .bff-save:before { content: "\e937"; } .bff-search:before { content: "\e938"; } .bff-share:before { content: "\e939"; } .bff-star-hollow:before { content: "\e93b"; } .bff-star:before { content: "\e93c"; } .bff-tool-tip:before { content: "\e93d"; } .bff-trash:before { content: "\e93e"; } .bff-twitter-icon:before { content: "\e93f"; } .bff-upload:before { content: "\e940"; } .bff-visit-media:before { content: "\e942"; } .bff-warning:before { content: "\e943"; } .bff-you-tube-icon:before { content: "\e944"; } .bff-approve:before { content: "\e945"; } .bff-tag:before { content: "\e946"; } .bff-clock:before { content: "\e947"; } .bff-merge:before { content: "\e948"; } .bff-unapprove:before { content: "\e949"; } .bff-grid-view:before { content: "\e94a"; } .bff-list-view:before { content: "\e94b"; } .bff-enter:before { content: "\e94c"; } .bff-full-screen:before { content: "\e94d"; } .bff-phone:before { content: "\e94e"; } .bff-email:before { content: "\e94f"; } .bff-attention:before { content: "\e914"; } .bff-zip-file:before { content: "\e950"; } .bff-square-orientation:before { content: "\e90a"; } .bff-vertical-orientation:before { content: "\e91a"; } .bff-panoramic-orientation:before { content: "\e928"; } .bff-horiztonal-orientation:before { content: "\e93a"; } .bff-score-meter:before { content: "\e941"; } /* PrismJS 1.20.0 https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+css-extras+markup-templating+php+python+ruby&plugins=line-highlight+line-numbers+show-language+inline-color+previewers+command-line+normalize-whitespace+toolbar+copy-to-clipboard+download-button */ /** * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML * Based on https://github.com/chriskempson/tomorrow-theme * @author Rose Pritchard */ code[class*="language-"], pre[class*="language-"] { color: #ccc; background: none; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 1em; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-hyphens: none; -ms-hyphens: none; hyphens: none; } /* Code blocks */ pre[class*="language-"] { padding: 1em; margin: .5em 0; overflow: auto; } :not(pre) > code[class*="language-"], pre[class*="language-"] { background: #2d2d2d; } /* Inline code */ :not(pre) > code[class*="language-"] { padding: .1em; border-radius: .3em; white-space: normal; } .token.comment, .token.block-comment, .token.prolog, .token.doctype, .token.cdata { color: #999; } .token.punctuation { color: #ccc; } .token.tag, .token.attr-name, .token.namespace, .token.deleted { color: #e2777a; } .token.function-name { color: #6196cc; } .token.boolean, .token.number, .token.function { color: #f08d49; } .token.property, .token.class-name, .token.constant, .token.symbol { color: #f8c555; } .token.selector, .token.important, .token.atrule, .token.keyword, .token.builtin { color: #cc99cd; } .token.string, .token.char, .token.attr-value, .token.regex, .token.variable { color: #7ec699; } .token.operator, .token.entity, .token.url { color: #67cdcc; } .token.important, .token.bold { font-weight: bold; } .token.italic { font-style: italic; } .token.entity { cursor: help; } .token.inserted { color: green; } pre[data-line] { position: relative; padding: 1em 0 1em 3em; } .line-highlight { position: absolute; left: 0; right: 0; padding: inherit 0; margin-top: 1em; /* Same as .prism鈥檚 padding-top */ background: rgba(153, 122, 102, 0.08); background: -webkit-gradient(linear, left top, right top, color-stop(70%, rgba(153, 122, 102, 0.1)), to(rgba(153, 122, 102, 0))); background: linear-gradient(to right, rgba(153, 122, 102, 0.1) 70%, rgba(153, 122, 102, 0)); pointer-events: none; line-height: inherit; white-space: pre; } .line-highlight:before, .line-highlight[data-end]:after { content: attr(data-start); position: absolute; top: .4em; left: .6em; min-width: 1em; padding: 0 .5em; background-color: rgba(153, 122, 102, 0.4); color: #f5f2f0; font: bold 65%/1.5 sans-serif; text-align: center; vertical-align: .3em; border-radius: 999px; text-shadow: none; -webkit-box-shadow: 0 1px white; box-shadow: 0 1px white; } .line-highlight[data-end]:after { content: attr(data-end); top: auto; bottom: .4em; } .line-numbers .line-highlight:before, .line-numbers .line-highlight:after { content: none; } pre[id].linkable-line-numbers span.line-numbers-rows { pointer-events: all; } pre[id].linkable-line-numbers span.line-numbers-rows > span:before { cursor: pointer; } pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before { background-color: rgba(128, 128, 128, 0.2); } pre[class*="language-"].line-numbers { position: relative; padding-left: 3.8em; counter-reset: linenumber; } pre[class*="language-"].line-numbers > code { position: relative; white-space: inherit; } .line-numbers .line-numbers-rows { position: absolute; pointer-events: none; top: 0; font-size: 100%; left: -3.8em; width: 3em; /* works for line-numbers below 1000 lines */ letter-spacing: -1px; border-right: 1px solid #999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .line-numbers-rows > span { display: block; counter-increment: linenumber; } .line-numbers-rows > span:before { content: counter(linenumber); color: #999; display: block; padding-right: 0.8em; text-align: right; } div.code-toolbar { position: relative; } div.code-toolbar > .toolbar { position: absolute; top: .3em; right: .2em; -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; opacity: 0; } div.code-toolbar:hover > .toolbar { opacity: 1; } /* Separate line b/c rules are thrown out if selector is invalid. IE11 and old Edge versions don't support :focus-within. */ div.code-toolbar:focus-within > .toolbar { opacity: 1; } div.code-toolbar > .toolbar .toolbar-item { display: inline-block; } div.code-toolbar > .toolbar a { cursor: pointer; } div.code-toolbar > .toolbar button { background: none; border: 0; color: inherit; font: inherit; line-height: normal; overflow: visible; padding: 0; -webkit-user-select: none; /* for button */ -moz-user-select: none; -ms-user-select: none; } div.code-toolbar > .toolbar a, div.code-toolbar > .toolbar button, div.code-toolbar > .toolbar span { color: #bbb; font-size: .8em; padding: 0 .5em; background: #f5f2f0; background: rgba(224, 224, 224, 0.2); -webkit-box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2); box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2); border-radius: .5em; } div.code-toolbar > .toolbar a:hover, div.code-toolbar > .toolbar a:focus, div.code-toolbar > .toolbar button:hover, div.code-toolbar > .toolbar button:focus, div.code-toolbar > .toolbar span:hover, div.code-toolbar > .toolbar span:focus { color: inherit; text-decoration: none; } span.inline-color-wrapper { /* * The background image is the following SVG inline in base 64: * * <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"> * <path fill="gray" d="M0 0h2v2H0z"/> * <path fill="white" d="M0 0h1v1H0zM1 1h1v1H1z"/> * </svg> * * SVG-inlining explained: * https://stackoverflow.com/a/21626701/7595472 */ background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPjxwYXRoIGZpbGw9ImdyYXkiIGQ9Ik0wIDBoMnYySDB6Ii8+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0wIDBoMXYxSDB6TTEgMWgxdjFIMXoiLz48L3N2Zz4="); /* This is to prevent visual glitches where one pixel from the repeating pattern could be seen. */ background-position: center; background-size: 110%; display: inline-block; height: 1.333ch; width: 1.333ch; margin: 0 .333ch; -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid white; outline: 1px solid rgba(0, 0, 0, 0.5); overflow: hidden; } span.inline-color { display: block; /* To prevent visual glitches again */ height: 120%; width: 120%; } .prism-previewer, .prism-previewer:before, .prism-previewer:after { position: absolute; pointer-events: none; } .prism-previewer, .prism-previewer:after { left: 50%; } .prism-previewer { margin-top: -48px; width: 32px; height: 32px; margin-left: -16px; opacity: 0; -webkit-transition: opacity .25s; transition: opacity .25s; } .prism-previewer.flipped { margin-top: 0; margin-bottom: -48px; } .prism-previewer:before, .prism-previewer:after { content: ''; position: absolute; pointer-events: none; } .prism-previewer:before { top: -5px; right: -5px; left: -5px; bottom: -5px; border-radius: 10px; border: 5px solid #fff; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75); box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75); } .prism-previewer:after { top: 100%; width: 0; height: 0; margin: 5px 0 0 -7px; border: 7px solid transparent; border-color: rgba(255, 0, 0, 0); border-top-color: #fff; } .prism-previewer.flipped:after { top: auto; bottom: 100%; margin-top: 0; margin-bottom: 5px; border-top-color: rgba(255, 0, 0, 0); border-bottom-color: #fff; } .prism-previewer.active { opacity: 1; } .prism-previewer-angle:before { border-radius: 50%; background: #fff; } .prism-previewer-angle:after { margin-top: 4px; } .prism-previewer-angle svg { width: 32px; height: 32px; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); } .prism-previewer-angle[data-negative] svg { -webkit-transform: scaleX(-1) rotate(-90deg); transform: scaleX(-1) rotate(-90deg); } .prism-previewer-angle circle { fill: transparent; stroke: #2e3538; stroke-opacity: 0.9; stroke-width: 32; stroke-dasharray: 0, 500; } .prism-previewer-gradient { background-image: linear-gradient(45deg, #bbb 25%, transparent 25%, transparent 75%, #bbb 75%, #bbb), linear-gradient(45deg, #bbb 25%, #eee 25%, #eee 75%, #bbb 75%, #bbb); background-size: 10px 10px; background-position: 0 0, 5px 5px; width: 64px; margin-left: -32px; } .prism-previewer-gradient:before { content: none; } .prism-previewer-gradient div { position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px; border-radius: 10px; border: 5px solid #fff; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75); box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75); } .prism-previewer-color { background-image: linear-gradient(45deg, #bbb 25%, transparent 25%, transparent 75%, #bbb 75%, #bbb), linear-gradient(45deg, #bbb 25%, #eee 25%, #eee 75%, #bbb 75%, #bbb); background-size: 10px 10px; background-position: 0 0, 5px 5px; } .prism-previewer-color:before { background-color: inherit; background-clip: padding-box; } .prism-previewer-easing { margin-top: -76px; margin-left: -30px; width: 60px; height: 60px; background: #333; } .prism-previewer-easing.flipped { margin-bottom: -116px; } .prism-previewer-easing svg { width: 60px; height: 60px; } .prism-previewer-easing circle { fill: #2e3538; stroke: white; } .prism-previewer-easing path { fill: none; stroke: white; stroke-linecap: round; stroke-width: 4; } .prism-previewer-easing line { stroke: white; stroke-opacity: 0.5; stroke-width: 2; } @-webkit-keyframes prism-previewer-time { 0% { stroke-dasharray: 0, 500; stroke-dashoffset: 0; } 50% { stroke-dasharray: 100, 500; stroke-dashoffset: 0; } 100% { stroke-dasharray: 0, 500; stroke-dashoffset: -100; } } @keyframes prism-previewer-time { 0% { stroke-dasharray: 0, 500; stroke-dashoffset: 0; } 50% { stroke-dasharray: 100, 500; stroke-dashoffset: 0; } 100% { stroke-dasharray: 0, 500; stroke-dashoffset: -100; } } .prism-previewer-time:before { border-radius: 50%; background: #fff; } .prism-previewer-time:after { margin-top: 4px; } .prism-previewer-time svg { width: 32px; height: 32px; -webkit-transform: rotate(-90deg); transform: rotate(-90deg); } .prism-previewer-time circle { fill: transparent; stroke: #2e3538; stroke-opacity: 0.9; stroke-width: 32; stroke-dasharray: 0, 500; stroke-dashoffset: 0; -webkit-animation: prism-previewer-time linear infinite 3s; animation: prism-previewer-time linear infinite 3s; } .command-line-prompt { border-right: 1px solid #999; display: block; float: left; font-size: 100%; letter-spacing: -1px; margin-right: 1em; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .command-line-prompt > span:before { color: #999; content: ' '; display: block; padding-right: 0.8em; } .command-line-prompt > span[data-user]:before { content: "[" attr(data-user) "@" attr(data-host) "] $"; } .command-line-prompt > span[data-user="root"]:before { content: "[" attr(data-user) "@" attr(data-host) "] #"; } .command-line-prompt > span[data-prompt]:before { content: attr(data-prompt); } header { background: #1d3163; left: 0; padding: 10px; position: fixed; top: 0; width: 100%; z-index: 100; } header a.logo { color: white; display: inline-block; font-size: 22px; margin-top: 16px; } @media only screen and (max-width: 480px) { header a.logo { font-size: 16px; } } header a.logo img { display: inline-block; margin-top: -8px; vertical-align: middle; width: 150px; } @media only screen and (max-width: 480px) { header a.logo img { width: 110px; } } header a.logo span { display: inline-block; padding: 0 6px 0 4px; } header nav { display: inline-block; float: right; } header nav ul { list-style-type: none; margin: 0; padding: 0; } header nav ul li { float: left; margin: 0; padding: 0; } header nav ul li a { align-items: center; color: white; display: flex; height: 40px; padding: 10px 20px; -webkit-transition: color 0.3s ease; transition: color 0.3s ease; } @media only screen and (max-width: 480px) { header nav ul li a { padding: 10px; } } header nav ul li a:hover { color: #f1f5fa; } .home { margin: 0 auto; } .home .hero { -webkit-animation: animatedBackground 50s linear infinite; animation: animatedBackground 50s linear infinite; background: #5ea0c1 url("https://cdn.bfldr.com/27C9EC93/at/xtjmmnjrqhrgcqcbptqc2zm8/product-collage") no-repeat 0 -124px; background-size: cover; height: 350px; position: relative; width: 100%; } @media only screen and (max-width: 768px) { .home .hero { background: #5ea0c1; } } .home .hero .inner { background: -webkit-gradient(linear, left top, right top, from(rgba(29, 49, 99, 0.9037990196)), color-stop(41%, rgba(29, 49, 99, 0.8645833333)), to(rgba(29, 49, 99, 0))); background: linear-gradient(90deg, rgba(29, 49, 99, 0.9037990196) 0%, rgba(29, 49, 99, 0.8645833333) 41%, rgba(29, 49, 99, 0) 100%); height: 350px; position: relative; width: 100%; } .home .hero .inner img { position: absolute; right: 160px; top: 60px; } .home .hero .inner h1 { color: white; font-size: 40px; letter-spacing: 0.02em; margin-bottom: 10px; padding-top: 100px; } @media only screen and (max-width: 480px) { .home .hero .inner h1 { font-size: 28px; line-height: 40px; padding-top: 80px; } } .home .hero .inner p { font-size: 20px; color: white; margin-bottom: 40px; } .home .logos { background-color: white; } .home .logos__wrapper { align-items: center; display: flex; flex-direction: column; flex-flow: wrap; justify-content: center; margin: auto; max-width: 1080px; padding: 30px; } .home .logos .logo__container { align-items: center; display: flex; height: 35px; justify-content: center; max-width: 100px; padding: 20px 45px; } @media only screen and (max-width: 991px) { .home .logos .logo__container { padding: 20px; } } @media only screen and (max-width: 480px) { .home .logos .logo__container:last-of-type { display: none; } } .home .logos .logo__container > img { height: 100%; -o-object-fit: contain; object-fit: contain; width: 100%; } .home .intro { padding: 60px 0; } @supports (display: grid) { .home .intro { align-items: stretch; display: -ms-grid; display: grid; grid-column-gap: 50px; grid-row-gap: 30px; -ms-grid-columns: 50% 50%; grid-template-columns: 50% 50%; } } @media only screen and (max-width: 991px) { @supports (display: grid) { .home .intro { align-items: stretch; display: -ms-grid; display: grid; grid-column-gap: 50px; grid-row-gap: 30px; -ms-grid-columns: 100%; grid-template-columns: 100%; } } } .home .intro .half-grid-left .button-container { display: flex; flex-wrap: wrap; margin-top: 50px; } .home .intro .half-grid-left .button-container .button { margin: 0 20px 10px 0; } .home .intro .half-grid-right .python-example { margin: 50px auto; width: 80%; } @media only screen and (max-width: 991px) { .home .intro .half-grid-right .python-example { width: 100%; } } .home .developer-integrations { background: #f1f5fa; padding: 60px 0; text-align: center; } .home .developer-integrations h2 { margin: 0 0 30px; display: block; } .home .developer-integrations .integration-list { display: flex; flex-wrap: wrap; justify-content: center; } .home .developer-integrations .integration { align-items: center; background-color: white; border-radius: 35px; color: #4a4a4a; display: flex; flex-direction: column; height: 140px; justify-content: center; margin: 0 10px 20px; padding: 10px; -webkit-transition: -webkit-box-shadow 0.3s ease-in-out; transition: -webkit-box-shadow 0.3s ease-in-out; transition: box-shadow 0.3s ease-in-out; transition: box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out; width: 140px; } @media only screen and (max-width: 991px) { .home .developer-integrations .integration { height: 100px; margin: 10px; width: 100px; } } .home .developer-integrations .integration:hover { -webkit-box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1); } .home .developer-integrations .integration:hover img { -webkit-transform: scale(1.08); transform: scale(1.08); } .home .developer-integrations .integration__logo-container { align-items: center; display: flex; justify-content: center; margin-top: 15px; min-height: 70px; } @media only screen and (max-width: 991px) { .home .developer-integrations .integration__logo-container { margin-top: 10px; min-height: 50px; } } .home .developer-integrations .integration__logo-container > img { max-height: 70px; max-width: 70px; -o-object-fit: contain; object-fit: contain; -webkit-transition: -webkit-transform 0.3s ease; transition: -webkit-transform 0.3s ease; transition: transform 0.3s ease; transition: transform 0.3s ease, -webkit-transform 0.3s ease; } @media only screen and (max-width: 991px) { .home .developer-integrations .integration__logo-container > img { max-height: 50px; max-width: 50px; } } .home .developer-integrations .integration p { line-height: 20px; } .home .engineering-blog { padding: 60px 0; } @supports (display: grid) { .home .engineering-blog { align-items: stretch; display: -ms-grid; display: grid; grid-column-gap: 50px; grid-row-gap: 30px; -ms-grid-columns: 50% 50%; grid-template-columns: 50% 50%; } } @media only screen and (max-width: 991px) { @supports (display: grid) { .home .engineering-blog { align-items: stretch; display: -ms-grid; display: grid; grid-column-gap: 50px; grid-row-gap: 30px; -ms-grid-columns: 100%; grid-template-columns: 100%; } } } .home .engineering-blog .half-grid-left .blog-content { background-color: white; border: 1px solid #6987d7; } .home .engineering-blog .half-grid-left .blog-content h3 { background: #6987d7; color: #fff; margin: 0; padding: 10px; } .home .engineering-blog .half-grid-left .blog-content ul { list-style: none; padding-left: 20px; } .home .engineering-blog .half-grid-left .blog-content ul li { margin: 10px 0; } .home .engineering-blog .half-grid-left .blog-content ul li > a { color: #4a4a4a; -webkit-transition: color 0.3s ease; transition: color 0.3s ease; } .home .engineering-blog .half-grid-left .blog-content ul li > a:hover { color: #4462c9; } .home .engineering-blog .half-grid-right .featured-guides { padding: 0 50px; } .home .engineering-blog .half-grid-right .featured-guides .card { border-bottom: 1px solid #6987d7; } .home .engineering-blog .half-grid-right .featured-guides .card > h2 { margin-bottom: 10px; } .home .engineering-blog .half-grid-right .featured-guides .card > p { color: #4a4a4a; margin-top: 0; } .home .engineering-blog .half-grid-right .featured-guides .card:last-child { border-bottom: 0 none; } .guide .hero { background: #6987D7; padding: 20px; width: 100%; } .guide .hero h1 { font-size: 40px; color: #fff; } .guide .hero p { font-size: 21px; color: #fff; } .guide .article img { max-width: 800px; } .guides .hero { background: #6987D7; padding: 20px; width: 100%; } .guides .hero h1 { font-size: 40px; color: #fff; } .guides .hero p { font-size: 21px; color: #fff; } .guides .guide-list .guide-items { display: flex; flex-wrap: wrap; display: -ms-grid; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); grid-gap: 10px; } .guides .guide-list .guide-items .guide-item { flex: 1 1 300px; border: 1px solid #1d3163; padding: 10px; height: 200px; } html, body { color: #333333; padding: 0; margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: #f8fafc; height: 100%; -webkit-text-size-adjust: none; /* Never autoresize text */ } h1, h2, h3, h4, p, a, ul, li, span { margin: 0; padding: 0; -webkit-font-smoothing: antialiased; } h1 { font-family: "Circular-Bold", "Arial", "Trebuchet MS", sans-serif; font-weight: 700; } h2 { font-family: "Circular-Medium", "Arial", "Trebuchet MS", sans-serif; font-weight: 500; } a { color: #4462c9; font-family: "Circular-Book", "Arial", "Trebuchet MS", sans-serif; font-size: 16px; font-weight: 400; line-height: 26px; text-decoration: none; } a:hover { color: #314ca9; } p { font-family: "Circular-Book", "Arial", "Trebuchet MS", sans-serif; font-size: 16px; font-weight: 400; line-height: 26px; } .page_content { margin-top: 80px; min-height: 100vh; } .content { width: 90%; margin: 0 auto; } .button { background-color: white; border: 1px solid #4462c9; border-radius: 4px; color: #4462c9; padding: 10px 25px; -webkit-transition: background-color 0.3s ease; transition: background-color 0.3s ease; } .button:hover { background-color: #f1f5fa; } footer { font-size: 12px; padding: 10px 20px; text-align: right; border-top: 1px solid rgba(203, 203, 203, 0.5); } footer a { font-size: 12px; margin-left: 20px; } @-webkit-keyframes animatedBackground { from { background-position: 0 -124px; } to { background-position: 0 -424px; } } @keyframes animatedBackground { from { background-position: 0 -124px; } to { background-position: 0 -424px; } } </style> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-38312811-22"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-38312811-22'); </script> </head> <body> <header> <div class="content"> <a class="logo" href="/"> <img src="https://cdn.bfldr.com/27C9EC93/at/r3twwq7hxw3w53sqhhnxch/brandfolder-by-smartsheet-logo-white.svg" class="Brandfolder by Smartsheet logo" loading="eager" width="150" height="47" alt="" /> <span>/ developers</span> </a> <nav> <ul> <!-- <li><a href="/guides">Guides</a></li> --> <li><a href="/docs">API Reference</a></li> <!-- <li><a href="/sdks">SDKs</a></li> <li><a href="/tools">Tools</a></li> <li><a href="/support">Support</a></li> --> </ul> </nav> </div> </header> <div class="page_content"> <div class="home"> <div class="hero"> <div class="inner"> <div class="content"> <h1>Digital Asset Platform</h1> <p>Building the future of digital content together</p> <a class="button" href="/docs">View the Docs</a> </div> </div> </div> <div class="logos"> <div class="logos__wrapper"> <div class="logo__container"> <img alt="Autodesk logo" src="https://cdn.bfldr.com/27C9EC93/at/4qjwkpt8tt2qj4gf2bsq/autodesk-logo-blue.svg" loading="eager" width="100" height="35" /> </div> <div class="logo__container"> <img alt="Lyft logo" src="https://cdn.bfldr.com/27C9EC93/at/jrkfwrm95b6qjx68rwnn93fw/lyft-logo-blue.svg" loading="eager" width="50" height="35" /> </div> <div class="logo__container"> <img alt="P.F. Chang's logo" src="https://cdn.bfldr.com/27C9EC93/at/hqgqw8n42nb3xk99wrk9c399/pf-changs-logo.svg" loading="eager" width="100" height="35" /> </div> <div class="logo__container"> <img alt="Russell Stover logo" src="https://cdn.bfldr.com/27C9EC93/at/h8br8z32vngmm974p6qj74f/russel-stover-logo.svg" loading="eager" width="100" height="35" /> </div> <div class="logo__container"> <img alt="Anheuser Busch logo" src="https://cdn.bfldr.com/27C9EC93/at/4wsb5hcmhq8r7qjh3vnw96hz/anheuser-busch-logo-blue.svg" loading="eager" width="100" height="35" /> </div> <div class="logo__container"> <img alt="Maxxis logo" src="https://cdn.bfldr.com/27C9EC93/at/ghwt9knhm8cnvwxfkgg4399z/maxxis-logo-blue.svg" loading="eager" width="100" height="35" /> </div> <div class="logo__container"> <img alt="Mastercard logo" src="https://cdn.bfldr.com/27C9EC93/at/pqwmvbvmh47g42kqjf942s/mastercard-logo-blue.svg" loading="eager" width="100" height="35" /> </div> <div class="logo__container"> <img alt="Eco Products logo" src="https://cdn.bfldr.com/27C9EC93/at/69pb3v2738wsczg58h3j3shr/ecoproducts-logo-blue.svg" loading="eager" width="100" height="35" /> </div> <div class="logo__container"> <img alt="Kroger logo" src="https://cdn.bfldr.com/27C9EC93/at/4brr4pwjgh5p9r3hkg64rx8/kroger-logo-blue.svg" loading="eager" width="63" height="35" /> </div> </div> </div> <div class="content intro"> <div class="half-grid-left"> <h2>Powerful Platform / Developer Friendly</h2> <p> The same API that powers the most powerful DAM on the market is available to support your project. The complexity of managing, organization, manipulating, converting, distributing, and delivery of digital assets is daunting. Brandfolder partners can expediate their projects by offloading many of these areas to our platform. </p> <p>Use the many resources found here to help get your next project started.</p> <div class="button-container"> <a class="button" href="/docs">API Docs</a> <a class="button" href="/recipes">API Recipes</a> <a class="button" href="/webhooks">Webhooks</a> <a class="button" href="/binary_upload">Binary Upload</a> <a class="button" href="/insights_data_connector">Insights Data Connector</a> </div> <div class="button-container"> <a class="button" href="https://github.com/brandfolder/brandfolder-sdk-python" target="_blank">Python SDK</a> <a class="button" href="https://github.com/brandfolder/brandfolder-sdk-php" target="_blank">PHP SDK</a> <a class="button" href="https://www.npmjs.com/package/@brandfolder-panel/sdk?activeTab=readme" target="_blank">Panel UI SDK</a> </div> </div> <div class="half-grid-right"> <div class="python-example"> <pre class="command-line language-bash" data-user="jim" data-host="localhost"> <code class="language-bash"> pip install brandfolder </code> </pre> <pre class="line-numbers"> <code class="language-python"> asset = bf.assets.fetch_by_id(<asset_id>) # Grab an asset asset.set(name='New Name') asset.update() # Pushes new attributes to Brandfolder </code> </pre> </div> </div> </div> <div class="developer-integrations"> <div class="content"> <h2>Useful Developers Integrations</h2> <div class="integration-list"> <div class="integration-card"> <a href="https://brandfolder.com/integrations/adobe-illustrator/" target="_blank" class="integration"> <p>Adobe Illustrator</p> <div class="integration__logo-container"> <img alt="Adobe Illustrator icon" src="https://cdn.bfldr.com/27C9EC93/at/bxk5cw9jttn9fvjz44rx73hn/adobe-illustrator-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/adobe-indesign/" class="integration" target="_blank"> <p>Adobe InDesign</p> <div class="integration__logo-container"> <img alt="Adobe InDesign icon" src="https://cdn.bfldr.com/27C9EC93/at/tkc42psws534vkcjvn3cxpjj/adobe-indesign-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/adobe-photoshop/" class="integration" target="_blank"> <p>Adobe Photoshop</p> <div class="integration__logo-container"> <img alt="Adobe Photoshop icon" src="https://cdn.bfldr.com/27C9EC93/at/n8nxxsv9vkqg8ns3m6tgj8b/adobe-photoshop-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://tray.io/connectors/asana-brandfolder-integrations" class="integration" target="_blank"> <p>Asana</p> <div class="integration__logo-container"> <img alt="Asana icon" src="https://cdn.bfldr.com/27C9EC93/at/kb38rb25vm8znxhhnnhbft/asana-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/canva/" class="integration" target="_blank"> <p>Canva</p> <div class="integration__logo-container"> <img alt="Canva logo" src="https://cdn.bfldr.com/27C9EC93/at/cxbgjfphx7sq26xt9vmf8jc/canva-logo.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/contentful/" class="integration" target="_blank"> <p>Contentful</p> <div class="integration__logo-container"> <img alt="Contentful icon" src="https://cdn.bfldr.com/27C9EC93/at/qsxmschfcmh2xbwhf2z9rgr/contentful-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/drupal/" class="integration" target="_blank"> <p>Drupal</p> <div class="integration__logo-container"> <img alt="Drupal icon" src="https://cdn.bfldr.com/27C9EC93/at/ckmm9bn8377vbbqxh88hcz/drupal-icon.svg" loading="lazy" width="62" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/gmail/" class="integration" target="_blank"> <p>Gmail</p> <div class="integration__logo-container"> <img alt="Gmail icon" src="https://cdn.bfldr.com/27C9EC93/at/8qk8sgs5q647b564p5j5np/gmail-icon.svg" loading="lazy" width="70" height="60" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/google-apps/" class="integration" target="_blank"> <p>Google Apps</p> <div class="integration__logo-container"> <img alt="Google Apps icon" src="https://cdn.bfldr.com/27C9EC93/at/tt25fhkqfxp6vhm6nwvs9cm/google-apps-icon.png?auto=webp" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/google-analytics/" class="integration" target="_blank"> <p>Google Analytics</p> <div class="integration__logo-container"> <img alt="Goggle Analytics icon" src="https://cdn.bfldr.com/27C9EC93/at/mx5rtz97h86qtrpvwhk254/google-analytics-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/hubspot/" class="integration" target="_blank"> <p>Hubspot</p> <div class="integration__logo-container"> <img alt="Hubspot icon" src="https://cdn.bfldr.com/27C9EC93/at/7rrb3v4ckwnr3vv5jcq4nznf/hubspot-icon.svg" loading="lazy" width="63" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/jira/" class="integration" target="_blank"> <p>Jira</p> <div class="integration__logo-container"> <img alt="Jira icon" src="https://cdn.bfldr.com/27C9EC93/at/9w86n6rgzhs54mrwbv5s2f/jira-icon.svg" loading="lazy" width="53" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/marketo/" class="integration" target="_blank"> <p>Marketo</p> <div class="integration__logo-container"> <img alt="Marketo icon" src="https://cdn.bfldr.com/27C9EC93/at/zvm4nkxqmr6kzq8cgfz88gv/marketo-icon.svg" loading="lazy" width="60" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://github.com/brandfolder/brandfolder-sdk-php" class="integration" target="_blank"> <p>PHP</p> <div class="integration__logo-container"> <img alt="PHP logo" src="https://cdn.bfldr.com/27C9EC93/at/pvppks85spmjhwpgnf389k/php-logo.svg" loading="lazy" width="70" height="48" /> </div> </a> </div> <div class="integration-card"> <a href="https://github.com/brandfolder/brandfolder-sdk-python" class="integration" target="_blank"> <p>Python</p> <div class="integration__logo-container"> <img alt="Python logo" src="https://cdn.bfldr.com/27C9EC93/at/tbpc7f3bb3cxjpq9m4rnjbw/python-logo.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/shopify/" class="integration" target="_blank"> <p>Shopify</p> <div class="integration__logo-container"> <img alt="Shopify icon" src="https://cdn.bfldr.com/27C9EC93/at/tjrj9p2jgp3h83653595s93v/shopify-icon.svg" loading="lazy" width="62" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/sketch/" class="integration" target="_blank"> <p>Sketch</p> <div class="integration__logo-container"> <img alt="Sketch icon" src="https://cdn.bfldr.com/27C9EC93/at/gktz7q4676ks9qjf8h2fqzfn/sketch-icon.svg" loading="lazy" width="70" height="63" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/slack/" class="integration" target="_blank"> <p>Slack</p> <div class="integration__logo-container"> <img alt="Slack icon" src="https://cdn.bfldr.com/27C9EC93/at/cr6cqnmcqtqvshb9vqrn6zk8/slack-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/tray/" class="integration" target="_blank"> <p>Tray.io</p> <div class="integration__logo-container"> <img alt="Tray.io icon" src="https://cdn.bfldr.com/27C9EC93/at/xmbcgr3thrkznj5wgmbrcp4k/trayio-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/trello/" class="integration" target="_blank"> <p>Trello</p> <div class="integration__logo-container"> <img alt="Trello icon" src="https://cdn.bfldr.com/27C9EC93/at/r7rp786x8h48rwqb69r3b8ff/trello-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/wordpress/" target="_blank" class="integration"> <p>Wordpress</p> <div class="integration__logo-container"> <img alt="Wordpress icon" src="https://cdn.bfldr.com/27C9EC93/at/xvggf44cxp7qf8cv2b7zhfsq/wordpress-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/wrike/" class="integration" target="_blank"> <p>Wrike</p> <div class="integration__logo-container"> <img alt="Wrike icon" src="https://cdn.bfldr.com/27C9EC93/at/m45bp6fm53r5npthj2wrz/wrike-icon.svg" loading="lazy" width="70" height="44" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/integrations/zapier/" class="integration" target="_blank"> <p>Zapier</p> <div class="integration__logo-container"> <img alt="Zapier icon" src="https://cdn.bfldr.com/27C9EC93/at/qgq3ktqjtrgkjx68pqt55/zapier-icon.png?auto=webp" loading="lazy" width="70" height="70" /> </div> </a> </div> <div class="integration-card"> <a href="https://brandfolder.com/contact/" class="integration" target="_blank"> <p>Get Listed</p> <div class="integration__logo-container"> <img alt="Brandfolder icon" src="https://cdn.bfldr.com/27C9EC93/at/q8y6v3-7yddcg-brgt1m/brandfolder-icon.svg" loading="lazy" width="70" height="70" /> </div> </a> </div> </div> </div> </div> <div class="content engineering-blog"> <div class="half-grid-left"> <div class="blog-content"> <h3>Brandfolder Engineering Blog</h3> <ul> <li><a href="https://brandfolder.engineering/the-lost-art-of-apache-benchmarking" target="_blank">The Lost Art of Apache Benchmarking</a></li> <li><a href="https://brandfolder.engineering/creating-using-functions-in-react-es5-vs-es6" target="_blank">Creating & Using Functions in React: ES5 vs ES6</a></li> <li><a href="https://brandfolder.engineering/css-grid-layout-with-flexbox-fallback" target="_blank">CSS Grid Layout with Flexbox Fallback</a></li> <li><a href="https://brandfolder.engineering/embracing-the-chaos-enjoy-the-newest-shiniest-developer-toys" target="_blank">Embracing the chaos, enjoy the newest and shiniest developer toys</a></li> <li><a href="https://brandfolder.engineering/touchscreen-detection-one-class-many-styles" target="_blank">Touchscreen Detection: One Class, Many Styles</a></li> <li><a href="https://brandfolder.engineering/the-rollup-pattern" target="_blank">The "Rollup" Pattern</a></li> <li><a href="https://brandfolder.engineering/brandfolders-machine-learning-platform" target="_blank">Brandfolder鈥檚 Machine Learning Platform</a></li> <li><a href="https://brandfolder.engineering/useContext-performance-issue" target="_blank">Performance Hazards of Misusing React's useContext</a></li> <li><a href="https://brandfolder.engineering/front-end-developer-and-designer-pairing " target="_blank">Front-End Developer and Designer Pairing</a></li> <li><a href="https://brandfolder.engineering/bigquery-python-for-production-data-science" target="_blank">BigQuery + Python for Production Data聽Science</a></li> <li><a href="https://brandfolder.engineering/website-cdn-embedding" target="_blank">How CDN embedding has changed the way we build our聽website聽</a></li> <li><a href="https://brandfolder.engineering/addressing-scale-with-functional-services" target="_blank">Addressing Scale with Functional Services</a></li> </ul> </div> </div> <div class="half-grid-right"> <div class="featured-guides"> </div> </div> </div> </div> </div> <footer class="footer"> Copyright @2024 <a href="https://brandfolder.com/home">Brandfolder Digital Asset Management</a> <a href="https://brandfolder.com/agreement/#!texts/xpxac06k" target="_blank">Privacy Policy</a> <a href="https://brandfolder.com/agreement/#!texts/14negh88" target="_blank">Terms of Service</a> <a href="https://brandfolder.com/contact" target="_blank" target="_blank">Contact Us</a> </footer> <script src="javascripts/site.js"></script> </body> </html>