github.com/rpdict/ponzu@v0.10.1-0.20190226054626-477f29d6bf5e/docs/build/Interfaces/API/index.html (about)

     1  
     2  <!DOCTYPE html>
     3  <html lang="en" class="no-js">
     4    <head>
     5      
     6        <meta charset="utf-8">
     7        <meta name="viewport" content="width=device-width,initial-scale=1">
     8        
     9        
    10        
    11        
    12          <link rel="shortcut icon" href="../../assets/images/favicon.png">
    13        
    14        <meta name="generator" content="mkdocs-0.16.3, mkdocs-material-1.6.1">
    15      
    16      
    17        
    18          <title>API Package Interfaces</title>
    19        
    20      
    21      
    22        <script src="../../assets/javascripts/modernizr-56ade86843.js"></script>
    23      
    24      
    25        <link rel="stylesheet" href="../../assets/stylesheets/application-4d0d3f2fbf.css">
    26        
    27          <link rel="stylesheet" href="../../assets/stylesheets/application-f78e5cb881.palette.css">
    28        
    29      
    30      
    31        
    32          
    33          
    34          
    35          <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
    36          <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
    37        
    38        <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    39      
    40      
    41      
    42    </head>
    43    
    44    
    45    
    46    
    47      <body data-md-color-primary="grey" data-md-color-accent="light-blue">
    48    
    49      <svg class="md-svg">
    50        <defs>
    51          
    52          
    53            <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
    54          
    55        </defs>
    56      </svg>
    57      <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
    58      <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
    59      <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
    60      
    61        <header class="md-header" data-md-component="header">
    62    <nav class="md-header-nav md-grid">
    63      <div class="md-flex">
    64        <div class="md-flex__cell md-flex__cell--shrink">
    65          
    66            <a href="../.." title="Ponzu" class="md-logo md-header-nav__button">
    67              <img src="../../images/logo.png" width="24" height="24">
    68            </a>
    69          
    70        </div>
    71        <div class="md-flex__cell md-flex__cell--shrink">
    72          <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
    73        </div>
    74        <div class="md-flex__cell md-flex__cell--stretch">
    75          <span class="md-flex__ellipsis md-header-nav__title">
    76            
    77              
    78                
    79                  <span class="md-header-nav__parent">
    80                    Interfaces
    81                  </span>
    82                
    83              
    84              API
    85            
    86          </span>
    87        </div>
    88        <div class="md-flex__cell md-flex__cell--shrink">
    89          
    90            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
    91            
    92  <div class="md-search" data-md-component="search">
    93    <label class="md-search__overlay" for="search"></label>
    94    <div class="md-search__inner">
    95      <form class="md-search__form" name="search">
    96        <input type="text" class="md-search__input" name="query" required placeholder="Search" accesskey="s" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query">
    97        <label class="md-icon md-search__icon" for="search"></label>
    98        <button type="reset" class="md-icon md-search__icon" data-md-component="reset">close</button>
    99      </form>
   100      <div class="md-search__output">
   101        <div class="md-search__scrollwrap" data-md-scrollfix>
   102          <div class="md-search-result" data-md-component="result">
   103            <div class="md-search-result__meta" data-md-lang-result-none="No matching documents" data-md-lang-result-one="1 matching document" data-md-lang-result-other="# matching documents">
   104              Type to start searching
   105            </div>
   106            <ol class="md-search-result__list"></ol>
   107          </div>
   108        </div>
   109      </div>
   110    </div>
   111  </div>
   112          
   113        </div>
   114        <div class="md-flex__cell md-flex__cell--shrink">
   115          <div class="md-header-nav__source">
   116            
   117              
   118  
   119  
   120    
   121  
   122  
   123    <a href="https://github.com/rpdict/ponzu" title="Go to repository" class="md-source" data-md-source="github">
   124      
   125        <div class="md-source__icon">
   126          <svg viewBox="0 0 24 24" width="24" height="24">
   127            <use xlink:href="#github" width="24" height="24"></use>
   128          </svg>
   129        </div>
   130      
   131      <div class="md-source__repository">
   132        ponzu-cms/ponzu
   133      </div>
   134    </a>
   135  
   136            
   137          </div>
   138        </div>
   139      </div>
   140    </nav>
   141  </header>
   142      
   143      <div class="md-container">
   144        
   145        
   146        <main class="md-main">
   147          <div class="md-main__inner md-grid" data-md-component="container">
   148            
   149              
   150                <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
   151                  <div class="md-sidebar__scrollwrap">
   152                    <div class="md-sidebar__inner">
   153                      <nav class="md-nav md-nav--primary" data-md-level="0">
   154    <label class="md-nav__title md-nav__title--site" for="drawer">
   155      
   156        <i class="md-logo md-nav__button">
   157          <img src="../../images/logo.png">
   158        </i>
   159      
   160      Ponzu
   161    </label>
   162    
   163      <div class="md-nav__source">
   164        
   165  
   166  
   167    
   168  
   169  
   170    <a href="https://github.com/rpdict/ponzu" title="Go to repository" class="md-source" data-md-source="github">
   171      
   172        <div class="md-source__icon">
   173          <svg viewBox="0 0 24 24" width="24" height="24">
   174            <use xlink:href="#github" width="24" height="24"></use>
   175          </svg>
   176        </div>
   177      
   178      <div class="md-source__repository">
   179        ponzu-cms/ponzu
   180      </div>
   181    </a>
   182  
   183      </div>
   184    
   185    <ul class="md-nav__list" data-md-scrollfix>
   186      
   187        
   188        
   189        
   190  
   191  
   192    <li class="md-nav__item">
   193      <a href="../.." title="Home" class="md-nav__link">
   194        Home
   195      </a>
   196    </li>
   197  
   198      
   199        
   200        
   201        
   202  
   203  
   204    <li class="md-nav__item md-nav__item--nested">
   205      
   206        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
   207      
   208      <label class="md-nav__link" for="nav-2">
   209        CLI
   210      </label>
   211      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   212        <label class="md-nav__title" for="nav-2">
   213          CLI
   214        </label>
   215        <ul class="md-nav__list" data-md-scrollfix>
   216          
   217          
   218            
   219            
   220            
   221  
   222  
   223    <li class="md-nav__item">
   224      <a href="../../CLI/General-Usage/" title="General Usage" class="md-nav__link">
   225        General Usage
   226      </a>
   227    </li>
   228  
   229          
   230            
   231            
   232            
   233  
   234  
   235    <li class="md-nav__item">
   236      <a href="../../CLI/Generating-References/" title="Generating References" class="md-nav__link">
   237        Generating References
   238      </a>
   239    </li>
   240  
   241          
   242        </ul>
   243      </nav>
   244    </li>
   245  
   246      
   247        
   248        
   249        
   250  
   251  
   252    <li class="md-nav__item md-nav__item--nested">
   253      
   254        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
   255      
   256      <label class="md-nav__link" for="nav-3">
   257        Content
   258      </label>
   259      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   260        <label class="md-nav__title" for="nav-3">
   261          Content
   262        </label>
   263        <ul class="md-nav__list" data-md-scrollfix>
   264          
   265          
   266            
   267            
   268            
   269  
   270  
   271    <li class="md-nav__item">
   272      <a href="../../Content/An-Overview/" title="An Overview" class="md-nav__link">
   273        An Overview
   274      </a>
   275    </li>
   276  
   277          
   278            
   279            
   280            
   281  
   282  
   283    <li class="md-nav__item">
   284      <a href="../../Content/Extending-Content/" title="Extending Content" class="md-nav__link">
   285        Extending Content
   286      </a>
   287    </li>
   288  
   289          
   290        </ul>
   291      </nav>
   292    </li>
   293  
   294      
   295        
   296        
   297        
   298  
   299  
   300    <li class="md-nav__item md-nav__item--nested">
   301      
   302        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
   303      
   304      <label class="md-nav__link" for="nav-4">
   305        Form Fields
   306      </label>
   307      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   308        <label class="md-nav__title" for="nav-4">
   309          Form Fields
   310        </label>
   311        <ul class="md-nav__list" data-md-scrollfix>
   312          
   313          
   314            
   315            
   316            
   317  
   318  
   319    <li class="md-nav__item">
   320      <a href="../../Form-Fields/HTML-Inputs/" title="HTML Inputs" class="md-nav__link">
   321        HTML Inputs
   322      </a>
   323    </li>
   324  
   325          
   326        </ul>
   327      </nav>
   328    </li>
   329  
   330      
   331        
   332        
   333        
   334  
   335  
   336    <li class="md-nav__item md-nav__item--nested">
   337      
   338        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
   339      
   340      <label class="md-nav__link" for="nav-5">
   341        HTTP APIs
   342      </label>
   343      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   344        <label class="md-nav__title" for="nav-5">
   345          HTTP APIs
   346        </label>
   347        <ul class="md-nav__list" data-md-scrollfix>
   348          
   349          
   350            
   351            
   352            
   353  
   354  
   355    <li class="md-nav__item">
   356      <a href="../../HTTP-APIs/Content/" title="Content" class="md-nav__link">
   357        Content
   358      </a>
   359    </li>
   360  
   361          
   362            
   363            
   364            
   365  
   366  
   367    <li class="md-nav__item">
   368      <a href="../../HTTP-APIs/File-Metadata/" title="File Metadata" class="md-nav__link">
   369        File Metadata
   370      </a>
   371    </li>
   372  
   373          
   374            
   375            
   376            
   377  
   378  
   379    <li class="md-nav__item">
   380      <a href="../../HTTP-APIs/Search/" title="Search" class="md-nav__link">
   381        Search
   382      </a>
   383    </li>
   384  
   385          
   386        </ul>
   387      </nav>
   388    </li>
   389  
   390      
   391        
   392        
   393        
   394  
   395    
   396  
   397  
   398    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
   399      
   400        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6" checked>
   401      
   402      <label class="md-nav__link" for="nav-6">
   403        Interfaces
   404      </label>
   405      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   406        <label class="md-nav__title" for="nav-6">
   407          Interfaces
   408        </label>
   409        <ul class="md-nav__list" data-md-scrollfix>
   410          
   411          
   412            
   413            
   414            
   415  
   416    
   417  
   418  
   419    <li class="md-nav__item md-nav__item--active">
   420      
   421      <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
   422      
   423      
   424        <label class="md-nav__link md-nav__link--active" for="toc">
   425          API
   426        </label>
   427      
   428      <a href="./" title="API" class="md-nav__link md-nav__link--active">
   429        API
   430      </a>
   431      
   432        
   433  <nav class="md-nav md-nav--secondary">
   434    
   435    
   436    
   437      <label class="md-nav__title" for="toc">Table of contents</label>
   438      <ul class="md-nav__list" data-md-scrollfix>
   439        
   440          <li class="md-nav__item">
   441    <a href="#interfaces" title="Interfaces" class="md-nav__link">
   442      Interfaces
   443    </a>
   444    
   445      <nav class="md-nav">
   446        <ul class="md-nav__list">
   447          
   448            <li class="md-nav__item">
   449    <a href="#apicreateable" title="api.Createable" class="md-nav__link">
   450      api.Createable
   451    </a>
   452    
   453      <nav class="md-nav">
   454        <ul class="md-nav__list">
   455          
   456            <li class="md-nav__item">
   457    <a href="#method-set" title="Method Set" class="md-nav__link">
   458      Method Set
   459    </a>
   460    
   461  </li>
   462          
   463            <li class="md-nav__item">
   464    <a href="#implementation" title="Implementation" class="md-nav__link">
   465      Implementation
   466    </a>
   467    
   468  </li>
   469          
   470        </ul>
   471      </nav>
   472    
   473  </li>
   474          
   475            <li class="md-nav__item">
   476    <a href="#apiupdateable" title="api.Updateable" class="md-nav__link">
   477      api.Updateable
   478    </a>
   479    
   480      <nav class="md-nav">
   481        <ul class="md-nav__list">
   482          
   483            <li class="md-nav__item">
   484    <a href="#method-set_1" title="Method Set" class="md-nav__link">
   485      Method Set
   486    </a>
   487    
   488  </li>
   489          
   490            <li class="md-nav__item">
   491    <a href="#implementation_1" title="Implementation" class="md-nav__link">
   492      Implementation
   493    </a>
   494    
   495  </li>
   496          
   497        </ul>
   498      </nav>
   499    
   500  </li>
   501          
   502            <li class="md-nav__item">
   503    <a href="#apideleteable" title="api.Deleteable" class="md-nav__link">
   504      api.Deleteable
   505    </a>
   506    
   507      <nav class="md-nav">
   508        <ul class="md-nav__list">
   509          
   510            <li class="md-nav__item">
   511    <a href="#method-set_2" title="Method Set" class="md-nav__link">
   512      Method Set
   513    </a>
   514    
   515  </li>
   516          
   517            <li class="md-nav__item">
   518    <a href="#implementation_2" title="Implementation" class="md-nav__link">
   519      Implementation
   520    </a>
   521    
   522  </li>
   523          
   524        </ul>
   525      </nav>
   526    
   527  </li>
   528          
   529            <li class="md-nav__item">
   530    <a href="#apitrustable" title="api.Trustable" class="md-nav__link">
   531      api.Trustable
   532    </a>
   533    
   534      <nav class="md-nav">
   535        <ul class="md-nav__list">
   536          
   537            <li class="md-nav__item">
   538    <a href="#implementation_3" title="Implementation" class="md-nav__link">
   539      Implementation
   540    </a>
   541    
   542  </li>
   543          
   544        </ul>
   545      </nav>
   546    
   547  </li>
   548          
   549        </ul>
   550      </nav>
   551    
   552  </li>
   553        
   554        
   555        
   556      </ul>
   557    
   558  </nav>
   559      
   560    </li>
   561  
   562          
   563            
   564            
   565            
   566  
   567  
   568    <li class="md-nav__item">
   569      <a href="../Editor/" title="Editor" class="md-nav__link">
   570        Editor
   571      </a>
   572    </li>
   573  
   574          
   575            
   576            
   577            
   578  
   579  
   580    <li class="md-nav__item">
   581      <a href="../Format/" title="Format" class="md-nav__link">
   582        Format
   583      </a>
   584    </li>
   585  
   586          
   587            
   588            
   589            
   590  
   591  
   592    <li class="md-nav__item">
   593      <a href="../Item/" title="Item" class="md-nav__link">
   594        Item
   595      </a>
   596    </li>
   597  
   598          
   599            
   600            
   601            
   602  
   603  
   604    <li class="md-nav__item">
   605      <a href="../Search/" title="Search" class="md-nav__link">
   606        Search
   607      </a>
   608    </li>
   609  
   610          
   611        </ul>
   612      </nav>
   613    </li>
   614  
   615      
   616        
   617        
   618        
   619  
   620  
   621    <li class="md-nav__item md-nav__item--nested">
   622      
   623        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
   624      
   625      <label class="md-nav__link" for="nav-7">
   626        Ponzu Addons
   627      </label>
   628      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   629        <label class="md-nav__title" for="nav-7">
   630          Ponzu Addons
   631        </label>
   632        <ul class="md-nav__list" data-md-scrollfix>
   633          
   634          
   635            
   636            
   637            
   638  
   639  
   640    <li class="md-nav__item">
   641      <a href="../../Ponzu-Addons/Creating-Addons/" title="Creating Addons" class="md-nav__link">
   642        Creating Addons
   643      </a>
   644    </li>
   645  
   646          
   647            
   648            
   649            
   650  
   651  
   652    <li class="md-nav__item">
   653      <a href="../../Ponzu-Addons/Using-Addons/" title="Using Addons" class="md-nav__link">
   654        Using Addons
   655      </a>
   656    </li>
   657  
   658          
   659        </ul>
   660      </nav>
   661    </li>
   662  
   663      
   664        
   665        
   666        
   667  
   668  
   669    <li class="md-nav__item md-nav__item--nested">
   670      
   671        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
   672      
   673      <label class="md-nav__link" for="nav-8">
   674        Quickstart
   675      </label>
   676      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   677        <label class="md-nav__title" for="nav-8">
   678          Quickstart
   679        </label>
   680        <ul class="md-nav__list" data-md-scrollfix>
   681          
   682          
   683            
   684            
   685            
   686  
   687  
   688    <li class="md-nav__item">
   689      <a href="../../Quickstart/Overview/" title="Overview" class="md-nav__link">
   690        Overview
   691      </a>
   692    </li>
   693  
   694          
   695        </ul>
   696      </nav>
   697    </li>
   698  
   699      
   700        
   701        
   702        
   703  
   704  
   705    <li class="md-nav__item md-nav__item--nested">
   706      
   707        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
   708      
   709      <label class="md-nav__link" for="nav-9">
   710        References
   711      </label>
   712      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   713        <label class="md-nav__title" for="nav-9">
   714          References
   715        </label>
   716        <ul class="md-nav__list" data-md-scrollfix>
   717          
   718          
   719            
   720            
   721            
   722  
   723  
   724    <li class="md-nav__item">
   725      <a href="../../References/Overview/" title="Overview" class="md-nav__link">
   726        Overview
   727      </a>
   728    </li>
   729  
   730          
   731        </ul>
   732      </nav>
   733    </li>
   734  
   735      
   736        
   737        
   738        
   739  
   740  
   741    <li class="md-nav__item md-nav__item--nested">
   742      
   743        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
   744      
   745      <label class="md-nav__link" for="nav-10">
   746        Running Backups
   747      </label>
   748      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   749        <label class="md-nav__title" for="nav-10">
   750          Running Backups
   751        </label>
   752        <ul class="md-nav__list" data-md-scrollfix>
   753          
   754          
   755            
   756            
   757            
   758  
   759  
   760    <li class="md-nav__item">
   761      <a href="../../Running-Backups/Backups/" title="Backups" class="md-nav__link">
   762        Backups
   763      </a>
   764    </li>
   765  
   766          
   767        </ul>
   768      </nav>
   769    </li>
   770  
   771      
   772        
   773        
   774        
   775  
   776  
   777    <li class="md-nav__item md-nav__item--nested">
   778      
   779        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11" type="checkbox" id="nav-11">
   780      
   781      <label class="md-nav__link" for="nav-11">
   782        System Configuration
   783      </label>
   784      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   785        <label class="md-nav__title" for="nav-11">
   786          System Configuration
   787        </label>
   788        <ul class="md-nav__list" data-md-scrollfix>
   789          
   790          
   791            
   792            
   793            
   794  
   795  
   796    <li class="md-nav__item">
   797      <a href="../../System-Configuration/Settings/" title="Settings" class="md-nav__link">
   798        Settings
   799      </a>
   800    </li>
   801  
   802          
   803        </ul>
   804      </nav>
   805    </li>
   806  
   807      
   808        
   809        
   810        
   811  
   812  
   813    <li class="md-nav__item md-nav__item--nested">
   814      
   815        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12" type="checkbox" id="nav-12">
   816      
   817      <label class="md-nav__link" for="nav-12">
   818        System Deployment
   819      </label>
   820      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   821        <label class="md-nav__title" for="nav-12">
   822          System Deployment
   823        </label>
   824        <ul class="md-nav__list" data-md-scrollfix>
   825          
   826          
   827            
   828            
   829            
   830  
   831  
   832    <li class="md-nav__item">
   833      <a href="../../System-Deployment/Docker/" title="Docker" class="md-nav__link">
   834        Docker
   835      </a>
   836    </li>
   837  
   838          
   839            
   840            
   841            
   842  
   843  
   844    <li class="md-nav__item">
   845      <a href="../../System-Deployment/SysV-Style/" title="SysV Style" class="md-nav__link">
   846        SysV Style
   847      </a>
   848    </li>
   849  
   850          
   851        </ul>
   852      </nav>
   853    </li>
   854  
   855      
   856    </ul>
   857  </nav>
   858                    </div>
   859                  </div>
   860                </div>
   861              
   862              
   863                <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
   864                  <div class="md-sidebar__scrollwrap">
   865                    <div class="md-sidebar__inner">
   866                      
   867  <nav class="md-nav md-nav--secondary">
   868    
   869    
   870    
   871      <label class="md-nav__title" for="toc">Table of contents</label>
   872      <ul class="md-nav__list" data-md-scrollfix>
   873        
   874          <li class="md-nav__item">
   875    <a href="#interfaces" title="Interfaces" class="md-nav__link">
   876      Interfaces
   877    </a>
   878    
   879      <nav class="md-nav">
   880        <ul class="md-nav__list">
   881          
   882            <li class="md-nav__item">
   883    <a href="#apicreateable" title="api.Createable" class="md-nav__link">
   884      api.Createable
   885    </a>
   886    
   887      <nav class="md-nav">
   888        <ul class="md-nav__list">
   889          
   890            <li class="md-nav__item">
   891    <a href="#method-set" title="Method Set" class="md-nav__link">
   892      Method Set
   893    </a>
   894    
   895  </li>
   896          
   897            <li class="md-nav__item">
   898    <a href="#implementation" title="Implementation" class="md-nav__link">
   899      Implementation
   900    </a>
   901    
   902  </li>
   903          
   904        </ul>
   905      </nav>
   906    
   907  </li>
   908          
   909            <li class="md-nav__item">
   910    <a href="#apiupdateable" title="api.Updateable" class="md-nav__link">
   911      api.Updateable
   912    </a>
   913    
   914      <nav class="md-nav">
   915        <ul class="md-nav__list">
   916          
   917            <li class="md-nav__item">
   918    <a href="#method-set_1" title="Method Set" class="md-nav__link">
   919      Method Set
   920    </a>
   921    
   922  </li>
   923          
   924            <li class="md-nav__item">
   925    <a href="#implementation_1" title="Implementation" class="md-nav__link">
   926      Implementation
   927    </a>
   928    
   929  </li>
   930          
   931        </ul>
   932      </nav>
   933    
   934  </li>
   935          
   936            <li class="md-nav__item">
   937    <a href="#apideleteable" title="api.Deleteable" class="md-nav__link">
   938      api.Deleteable
   939    </a>
   940    
   941      <nav class="md-nav">
   942        <ul class="md-nav__list">
   943          
   944            <li class="md-nav__item">
   945    <a href="#method-set_2" title="Method Set" class="md-nav__link">
   946      Method Set
   947    </a>
   948    
   949  </li>
   950          
   951            <li class="md-nav__item">
   952    <a href="#implementation_2" title="Implementation" class="md-nav__link">
   953      Implementation
   954    </a>
   955    
   956  </li>
   957          
   958        </ul>
   959      </nav>
   960    
   961  </li>
   962          
   963            <li class="md-nav__item">
   964    <a href="#apitrustable" title="api.Trustable" class="md-nav__link">
   965      api.Trustable
   966    </a>
   967    
   968      <nav class="md-nav">
   969        <ul class="md-nav__list">
   970          
   971            <li class="md-nav__item">
   972    <a href="#implementation_3" title="Implementation" class="md-nav__link">
   973      Implementation
   974    </a>
   975    
   976  </li>
   977          
   978        </ul>
   979      </nav>
   980    
   981  </li>
   982          
   983        </ul>
   984      </nav>
   985    
   986  </li>
   987        
   988        
   989        
   990      </ul>
   991    
   992  </nav>
   993                    </div>
   994                  </div>
   995                </div>
   996              
   997            
   998            <div class="md-content">
   999              <article class="md-content__inner md-typeset">
  1000                
  1001                  
  1002                  
  1003                    <h1>API</h1>
  1004                  
  1005                  <p>Ponzu provides a set of interfaces from the <code>system/api</code> package which enable 
  1006  richer interaction with your system from external clients. If you need to allow 
  1007  3rd-party apps to manage content, use the following interfaces.</p>
  1008  <p>The API interfaces adhere to a common function signature, expecting an 
  1009  <code>http.ResponseWriter</code> and <code>*http.Request</code> as arguments and returning an <code>error</code>.
  1010  This provides Ponzu developers with full control over the request/response 
  1011  life-cycle.</p>
  1012  <hr />
  1013  <h2 id="interfaces">Interfaces<a class="headerlink" href="#interfaces" title="Permanent link">&para;</a></h2>
  1014  <h3 id="apicreateable"><a href="https://godoc.org/github.com/rpdict/ponzu/system/api#Createable">api.Createable</a><a class="headerlink" href="#apicreateable" title="Permanent link">&para;</a></h3>
  1015  <p>Externalable enables 3rd-party clients (outside the CMS) to send content via a 
  1016  <code>multipart/form-data</code> encoded <code>POST</code> request to a specific endpoint: 
  1017  <code>/api/content/create?type=&lt;Type&gt;</code>. When <code>api.Createable</code> is implemented, content 
  1018  will be saved from the request in a "Pending" section which will is visible only 
  1019  within the CMS.</p>
  1020  <p>To work with "Pending" data, implement the <a href="../../Interfaces/Editor#editormergeable"><code>editor.Mergeable</code></a>
  1021  interface, which will add "Approve" and "Reject" buttons to your Content types'
  1022  editor -- or implement <a href="#apitrustable"><code>api.Trustable</code></a> to bypass 
  1023  the "Pending" section altogether and become "Public" immediately. </p>
  1024  <h5 id="method-set">Method Set<a class="headerlink" href="#method-set" title="Permanent link">&para;</a></h5>
  1025  <div class="codehilite"><pre><span></span><span class="kd">type</span> <span class="nx">Createable</span> <span class="kd">interface</span> <span class="p">{</span>
  1026      <span class="nx">Create</span><span class="p">(</span><span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span>
  1027  <span class="p">}</span>
  1028  </pre></div>
  1029  
  1030  
  1031  <h5 id="implementation">Implementation<a class="headerlink" href="#implementation" title="Permanent link">&para;</a></h5>
  1032  <div class="codehilite"><pre><span></span><span class="kd">func</span> <span class="p">(</span><span class="nx">p</span> <span class="o">*</span><span class="nx">Post</span><span class="p">)</span> <span class="nx">Create</span><span class="p">(</span><span class="nx">res</span> <span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="nx">req</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span> <span class="p">{</span>
  1033      <span class="k">return</span> <span class="kc">nil</span>
  1034  <span class="p">}</span>
  1035  </pre></div>
  1036  
  1037  
  1038  <hr />
  1039  <h3 id="apiupdateable"><a href="https://godoc.org/github.com/rpdict/ponzu/system/api#Updateable">api.Updateable</a><a class="headerlink" href="#apiupdateable" title="Permanent link">&para;</a></h3>
  1040  <p>Updateable enables 3rd-party clients (outside the CMS) to update existing content 
  1041  via a <code>multipart/form-data</code> encoded <code>POST</code> request to a specific endpoint: 
  1042  <code>/api/content/update?type=&lt;Type&gt;&amp;id=&lt;id&gt;</code>. Request validation should be employed 
  1043  otherwise any client could change data in your database.</p>
  1044  <h5 id="method-set_1">Method Set<a class="headerlink" href="#method-set_1" title="Permanent link">&para;</a></h5>
  1045  <div class="codehilite"><pre><span></span><span class="kd">type</span> <span class="nx">Updateable</span> <span class="kd">interface</span> <span class="p">{</span>
  1046      <span class="nx">Update</span><span class="p">(</span><span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span>
  1047  <span class="p">}</span>
  1048  </pre></div>
  1049  
  1050  
  1051  <h5 id="implementation_1">Implementation<a class="headerlink" href="#implementation_1" title="Permanent link">&para;</a></h5>
  1052  <div class="codehilite"><pre><span></span><span class="kd">func</span> <span class="p">(</span><span class="nx">p</span> <span class="o">*</span><span class="nx">Post</span><span class="p">)</span> <span class="nx">Update</span><span class="p">(</span><span class="nx">res</span> <span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="nx">req</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span> <span class="p">{</span>
  1053      <span class="k">return</span> <span class="kc">nil</span>
  1054  <span class="p">}</span>
  1055  </pre></div>
  1056  
  1057  
  1058  <hr />
  1059  <h3 id="apideleteable"><a href="https://godoc.org/github.com/rpdict/ponzu/system/api#Deleteable">api.Deleteable</a><a class="headerlink" href="#apideleteable" title="Permanent link">&para;</a></h3>
  1060  <p>Updateable enables 3rd-party clients (outside the CMS) to delete existing content 
  1061  via a <code>multipart/form-data</code> encoded <code>POST</code> request to a specific endpoint: 
  1062  <code>/api/content/delete?type=&lt;Type&gt;&amp;id=&lt;id&gt;</code>. Request validation should be employed 
  1063  otherwise any client could delete data from your database.</p>
  1064  <h5 id="method-set_2">Method Set<a class="headerlink" href="#method-set_2" title="Permanent link">&para;</a></h5>
  1065  <div class="codehilite"><pre><span></span><span class="kd">type</span> <span class="nx">Deleteable</span> <span class="kd">interface</span> <span class="p">{</span>
  1066      <span class="nx">Delete</span><span class="p">(</span><span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span>
  1067  <span class="p">}</span>
  1068  </pre></div>
  1069  
  1070  
  1071  <h5 id="implementation_2">Implementation<a class="headerlink" href="#implementation_2" title="Permanent link">&para;</a></h5>
  1072  <div class="codehilite"><pre><span></span><span class="kd">func</span> <span class="p">(</span><span class="nx">p</span> <span class="o">*</span><span class="nx">Post</span><span class="p">)</span> <span class="nx">Delete</span><span class="p">(</span><span class="nx">res</span> <span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="nx">req</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span> <span class="p">{</span>
  1073      <span class="k">return</span> <span class="kc">nil</span>
  1074  <span class="p">}</span>
  1075  </pre></div>
  1076  
  1077  
  1078  <hr />
  1079  <h3 id="apitrustable"><a href="https://godoc.org/github.com/rpdict/ponzu/system/api#Trustable">api.Trustable</a><a class="headerlink" href="#apitrustable" title="Permanent link">&para;</a></h3>
  1080  <p>Trustable provides a way for submitted content (via <code>api.Createable</code>) to bypass 
  1081  the <code>editor.Mergeable</code> step in which CMS end-users must manually click the 
  1082  "Approve" button in order for content to be put in the "Public" section and access 
  1083  via the content API endpoints. <code>api.Trustable</code> has a single method: <code>AutoApprove</code> 
  1084  which will automatically approve content, bypassing the "Pending" section 
  1085  altogether.</p>
  1086  <div class="codehilite"><pre><span></span><span class="kd">type</span> <span class="nx">Trustable</span> <span class="kd">interface</span> <span class="p">{</span>
  1087      <span class="nx">AutoApprove</span><span class="p">(</span><span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span>
  1088  <span class="p">}</span>
  1089  </pre></div>
  1090  
  1091  
  1092  <h5 id="implementation_3">Implementation<a class="headerlink" href="#implementation_3" title="Permanent link">&para;</a></h5>
  1093  <div class="codehilite"><pre><span></span><span class="kd">func</span> <span class="p">(</span><span class="nx">p</span> <span class="o">*</span><span class="nx">Post</span><span class="p">)</span> <span class="nx">AutoApprove</span><span class="p">(</span><span class="nx">res</span> <span class="nx">http</span><span class="p">.</span><span class="nx">ResponseWriter</span><span class="p">,</span> <span class="nx">req</span> <span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Request</span><span class="p">)</span> <span class="kt">error</span> <span class="p">{</span>
  1094      <span class="k">return</span> <span class="kc">nil</span>
  1095  <span class="p">}</span>
  1096  </pre></div>
  1097                  
  1098                    
  1099                  
  1100                
  1101                
  1102                  
  1103                
  1104              </article>
  1105            </div>
  1106          </div>
  1107        </main>
  1108        
  1109          
  1110  <footer class="md-footer">
  1111    
  1112      <div class="md-footer-nav">
  1113        <nav class="md-footer-nav__inner md-grid">
  1114          
  1115            <a href="../../HTTP-APIs/Search/" title="Search" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
  1116              <div class="md-flex__cell md-flex__cell--shrink">
  1117                <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
  1118              </div>
  1119              <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
  1120                <span class="md-flex__ellipsis">
  1121                  <span class="md-footer-nav__direction">
  1122                    Previous
  1123                  </span>
  1124                  Search
  1125                </span>
  1126              </div>
  1127            </a>
  1128          
  1129          
  1130            <a href="../Editor/" title="Editor" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
  1131              <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
  1132                <span class="md-flex__ellipsis">
  1133                  <span class="md-footer-nav__direction">
  1134                    Next
  1135                  </span>
  1136                  Editor
  1137                </span>
  1138              </div>
  1139              <div class="md-flex__cell md-flex__cell--shrink">
  1140                <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
  1141              </div>
  1142            </a>
  1143          
  1144        </nav>
  1145      </div>
  1146    
  1147    <div class="md-footer-meta md-typeset">
  1148      <div class="md-footer-meta__inner md-grid">
  1149        <div class="md-footer-copyright">
  1150          
  1151          powered by
  1152          <a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
  1153          and
  1154          <a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
  1155            Material for MkDocs</a>
  1156        </div>
  1157        
  1158          
  1159    <div class="md-footer-social">
  1160      
  1161      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  1162      
  1163        <a href="https://github.com/rpdict" class="md-footer-social__link fa fa-github"></a>
  1164      
  1165        <a href="https://twitter.com/ponzu_cms" class="md-footer-social__link fa fa-twitter"></a>
  1166      
  1167    </div>
  1168  
  1169        
  1170      </div>
  1171    </div>
  1172  </footer>
  1173        
  1174      </div>
  1175      
  1176        <script src="../../assets/javascripts/application-6b599127bc.js"></script>
  1177        <script>app.initialize({url:{base:"../.."}})</script>
  1178        
  1179      
  1180      
  1181        
  1182        <script>!function(e,t,a,n,o,c,i){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,c=t.createElement(a),i=t.getElementsByTagName(a)[0],c.async=1,c.src=n,i.parentNode.insertBefore(c,i)}(window,document,"script","https://www.google-analytics.com/analytics.js","ga"),ga("create","UA-98609560-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName("a");Array.prototype.map.call(links,function(e){e.host!=document.location.host&&e.addEventListener("click",function(){var t=e.getAttribute("data-md-action")||"follow";ga("send","event","outbound",t,e.href)})});var query=document.forms.search.query;query.addEventListener("blur",function(){if(this.value){var e=document.location.pathname;ga("send","pageview",e+"?q="+this.value)}})</script>
  1183        
  1184      
  1185    </body>
  1186  </html>