github.com/edermi/gophish_mods@v0.7.0/templates/docs.html (about) 1 {{ define "base" }} 2 <!DOCTYPE html><html><head><meta charset="utf-8"><title>Gophish API</title><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"><style>@import url('https://fonts.googleapis.com/css?family=Roboto:400,700|Inconsolata|Raleway:200');.hljs-comment,.hljs-title{color:#8e908c}.hljs-variable,.hljs-attribute,.hljs-tag,.hljs-regexp,.ruby .hljs-constant,.xml .hljs-tag .hljs-title,.xml .hljs-pi,.xml .hljs-doctype,.html .hljs-doctype,.css .hljs-id,.css .hljs-class,.css .hljs-pseudo{color:#c82829}.hljs-number,.hljs-preprocessor,.hljs-pragma,.hljs-built_in,.hljs-literal,.hljs-params,.hljs-constant{color:#f5871f}.ruby .hljs-class .hljs-title,.css .hljs-rules .hljs-attribute{color:#eab700}.hljs-string,.hljs-value,.hljs-inheritance,.hljs-header,.ruby .hljs-symbol,.xml .hljs-cdata{color:#718c00}.css .hljs-hexcolor{color:#3e999f}.hljs-function,.python .hljs-decorator,.python .hljs-title,.ruby .hljs-function .hljs-title,.ruby .hljs-title .hljs-keyword,.perl .hljs-sub,.javascript .hljs-title,.coffeescript .hljs-title{color:#4271ae}.hljs-keyword,.javascript .hljs-function{color:#8959a8}.hljs{display:block;background:white;color:#4d4d4c;padding:.5em}.coffeescript .javascript,.javascript .xml,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata{opacity:.5}.right .hljs-comment{color:#969896}.right .css .hljs-class,.right .css .hljs-id,.right .css .hljs-pseudo,.right .hljs-attribute,.right .hljs-regexp,.right .hljs-tag,.right .hljs-variable,.right .html .hljs-doctype,.right .ruby .hljs-constant,.right .xml .hljs-doctype,.right .xml .hljs-pi,.right .xml .hljs-tag .hljs-title{color:#c66}.right .hljs-built_in,.right .hljs-constant,.right .hljs-literal,.right .hljs-number,.right .hljs-params,.right .hljs-pragma,.right .hljs-preprocessor{color:#de935f}.right .css .hljs-rule .hljs-attribute,.right .ruby .hljs-class .hljs-title{color:#f0c674}.right .hljs-header,.right .hljs-inheritance,.right .hljs-name,.right .hljs-string,.right .hljs-value,.right .ruby .hljs-symbol,.right .xml .hljs-cdata{color:#b5bd68}.right .css .hljs-hexcolor,.right .hljs-title{color:#8abeb7}.right .coffeescript .hljs-title,.right .hljs-function,.right .javascript .hljs-title,.right .perl .hljs-sub,.right .python .hljs-decorator,.right .python .hljs-title,.right .ruby .hljs-function .hljs-title,.right .ruby .hljs-title .hljs-keyword{color:#81a2be}.right .hljs-keyword,.right .javascript .hljs-function{color:#b294bb}.right .hljs{display:block;overflow-x:auto;background:#1d1f21;color:#c5c8c6;padding:.5em;-webkit-text-size-adjust:none}.right .coffeescript .javascript,.right .javascript .xml,.right .tex .hljs-formula,.right .xml .css,.right .xml .hljs-cdata,.right .xml .javascript,.right .xml .vbscript{opacity:.5}body{color:black;background:white;font:400 14px / 1.42 'Roboto',Helvetica,sans-serif}header{border-bottom:1px solid #f2f2f2;margin-bottom:12px}h1,h2,h3,h4,h5{color:black;margin:12px 0}h1 .permalink,h2 .permalink,h3 .permalink,h4 .permalink,h5 .permalink{margin-left:0;opacity:0;transition:opacity .25s ease}h1:hover .permalink,h2:hover .permalink,h3:hover .permalink,h4:hover .permalink,h5:hover .permalink{opacity:1}.triple h1 .permalink,.triple h2 .permalink,.triple h3 .permalink,.triple h4 .permalink,.triple h5 .permalink{opacity:.15}.triple h1:hover .permalink,.triple h2:hover .permalink,.triple h3:hover .permalink,.triple h4:hover .permalink,.triple h5:hover .permalink{opacity:.15}h1{font:200 36px 'Raleway',Helvetica,sans-serif;font-size:36px}h2{font:200 36px 'Raleway',Helvetica,sans-serif;font-size:30px}h3{font-size:100%;text-transform:uppercase}h5{font-size:100%;font-weight:normal}p{margin:0 0 10px}p.choices{line-height:1.6}a{color:#428bca;text-decoration:none}li p{margin:0}hr.split{border:0;height:1px;width:100%;padding-left:6px;margin:12px auto;background-image:linear-gradient(to right, rgba(0,0,0,0) 20%, rgba(0,0,0,0.2) 51.4%, rgba(255,255,255,0.2) 51.4%, rgba(255,255,255,0) 80%)}dl dt{float:left;width:130px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}dl dd{margin-left:150px}blockquote{color:rgba(0,0,0,0.5);font-size:15.5px;padding:10px 20px;margin:12px 0;border-left:5px solid #e8e8e8}blockquote p:last-child{margin-bottom:0}pre{background-color:#f5f5f5;padding:12px;border:1px solid #cfcfcf;border-radius:6px;overflow:auto}pre code{color:black;background-color:transparent;padding:0;border:none}code{color:#444;background-color:#f5f5f5;font:'Inconsolata',monospace;padding:1px 4px;border:1px solid #cfcfcf;border-radius:3px}ul,ol{padding-left:2em}table{border-collapse:collapse;border-spacing:0;margin-bottom:12px}table tr:nth-child(2n){background-color:#fafafa}table th,table td{padding:6px 12px;border:1px solid #e6e6e6}.text-muted{opacity:.5}.note,.warning{padding:.3em 1em;margin:1em 0;border-radius:2px;font-size:90%}.note h1,.warning h1,.note h2,.warning h2,.note h3,.warning h3,.note h4,.warning h4,.note h5,.warning h5,.note h6,.warning h6{font-family:200 36px 'Raleway',Helvetica,sans-serif;font-size:135%;font-weight:500}.note p,.warning p{margin:.5em 0}.note{color:black;background-color:#f0f6fb;border-left:4px solid #428bca}.note h1,.note h2,.note h3,.note h4,.note h5,.note h6{color:#428bca}.warning{color:black;background-color:#fbf1f0;border-left:4px solid #c9302c}.warning h1,.warning h2,.warning h3,.warning h4,.warning h5,.warning h6{color:#c9302c}header{margin-top:24px}nav{position:fixed;top:24px;bottom:0;overflow-y:auto}nav .resource-group{padding:0}nav .resource-group .heading{position:relative}nav .resource-group .heading .chevron{position:absolute;top:12px;right:12px;opacity:.5}nav .resource-group .heading a{display:block;color:black;opacity:.7;border-left:2px solid transparent;margin:0}nav .resource-group .heading a:hover{text-decoration:none;background-color:bad-color;border-left:2px solid black}nav ul{list-style-type:none;padding-left:0}nav ul a{display:block;font-size:13px;color:rgba(0,0,0,0.7);padding:8px 12px;border-top:1px solid #d9d9d9;border-left:2px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav ul a:hover{text-decoration:none;background-color:bad-color;border-left:2px solid black}nav ul>li{margin:0}nav ul>li:first-child{margin-top:-12px}nav ul>li:last-child{margin-bottom:-12px}nav ul ul a{padding-left:24px}nav ul ul li{margin:0}nav ul ul li:first-child{margin-top:0}nav ul ul li:last-child{margin-bottom:0}nav>div>div>ul>li:first-child>a{border-top:none}.preload *{transition:none !important}.pull-left{float:left}.pull-right{float:right}.badge{display:inline-block;float:right;min-width:10px;min-height:14px;padding:3px 7px;font-size:12px;color:#000;background-color:#f2f2f2;border-radius:10px;margin:-2px 0}.badge.get{color:#70bbe1;background-color:#d9edf7}.badge.head{color:#70bbe1;background-color:#d9edf7}.badge.options{color:#70bbe1;background-color:#d9edf7}.badge.put{color:#f0db70;background-color:#fcf8e3}.badge.patch{color:#f0db70;background-color:#fcf8e3}.badge.post{color:#93cd7c;background-color:#dff0d8}.badge.delete{color:#ce8383;background-color:#f2dede}.collapse-button{float:right}.collapse-button .close{display:none;color:#428bca;cursor:pointer}.collapse-button .open{color:#428bca;cursor:pointer}.collapse-button.show .close{display:inline}.collapse-button.show .open{display:none}.collapse-content{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}nav{width:220px}.container{max-width:940px;margin-left:auto;margin-right:auto}.container .row .content{margin-left:244px;width:696px}.container .row:after{content:'';display:block;clear:both}.container-fluid nav{width:22%}.container-fluid .row .content{margin-left:24%}.container-fluid.triple nav{width:16.5%;padding-right:1px}.container-fluid.triple .row .content{position:relative;margin-left:16.5%;padding-left:24px}.middle:before,.middle:after{content:'';display:table}.middle:after{clear:both}.middle{box-sizing:border-box;width:51.5%;padding-right:12px}.right{box-sizing:border-box;float:right;width:48.5%;padding-left:12px}.right a{color:#428bca}.right h1,.right h2,.right h3,.right h4,.right h5,.right p,.right div{color:white}.right pre{background-color:#1d1f21;border:1px solid #1d1f21}.right pre code{color:#c5c8c6}.right .description{margin-top:12px}.triple .resource-heading{font-size:125%}.definition{margin-top:12px;margin-bottom:12px}.definition .method{font-weight:bold}.definition .method.get{color:#2e8ab8}.definition .method.head{color:#2e8ab8}.definition .method.options{color:#2e8ab8}.definition .method.post{color:#56b82e}.definition .method.put{color:#b8a22e}.definition .method.patch{color:#b8a22e}.definition .method.delete{color:#b82e2e}.definition .uri{word-break:break-all;word-wrap:break-word}.definition .hostname{opacity:.5}.example-names{background-color:#eee;padding:12px;border-radius:6px}.example-names .tab-button{cursor:pointer;color:black;border:1px solid #ddd;padding:6px;margin-left:12px}.example-names .tab-button.active{background-color:#d5d5d5}.right .example-names{background-color:#444}.right .example-names .tab-button{color:white;border:1px solid #666;border-radius:6px}.right .example-names .tab-button.active{background-color:#5e5e5e}#nav-background{position:fixed;left:0;top:0;bottom:0;width:16.5%;padding-right:14.4px;background-color:#fbfbfb;border-right:1px solid #f0f0f0;z-index:-1}#right-panel-background{position:absolute;right:-12px;top:-12px;bottom:-12px;width:48.6%;background-color:#333;z-index:-1}@media (max-width:1200px){nav{width:198px}.container{max-width:840px}.container .row .content{margin-left:224px;width:606px}}@media (max-width:992px){nav{width:169.4px}.container{max-width:720px}.container .row .content{margin-left:194px;width:526px}}@media (max-width:768px){nav{display:none}.container{width:95%;max-width:none}.container .row .content,.container-fluid .row .content,.container-fluid.triple .row .content{margin-left:auto;margin-right:auto;width:95%}#nav-background{display:none}#right-panel-background{width:48.6%}}.back-to-top{position:fixed;z-index:1;bottom:0;right:24px;padding:4px 8px;color:rgba(0,0,0,0.5);background-color:#f2f2f2;text-decoration:none !important;border-top:1px solid #d9d9d9;border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;border-top-left-radius:3px;border-top-right-radius:3px}.resource-group{padding:12px;margin-bottom:12px;background-color:white;border:1px solid #d9d9d9;border-radius:6px}.resource-group h2.group-heading,.resource-group .heading a{padding:12px;margin:-12px -12px 12px -12px;background-color:#f2f2f2;border-bottom:1px solid #d9d9d9;border-top-left-radius:6px;border-top-right-radius:6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.triple .content .resource-group{padding:0;border:none}.triple .content .resource-group h2.group-heading,.triple .content .resource-group .heading a{margin:0 0 12px 0;border:1px solid #d9d9d9}nav .resource-group .heading a{padding:12px;margin-bottom:0}nav .resource-group .collapse-content{padding:0}.action{margin-bottom:12px;padding:12px 12px 0 12px;overflow:hidden;border:1px solid transparent;border-radius:6px}.action h4.action-heading{padding:12px;margin:-12px -12px 12px -12px;border-bottom:1px solid transparent;border-top-left-radius:6px;border-top-right-radius:6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.action h4.action-heading .name{float:right;font-weight:normal}.action h4.action-heading .method{padding:6px 12px;margin-right:12px;border-radius:3px}.action h4.action-heading .method.get{color:#fff;background-color:#337ab7}.action h4.action-heading .method.head{color:#fff;background-color:#337ab7}.action h4.action-heading .method.options{color:#fff;background-color:#337ab7}.action h4.action-heading .method.put{color:#fff;background-color:#ed9c28}.action h4.action-heading .method.patch{color:#fff;background-color:#ed9c28}.action h4.action-heading .method.post{color:#fff;background-color:#5cb85c}.action h4.action-heading .method.delete{color:#fff;background-color:#d9534f}.action h4.action-heading code{color:#444;background-color:#f5f5f5;border-color:#cfcfcf;font-weight:normal}.action dl.inner{padding-bottom:2px}.action .title{border-bottom:1px solid white;margin:0 -12px -1px -12px;padding:12px}.action.get{border-color:#bce8f1}.action.get h4.action-heading{color:#337ab7;background:#d9edf7;border-bottom-color:#bce8f1}.action.head{border-color:#bce8f1}.action.head h4.action-heading{color:#337ab7;background:#d9edf7;border-bottom-color:#bce8f1}.action.options{border-color:#bce8f1}.action.options h4.action-heading{color:#337ab7;background:#d9edf7;border-bottom-color:#bce8f1}.action.post{border-color:#d6e9c6}.action.post h4.action-heading{color:#5cb85c;background:#dff0d8;border-bottom-color:#d6e9c6}.action.put{border-color:#faebcc}.action.put h4.action-heading{color:#ed9c28;background:#fcf8e3;border-bottom-color:#faebcc}.action.patch{border-color:#faebcc}.action.patch h4.action-heading{color:#ed9c28;background:#fcf8e3;border-bottom-color:#faebcc}.action.delete{border-color:#ebccd1}.action.delete h4.action-heading{color:#d9534f;background:#f2dede;border-bottom-color:#ebccd1}</style></head><body class="preload"><div id="nav-background"></div><div class="container-fluid triple"><div class="row"><nav><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#top">Overview</a></div><div class="collapse-content"><ul><li><a href="#header-authorization">Authorization</a></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#campaigns">Campaigns</a></div><div class="collapse-content"><ul><li><a href="#campaigns-campaigns">Campaigns</a><ul><li><a href="#campaigns-campaigns-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Campaigns</a></li><li><a href="#campaigns-campaigns-post"><span class="badge post"><i class="fa fa-plus"></i></span>Create New Campaign</a></li></ul></li><li><a href="#campaigns-campaign">Campaign</a><ul><li><a href="#campaigns-campaign-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Campaign</a></li><li><a href="#campaigns-campaign-delete"><span class="badge delete"><i class="fa fa-times"></i></span>Delete a Campaign</a></li></ul></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#templates">Templates</a></div><div class="collapse-content"><ul><li><a href="#templates-templates">Templates</a><ul><li><a href="#templates-templates-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Templates</a></li><li><a href="#templates-templates-post"><span class="badge post"><i class="fa fa-plus"></i></span>Create New Template</a></li></ul></li><li><a href="#templates-template">Template</a><ul><li><a href="#templates-template-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Template</a></li><li><a href="#templates-template-delete"><span class="badge delete"><i class="fa fa-times"></i></span>Delete a Template</a></li></ul></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#groups">Groups</a></div><div class="collapse-content"><ul><li><a href="#groups-groups">Groups</a><ul><li><a href="#groups-groups-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Groups</a></li><li><a href="#groups-groups-post"><span class="badge post"><i class="fa fa-plus"></i></span>Create New Group</a></li></ul></li><li><a href="#groups-group">Group</a><ul><li><a href="#groups-group-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Group</a></li><li><a href="#groups-group-delete"><span class="badge delete"><i class="fa fa-times"></i></span>Delete a Group</a></li></ul></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#sending-profiles">Sending Profiles</a></div><div class="collapse-content"><ul><li><a href="#sending-profiles-sending-profiles">Sending Profiles</a><ul><li><a href="#sending-profiles-sending-profiles-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Sending Profiles</a></li><li><a href="#sending-profiles-sending-profiles-post"><span class="badge post"><i class="fa fa-plus"></i></span>Create New Sending Profile</a></li></ul></li><li><a href="#sending-profiles-sending-profile">Sending Profile</a><ul><li><a href="#sending-profiles-sending-profile-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Sending Profile</a></li><li><a href="#sending-profiles-sending-profile-delete"><span class="badge delete"><i class="fa fa-times"></i></span>Delete a Sending Profile</a></li></ul></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#pages">Pages</a></div><div class="collapse-content"><ul><li><a href="#pages-pages">Pages</a><ul><li><a href="#pages-pages-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Pages</a></li><li><a href="#pages-pages-post"><span class="badge post"><i class="fa fa-plus"></i></span>Create New Page</a></li></ul></li><li><a href="#pages-page">Page</a><ul><li><a href="#pages-page-get"><span class="badge get"><i class="fa fa-arrow-down"></i></span>Get Page</a></li><li><a href="#pages-page-put"><span class="badge put"><i class="fa fa-pencil"></i></span>Put Page</a></li><li><a href="#pages-page-delete"><span class="badge delete"><i class="fa fa-times"></i></span>Delete a Page</a></li></ul></li></ul></div></div><div class="resource-group"><div class="heading"><div class="chevron"><i class="open fa fa-angle-down"></i></div><a href="#import">Import</a></div><div class="collapse-content"><ul><li><a href="#import-group-post"><span class="badge post"><i class="fa fa-plus"></i></span>Import a Group</a></li><li><a href="#import-email-post"><span class="badge post"><i class="fa fa-plus"></i></span>Import an Email</a></li><li><a href="#import-site-post"><span class="badge post"><i class="fa fa-plus"></i></span>Import a Site</a></li></ul></div></div><p style="text-align: center; word-wrap: break-word;"><a href="http://localhost:3333/api">http://localhost:3333/api</a></p></nav><div class="content"><div id="right-panel-background"></div><div class="middle"><header><h1 id="top">Gophish API</h1></header></div><div class="right"><h5>API Endpoint</h5><a href="http://localhost:3333/api">http://localhost:3333/api</a></div><div class="middle"><p>Gophish was built from the ground-up with a JSON API that makes it easy for developers and sysadmins to automate simulated phishing campaigns.</p> 3 <p>These docs describe how to use the <a href="https://github.com/gophish/gophish">gophish</a> API.</p> 4 <div class="note"> 5 <h2 id="header-authorization">Authorization <a class="permalink" href="#header-authorization" aria-hidden="true">¶</a></h2> 6 <p>All API requests require the use of a generated API key. You can find your API key, or generate a new one, by navigating to the /settings endpoint, or clicking the “Settings” sidebar item.</p> 7 <p>When making requests, simply append the <code>api_key=[API_KEY]</code> as a GET parameter to authorize yourself to the API.</p> 8 <pre><code class="language-http">GET /api/campaigns/?api_key=12345678901234567890123456789012</code></pre> 9 <p>If no API key is provided, you’ll receive the following response when attempting to make requests to API endpoints:</p> 10 <pre><code class="language-json">{ 11 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"API Key not set"</span></span>, 12 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 13 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 14 </span>}</code></pre> 15 </div> 16 </div><div class="middle"><section id="campaigns" class="resource-group"><h2 class="group-heading">Campaigns <a href="#campaigns" class="permalink">¶</a></h2></section></div><div class="middle"><div id="campaigns-campaigns" class="resource"><h3 class="resource-heading">Campaigns <a href="#campaigns-campaigns" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/campaigns</span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ 17 { 18 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 19 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Campaign"</span></span>, 20 "<span class="hljs-attribute">created_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 21 "<span class="hljs-attribute">completed_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 22 "<span class="hljs-attribute">template</span>": <span class="hljs-value">{ 23 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 24 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 25 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 26 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 27 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 28 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 29 { 30 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 31 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 32 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">"Hello, world!"</span></span>, 33 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 34 </span>} 35 ]</span>, 36 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 37 </span>}</span>, 38 "<span class="hljs-attribute">page</span>": <span class="hljs-value">{ 39 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 40 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 41 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 42 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 43 </span>}</span>, 44 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Emails Sent"</span></span>, 45 "<span class="hljs-attribute">results</span>": <span class="hljs-value">[ 46 { 47 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 48 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 49 "<span class="hljs-attribute">first_name</span>": <span class="hljs-value"><span class="hljs-string">"John"</span></span>, 50 "<span class="hljs-attribute">last_name</span>": <span class="hljs-value"><span class="hljs-string">"Doe"</span></span>, 51 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Email Sent"</span></span>, 52 "<span class="hljs-attribute">ip</span>": <span class="hljs-value"><span class="hljs-string">"1.2.3.4"</span></span>, 53 "<span class="hljs-attribute">latitude</span>": <span class="hljs-value"><span class="hljs-number">0</span></span>, 54 "<span class="hljs-attribute">longitude</span>": <span class="hljs-value"><span class="hljs-number">0</span> 55 </span>} 56 ]</span>, 57 "<span class="hljs-attribute">timeline</span>": <span class="hljs-value">[ 58 { 59 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 60 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 61 "<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 62 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Campaign Created"</span> 63 </span>} 64 ]</span>, 65 "<span class="hljs-attribute">smtp</span>": <span class="hljs-value">{ 66 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 67 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 68 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 69 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 70 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 71 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 72 </span>}</span>, 73 "<span class="hljs-attribute">url</span>": <span class="hljs-value"><span class="hljs-string">"http://foo.bar"</span> 74 </span>} 75 ]</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 76 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 77 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span> 78 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[]</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="campaigns-campaigns-get" class="action get"><h4 class="action-heading"><div class="name">Get Campaigns</div><a href="#campaigns-campaigns-get" class="method get">GET</a><code class="uri">/campaigns</code></h4><p>Get a list of campaigns.</p> 79 <p>Campaigns object contain the resources needed for gophish to launch and track a simulated phishing campaign.</p> 80 <p>Campaigns have the following attributes:</p> 81 <ul> 82 <li> 83 <p><code>id</code> : 1 (number, required) - Unique identifier</p> 84 </li> 85 <li> 86 <p><code>name</code> : Example Campaign (string, required) - Title of Campaign</p> 87 </li> 88 <li> 89 <p><code>created_date</code> : 2015-1-1T01:02:03.000000Z (datetime) - Date the Campaign was created</p> 90 </li> 91 <li> 92 <p><code>completed_date</code> : 2015-1-1T01:02:03.000000Z (datetime) - Date the Campaign was completed</p> 93 </li> 94 <li> 95 <p><code>template</code> : <a href="#templates">Template</a></p> 96 </li> 97 <li> 98 <p><code>page</code> : <a href="#pages">Page</a> (required) - Landing page for users who click the phishing link</p> 99 </li> 100 <li> 101 <p><code>status</code> : Emails Sent (string) - The current status of the campaign</p> 102 </li> 103 <li> 104 <p><code>results</code> : array[Result] - List of Results for the campaign</p> 105 </li> 106 <li> 107 <p><code>timeline</code> : array[Event] - List of Events for the campaign</p> 108 </li> 109 <li> 110 <p><code>smtp</code> : <a href="#sending-profiles">SendingProfile</a></p> 111 </li> 112 <li> 113 <p><code>url</code> : <a href="http://foo.bar">http://foo.bar</a> (required, string) - The URL used in the Template sent to us 114 ers</p> 115 </li> 116 </ul> 117 <p>The results of the campaign are stored in the <code>results</code> field. Each result has the following attributes:</p> 118 <ul> 119 <li> 120 <p><code>id</code> : 1 (number, required) - Unique identifier</p> 121 </li> 122 <li> 123 <p><code>email</code> : <a href="mailto:foo@example.com">foo@example.com</a> - Email address of the target</p> 124 </li> 125 <li> 126 <p><code>first_name</code> : John - First name of the target</p> 127 </li> 128 <li> 129 <p><code>last_name</code> : Doe - Last name of the target</p> 130 </li> 131 <li> 132 <p><code>status</code> : Email Sent - The status of the result</p> 133 </li> 134 <li> 135 <p><code>ip</code> : 1.2.3.4 - The IP address that created the event (if any)</p> 136 </li> 137 <li> 138 <p><code>latitude</code> : 0.0000- The latitude of the IP address</p> 139 </li> 140 <li> 141 <p><code>longitude</code> : 0.0000 - The longitude of the IP address</p> 142 </li> 143 </ul> 144 <p>Each campaign also keeps a timeline of events that occur, such as clicking a link, opening an email, etc. These events each have the following attributes:</p> 145 <ul> 146 <li> 147 <p><code>email</code> : <a href="mailto:foo@example.com">foo@example.com</a> - Email address of the target</p> 148 </li> 149 <li> 150 <p><code>time</code> : 2015-1-1T01:02:03.000000Z (datetime) - The timestamp the event was created</p> 151 </li> 152 <li> 153 <p><code>message</code> : Campaign Created (string) - The event message</p> 154 </li> 155 </ul> 156 </div></div><hr class="split"><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/campaigns</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 157 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 158 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Campaign"</span></span>, 159 "<span class="hljs-attribute">created_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 160 "<span class="hljs-attribute">completed_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 161 "<span class="hljs-attribute">template</span>": <span class="hljs-value">{ 162 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 163 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 164 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 165 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 166 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 167 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 168 { 169 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 170 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 171 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">""</span></span>, 172 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 173 </span>} 174 ]</span>, 175 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 176 </span>}</span>, 177 "<span class="hljs-attribute">page</span>": <span class="hljs-value">{ 178 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 179 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 180 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 181 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 182 </span>}</span>, 183 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Emails Sent"</span></span>, 184 "<span class="hljs-attribute">results</span>": <span class="hljs-value">[ 185 { 186 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 187 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 188 "<span class="hljs-attribute">first_name</span>": <span class="hljs-value"><span class="hljs-string">"John"</span></span>, 189 "<span class="hljs-attribute">last_name</span>": <span class="hljs-value"><span class="hljs-string">"Doe"</span></span>, 190 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Email Sent"</span></span>, 191 "<span class="hljs-attribute">ip</span>": <span class="hljs-value"><span class="hljs-string">"1.2.3.4"</span></span>, 192 "<span class="hljs-attribute">latitude</span>": <span class="hljs-value"><span class="hljs-number">0</span></span>, 193 "<span class="hljs-attribute">longitude</span>": <span class="hljs-value"><span class="hljs-number">0</span> 194 </span>} 195 ]</span>, 196 "<span class="hljs-attribute">timeline</span>": <span class="hljs-value">[ 197 { 198 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 199 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 200 "<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 201 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Campaign Created"</span> 202 </span>} 203 ]</span>, 204 "<span class="hljs-attribute">smtp</span>": <span class="hljs-value">{ 205 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 206 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 207 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 208 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 209 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 210 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 211 </span>}</span>, 212 "<span class="hljs-attribute">url</span>": <span class="hljs-value"><span class="hljs-string">"http://foo.bar"</span> 213 </span>}</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 214 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 215 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Campaign"</span></span>, 216 "<span class="hljs-attribute">created_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 217 "<span class="hljs-attribute">completed_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 218 "<span class="hljs-attribute">template</span>": <span class="hljs-value">{ 219 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 220 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 221 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 222 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 223 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 224 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 225 { 226 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 227 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 228 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">"Hello, world!"</span></span>, 229 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 230 </span>} 231 ]</span>, 232 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 233 </span>}</span>, 234 "<span class="hljs-attribute">page</span>": <span class="hljs-value">{ 235 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 236 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 237 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 238 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 239 </span>}</span>, 240 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Emails Sent"</span></span>, 241 "<span class="hljs-attribute">results</span>": <span class="hljs-value">[ 242 { 243 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 244 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 245 "<span class="hljs-attribute">first_name</span>": <span class="hljs-value"><span class="hljs-string">"John"</span></span>, 246 "<span class="hljs-attribute">last_name</span>": <span class="hljs-value"><span class="hljs-string">"Doe"</span></span>, 247 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Email Sent"</span></span>, 248 "<span class="hljs-attribute">ip</span>": <span class="hljs-value"><span class="hljs-string">"1.2.3.4"</span></span>, 249 "<span class="hljs-attribute">latitude</span>": <span class="hljs-value"><span class="hljs-number">0</span></span>, 250 "<span class="hljs-attribute">longitude</span>": <span class="hljs-value"><span class="hljs-number">0</span> 251 </span>} 252 ]</span>, 253 "<span class="hljs-attribute">timeline</span>": <span class="hljs-value">[ 254 { 255 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 256 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 257 "<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 258 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Campaign Created"</span> 259 </span>} 260 ]</span>, 261 "<span class="hljs-attribute">smtp</span>": <span class="hljs-value">{ 262 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 263 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 264 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 265 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 266 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 267 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 268 </span>}</span>, 269 "<span class="hljs-attribute">url</span>": <span class="hljs-value"><span class="hljs-string">"http://foo.bar"</span> 270 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 271 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 272 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 273 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 274 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 275 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 276 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 277 </span>}</span>, 278 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 279 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 280 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Title of Campaign"</span> 281 </span>}</span>, 282 "<span class="hljs-attribute">created_date</span>": <span class="hljs-value">{ 283 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 284 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Campaign was created"</span> 285 </span>}</span>, 286 "<span class="hljs-attribute">completed_date</span>": <span class="hljs-value">{ 287 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 288 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Campaign was completed"</span> 289 </span>}</span>, 290 "<span class="hljs-attribute">template</span>": <span class="hljs-value">{ 291 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 292 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 293 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 294 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 295 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 296 </span>}</span>, 297 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 298 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 299 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of template"</span> 300 </span>}</span>, 301 "<span class="hljs-attribute">subject</span>": <span class="hljs-value">{ 302 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 303 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Subject of email sent to users"</span> 304 </span>}</span>, 305 "<span class="hljs-attribute">text</span>": <span class="hljs-value">{ 306 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 307 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Raw text of email sent to users"</span> 308 </span>}</span>, 309 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 310 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 311 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of email sent to users"</span> 312 </span>}</span>, 313 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">{ 314 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 315 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The attachments sent with the email template"</span> 316 </span>}</span>, 317 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 318 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 319 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Template was last modified"</span> 320 </span>} 321 </span>}</span>, 322 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 323 <span class="hljs-string">"id"</span>, 324 <span class="hljs-string">"name"</span> 325 ] 326 </span>}</span>, 327 "<span class="hljs-attribute">page</span>": <span class="hljs-value">{ 328 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 329 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 330 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 331 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 332 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 333 </span>}</span>, 334 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 335 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 336 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of Page"</span> 337 </span>}</span>, 338 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 339 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 340 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the landing page users hit when clicking links in the email template"</span> 341 </span>}</span>, 342 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 343 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 344 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Page was last modified"</span> 345 </span>} 346 </span>}</span>, 347 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 348 <span class="hljs-string">"id"</span>, 349 <span class="hljs-string">"name"</span>, 350 <span class="hljs-string">"html"</span> 351 ] 352 </span>}</span>, 353 "<span class="hljs-attribute">status</span>": <span class="hljs-value">{ 354 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 355 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The current status of the campaign"</span> 356 </span>}</span>, 357 "<span class="hljs-attribute">results</span>": <span class="hljs-value">{ 358 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 359 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The results of the campaign"</span> 360 </span>}</span>, 361 "<span class="hljs-attribute">timeline</span>": <span class="hljs-value">{ 362 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 363 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The event timeline"</span> 364 </span>}</span>, 365 "<span class="hljs-attribute">smtp</span>": <span class="hljs-value">{ 366 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 367 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 368 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 369 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 370 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 371 </span>}</span>, 372 "<span class="hljs-attribute">host</span>": <span class="hljs-value">{ 373 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 374 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The hostname and port for the SMTP server"</span> 375 </span>}</span>, 376 "<span class="hljs-attribute">username</span>": <span class="hljs-value">{ 377 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 378 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The username used for SMTP authentication"</span> 379 </span>}</span>, 380 "<span class="hljs-attribute">password</span>": <span class="hljs-value">{ 381 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 382 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The password used for SMTP authentication"</span> 383 </span>}</span>, 384 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value">{ 385 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 386 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The \"From\" address to spoof"</span> 387 </span>}</span>, 388 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value">{ 389 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 390 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Whether or not to ignore certificate errors"</span> 391 </span>} 392 </span>}</span>, 393 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 394 <span class="hljs-string">"id"</span>, 395 <span class="hljs-string">"host"</span>, 396 <span class="hljs-string">"username"</span>, 397 <span class="hljs-string">"password"</span>, 398 <span class="hljs-string">"from_address"</span> 399 ]</span>, 400 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The Sending Profile settings used in the campaign"</span> 401 </span>}</span>, 402 "<span class="hljs-attribute">url</span>": <span class="hljs-value">{ 403 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 404 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The URL used in the Template sent to users"</span> 405 </span>} 406 </span>}</span>, 407 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 408 <span class="hljs-string">"id"</span>, 409 <span class="hljs-string">"name"</span>, 410 <span class="hljs-string">"status"</span>, 411 <span class="hljs-string">"url"</span> 412 ] 413 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 414 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 415 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 416 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 417 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 418 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 419 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 420 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 421 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 422 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 423 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 424 </span>}</span>, 425 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 426 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 427 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 428 </span>}</span>, 429 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 430 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 431 </span>} 432 </span>} 433 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="campaigns-campaigns-post" class="action post"><h4 class="action-heading"><div class="name">Create New Campaign</div><a href="#campaigns-campaigns-post" class="method post">POST</a><code class="uri">/campaigns</code></h4><p>Create a new campaign.</p> 434 </div></div><hr class="split"><div class="middle"><div id="campaigns-campaign" class="resource"><h3 class="resource-heading">Campaign <a href="#campaigns-campaign" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/campaigns/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 435 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 436 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Campaign"</span></span>, 437 "<span class="hljs-attribute">created_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 438 "<span class="hljs-attribute">completed_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 439 "<span class="hljs-attribute">template</span>": <span class="hljs-value">{ 440 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 441 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 442 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 443 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 444 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 445 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 446 { 447 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 448 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 449 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">"Hello, world!"</span></span>, 450 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 451 </span>} 452 ]</span>, 453 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 454 </span>}</span>, 455 "<span class="hljs-attribute">page</span>": <span class="hljs-value">{ 456 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 457 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 458 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 459 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 460 </span>}</span>, 461 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Emails Sent"</span></span>, 462 "<span class="hljs-attribute">results</span>": <span class="hljs-value">[ 463 { 464 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 465 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 466 "<span class="hljs-attribute">first_name</span>": <span class="hljs-value"><span class="hljs-string">"John"</span></span>, 467 "<span class="hljs-attribute">last_name</span>": <span class="hljs-value"><span class="hljs-string">"Doe"</span></span>, 468 "<span class="hljs-attribute">status</span>": <span class="hljs-value"><span class="hljs-string">"Email Sent"</span></span>, 469 "<span class="hljs-attribute">ip</span>": <span class="hljs-value"><span class="hljs-string">"1.2.3.4"</span></span>, 470 "<span class="hljs-attribute">latitude</span>": <span class="hljs-value"><span class="hljs-number">0</span></span>, 471 "<span class="hljs-attribute">longitude</span>": <span class="hljs-value"><span class="hljs-number">0</span> 472 </span>} 473 ]</span>, 474 "<span class="hljs-attribute">timeline</span>": <span class="hljs-value">[ 475 { 476 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 477 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"foo@example.com"</span></span>, 478 "<span class="hljs-attribute">time</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 479 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Campaign Created"</span> 480 </span>} 481 ]</span>, 482 "<span class="hljs-attribute">smtp</span>": <span class="hljs-value">{ 483 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 484 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 485 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 486 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 487 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 488 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 489 </span>}</span>, 490 "<span class="hljs-attribute">url</span>": <span class="hljs-value"><span class="hljs-string">"http://foo.bar"</span> 491 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 492 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 493 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 494 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 495 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 496 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 497 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 498 </span>}</span>, 499 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 500 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 501 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Title of Campaign"</span> 502 </span>}</span>, 503 "<span class="hljs-attribute">created_date</span>": <span class="hljs-value">{ 504 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 505 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Campaign was created"</span> 506 </span>}</span>, 507 "<span class="hljs-attribute">completed_date</span>": <span class="hljs-value">{ 508 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 509 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Campaign was completed"</span> 510 </span>}</span>, 511 "<span class="hljs-attribute">template</span>": <span class="hljs-value">{ 512 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 513 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 514 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 515 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 516 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 517 </span>}</span>, 518 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 519 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 520 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of template"</span> 521 </span>}</span>, 522 "<span class="hljs-attribute">subject</span>": <span class="hljs-value">{ 523 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 524 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Subject of email sent to users"</span> 525 </span>}</span>, 526 "<span class="hljs-attribute">text</span>": <span class="hljs-value">{ 527 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 528 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Raw text of email sent to users"</span> 529 </span>}</span>, 530 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 531 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 532 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of email sent to users"</span> 533 </span>}</span>, 534 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">{ 535 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 536 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The attachments sent with the email template"</span> 537 </span>}</span>, 538 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 539 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 540 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Template was last modified"</span> 541 </span>} 542 </span>}</span>, 543 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 544 <span class="hljs-string">"id"</span>, 545 <span class="hljs-string">"name"</span> 546 ] 547 </span>}</span>, 548 "<span class="hljs-attribute">page</span>": <span class="hljs-value">{ 549 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 550 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 551 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 552 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 553 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 554 </span>}</span>, 555 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 556 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 557 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of Page"</span> 558 </span>}</span>, 559 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 560 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 561 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the landing page users hit when clicking links in the email template"</span> 562 </span>}</span>, 563 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 564 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 565 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Page was last modified"</span> 566 </span>} 567 </span>}</span>, 568 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 569 <span class="hljs-string">"id"</span>, 570 <span class="hljs-string">"name"</span>, 571 <span class="hljs-string">"html"</span> 572 ] 573 </span>}</span>, 574 "<span class="hljs-attribute">status</span>": <span class="hljs-value">{ 575 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 576 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The current status of the campaign"</span> 577 </span>}</span>, 578 "<span class="hljs-attribute">results</span>": <span class="hljs-value">{ 579 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 580 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The results of the campaign"</span> 581 </span>}</span>, 582 "<span class="hljs-attribute">timeline</span>": <span class="hljs-value">{ 583 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 584 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The event timeline"</span> 585 </span>}</span>, 586 "<span class="hljs-attribute">smtp</span>": <span class="hljs-value">{ 587 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 588 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 589 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 590 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 591 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 592 </span>}</span>, 593 "<span class="hljs-attribute">host</span>": <span class="hljs-value">{ 594 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 595 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The hostname and port for the SMTP server"</span> 596 </span>}</span>, 597 "<span class="hljs-attribute">username</span>": <span class="hljs-value">{ 598 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 599 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The username used for SMTP authentication"</span> 600 </span>}</span>, 601 "<span class="hljs-attribute">password</span>": <span class="hljs-value">{ 602 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 603 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The password used for SMTP authentication"</span> 604 </span>}</span>, 605 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value">{ 606 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 607 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The \"From\" address to spoof"</span> 608 </span>}</span>, 609 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value">{ 610 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 611 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Whether or not to ignore certificate errors"</span> 612 </span>} 613 </span>}</span>, 614 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 615 <span class="hljs-string">"id"</span>, 616 <span class="hljs-string">"host"</span>, 617 <span class="hljs-string">"username"</span>, 618 <span class="hljs-string">"password"</span>, 619 <span class="hljs-string">"from_address"</span> 620 ]</span>, 621 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The Sending Profile settings used in the campaign"</span> 622 </span>}</span>, 623 "<span class="hljs-attribute">url</span>": <span class="hljs-value">{ 624 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 625 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The URL used in the Template sent to users"</span> 626 </span>} 627 </span>}</span>, 628 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 629 <span class="hljs-string">"id"</span>, 630 <span class="hljs-string">"name"</span>, 631 <span class="hljs-string">"status"</span>, 632 <span class="hljs-string">"url"</span> 633 ] 634 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 635 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Campaign not found"</span></span>, 636 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 637 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 638 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="campaigns-campaign-get" class="action get"><h4 class="action-heading"><div class="name">Get Campaign</div><a href="#campaigns-campaign-get" class="method get">GET</a><code class="uri">/campaigns/{id}</code></h4><p>Get a campaign by its ID.</p> 639 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Campaign ID</p> 640 </dd></dl></div></div></div><hr class="split"><div class="right"><div class="definition"><span class="method delete">DELETE</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/campaigns/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 641 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Campaign deleted successfully!"</span></span>, 642 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, 643 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 644 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 645 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Campaign not found"</span></span>, 646 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 647 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 648 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="campaigns-campaign-delete" class="action delete"><h4 class="action-heading"><div class="name">Delete a Campaign</div><a href="#campaigns-campaign-delete" class="method delete">DELETE</a><code class="uri">/campaigns/{id}</code></h4><p>Delete a campaign by its ID.</p> 649 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Campaign ID</p> 650 </dd></dl></div></div></div><hr class="split"><div class="middle"><section id="templates" class="resource-group"><h2 class="group-heading">Templates <a href="#templates" class="permalink">¶</a></h2></section></div><div class="middle"><div id="templates-templates" class="resource"><h3 class="resource-heading">Templates <a href="#templates-templates" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/templates</span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ 651 { 652 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 653 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 654 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 655 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 656 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 657 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 658 { 659 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 660 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 661 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">"Hello, world!"</span></span>, 662 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 663 </span>} 664 ]</span>, 665 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 666 </span>} 667 ]</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 668 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 669 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span> 670 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[]</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="templates-templates-get" class="action get"><h4 class="action-heading"><div class="name">Get Templates</div><a href="#templates-templates-get" class="method get">GET</a><code class="uri">/templates</code></h4><p>Get a list of templates.</p> 671 <p>Templates define what email content is sent to targets during campaigns. It contains the subject of the email as well as the HTML and text content of the email.</p> 672 <ul> 673 <li> 674 <p><code>id</code>: 1 (number, required) - Unique identifier</p> 675 </li> 676 <li> 677 <p><code>name</code>: Example Template (string, required) - Name of template</p> 678 </li> 679 <li> 680 <p><code>subject</code>: Example email template subject (string) - Subject of email sent to users</p> 681 </li> 682 <li> 683 <p><code>text</code>: <code>This is a test message!</code> (string) - Raw text of email sent to users</p> 684 </li> 685 <li> 686 <p><code>html</code>: <code><html><head></head><body>This is a test message!</body></html></code> (string) - HTML of email sent to users</p> 687 </li> 688 <li> 689 <p><code>attachments</code>: array[Attachment] - The attachments sent with the email template</p> 690 </li> 691 <li> 692 <p><code>modified_date</code>: <code>2015-01-01T01:02:03.000000Z</code> (string) - Date the Template was last modified</p> 693 </li> 694 </ul> 695 <p>You can also attach files or payloads to the emails that you send. These are attached as a list of Attachment objects.</p> 696 <p>Attachments have the following attributes:</p> 697 <ul> 698 <li> 699 <p><code>id</code>: 1 (required, number) - Unique identifier</p> 700 </li> 701 <li> 702 <p><code>name</code>: Example Attachment (required) - Filename of Attachment</p> 703 </li> 704 <li> 705 <p><code>content</code>: Base64 encoded attachment content</p> 706 </li> 707 <li> 708 <p><code>type</code>: <code>text/plain</code> - MIME type of the Attachment</p> 709 </li> 710 </ul> 711 </div></div><hr class="split"><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/templates</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 712 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 713 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 714 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 715 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 716 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 717 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 718 { 719 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 720 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 721 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">"Hello, world!"</span></span>, 722 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 723 </span>} 724 ]</span>, 725 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 726 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 727 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 728 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 729 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 730 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 731 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 732 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 733 </span>}</span>, 734 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 735 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 736 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of template"</span> 737 </span>}</span>, 738 "<span class="hljs-attribute">subject</span>": <span class="hljs-value">{ 739 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 740 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Subject of email sent to users"</span> 741 </span>}</span>, 742 "<span class="hljs-attribute">text</span>": <span class="hljs-value">{ 743 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 744 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Raw text of email sent to users"</span> 745 </span>}</span>, 746 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 747 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 748 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of email sent to users"</span> 749 </span>}</span>, 750 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">{ 751 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 752 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The attachments sent with the email template"</span> 753 </span>}</span>, 754 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 755 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 756 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Template was last modified"</span> 757 </span>} 758 </span>}</span>, 759 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 760 <span class="hljs-string">"id"</span>, 761 <span class="hljs-string">"name"</span> 762 ] 763 </span>}</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 764 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 765 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 766 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 767 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 768 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 769 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 770 { 771 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 772 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 773 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">"Hello, world!"</span></span>, 774 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 775 </span>} 776 ]</span>, 777 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 778 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 779 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 780 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 781 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 782 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 783 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 784 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 785 </span>}</span>, 786 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 787 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 788 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of template"</span> 789 </span>}</span>, 790 "<span class="hljs-attribute">subject</span>": <span class="hljs-value">{ 791 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 792 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Subject of email sent to users"</span> 793 </span>}</span>, 794 "<span class="hljs-attribute">text</span>": <span class="hljs-value">{ 795 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 796 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Raw text of email sent to users"</span> 797 </span>}</span>, 798 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 799 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 800 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of email sent to users"</span> 801 </span>}</span>, 802 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">{ 803 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 804 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The attachments sent with the email template"</span> 805 </span>}</span>, 806 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 807 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 808 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Template was last modified"</span> 809 </span>} 810 </span>}</span>, 811 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 812 <span class="hljs-string">"id"</span>, 813 <span class="hljs-string">"name"</span> 814 ] 815 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 816 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 817 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 818 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 819 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 820 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 821 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 822 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 823 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 824 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 825 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 826 </span>}</span>, 827 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 828 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 829 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 830 </span>}</span>, 831 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 832 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 833 </span>} 834 </span>} 835 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="templates-templates-post" class="action post"><h4 class="action-heading"><div class="name">Create New Template</div><a href="#templates-templates-post" class="method post">POST</a><code class="uri">/templates</code></h4><p>Create a new template</p> 836 <div class="note"> 837 <p><strong>Importing an Existing Email</strong></p> 838 <p>What better way to make pixel-perfect emails than by importing an existing email you already have sitting in your inbox?</p> 839 <p>Using the <a href="#import-email">Import Email</a> endpoint, you can take a raw email and import it as a template into gophish.</p> 840 </div> 841 </div></div><hr class="split"><div class="middle"><div id="templates-template" class="resource"><h3 class="resource-heading">Template <a href="#templates-template" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/templates/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 842 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 843 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Template"</span></span>, 844 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Example email template subject"</span></span>, 845 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"This is a test message!"</span></span>, 846 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 847 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">[ 848 { 849 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 850 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Attachment"</span></span>, 851 "<span class="hljs-attribute">content</span>": <span class="hljs-value"><span class="hljs-string">"Hello, world!"</span></span>, 852 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"text/plain"</span> 853 </span>} 854 ]</span>, 855 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 856 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 857 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 858 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 859 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 860 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 861 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 862 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 863 </span>}</span>, 864 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 865 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 866 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of template"</span> 867 </span>}</span>, 868 "<span class="hljs-attribute">subject</span>": <span class="hljs-value">{ 869 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 870 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Subject of email sent to users"</span> 871 </span>}</span>, 872 "<span class="hljs-attribute">text</span>": <span class="hljs-value">{ 873 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 874 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Raw text of email sent to users"</span> 875 </span>}</span>, 876 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 877 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 878 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of email sent to users"</span> 879 </span>}</span>, 880 "<span class="hljs-attribute">attachments</span>": <span class="hljs-value">{ 881 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span></span>, 882 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The attachments sent with the email template"</span> 883 </span>}</span>, 884 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 885 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 886 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Template was last modified"</span> 887 </span>} 888 </span>}</span>, 889 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 890 <span class="hljs-string">"id"</span>, 891 <span class="hljs-string">"name"</span> 892 ] 893 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 894 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Template not found"</span></span>, 895 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 896 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 897 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="templates-template-get" class="action get"><h4 class="action-heading"><div class="name">Get Template</div><a href="#templates-template-get" class="method get">GET</a><code class="uri">/templates/{id}</code></h4><p>Get a template by its ID.</p> 898 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Template ID</p> 899 </dd></dl></div></div></div><hr class="split"><div class="right"><div class="definition"><span class="method delete">DELETE</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/templates/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 900 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Template deleted successfully!"</span></span>, 901 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, 902 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 903 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 904 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Template not found"</span></span>, 905 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 906 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 907 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="templates-template-delete" class="action delete"><h4 class="action-heading"><div class="name">Delete a Template</div><a href="#templates-template-delete" class="method delete">DELETE</a><code class="uri">/templates/{id}</code></h4><p>Delete a template by its ID.</p> 908 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Template ID</p> 909 </dd></dl></div></div></div><hr class="split"><div class="middle"><section id="groups" class="resource-group"><h2 class="group-heading">Groups <a href="#groups" class="permalink">¶</a></h2></section></div><div class="middle"><div id="groups-groups" class="resource"><h3 class="resource-heading">Groups <a href="#groups-groups" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/groups</span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ 910 { 911 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 912 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Group"</span></span>, 913 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 914 "<span class="hljs-attribute">targets</span>": <span class="hljs-value"><span class="hljs-string">"array[Target]"</span> 915 </span>} 916 ]</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 917 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 918 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span> 919 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[]</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="groups-groups-get" class="action get"><h4 class="action-heading"><div class="name">Get Groups</div><a href="#groups-groups-get" class="method get">GET</a><code class="uri">/groups</code></h4><p>Get a list of groups.</p> 920 <p>Groups contain the details for one or more users targeted in the simulated phishing campaign. Groups contain the following attributes:</p> 921 <ul> 922 <li> 923 <p><code>id</code>: 1 (required, number) - Unique identifier</p> 924 </li> 925 <li> 926 <p><code>name</code>: Example Group (required) - Name of the Group</p> 927 </li> 928 <li> 929 <p><code>modified_date</code>: <code>2015-01-01T01:02:03.000000Z</code> (string) - Date the Group was last modified</p> 930 </li> 931 <li> 932 <p><code>targets</code>: Attributes (array[Target]) (required) - The targets in the group</p> 933 </li> 934 </ul> 935 <p>Each target contains the following attributes:</p> 936 <ul> 937 <li> 938 <p><code>id</code>: 1 (required, number) - Unique identifier</p> 939 </li> 940 <li> 941 <p><code>first_name</code>: John - First name of Target</p> 942 </li> 943 <li> 944 <p><code>last_name</code>: Doe - Last name of Target</p> 945 </li> 946 <li> 947 <p><code>email</code>: <a href="mailto:john.doe@example.com">john.doe@example.com</a> - Email address of Target</p> 948 </li> 949 <li> 950 <p><code>position</code>: System Administrator - Company position of the Target</p> 951 </li> 952 </ul> 953 <div class="note"> 954 <p><strong>Have A Lot of Users to Import?</strong></p> 955 <p>If you have all your targets in a CSV file, you can bulk import them into a group using the <a href="#import-group">Import CSV</a> endpoint.</p> 956 <p>In the future, we plan to add other importation methods to make setting up groups a breeze.</p> 957 </div> 958 </div></div><hr class="split"><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/groups</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 959 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 960 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Group"</span></span>, 961 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 962 "<span class="hljs-attribute">targets</span>": <span class="hljs-value"><span class="hljs-string">"array[Target]"</span> 963 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 964 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 965 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 966 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 967 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 968 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 969 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 970 </span>}</span>, 971 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 972 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 973 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of the Group"</span> 974 </span>}</span>, 975 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 976 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 977 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Group was last modified"</span> 978 </span>}</span>, 979 "<span class="hljs-attribute">targets</span>": <span class="hljs-value">{ 980 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 981 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The targets in the group"</span> 982 </span>} 983 </span>}</span>, 984 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 985 <span class="hljs-string">"id"</span>, 986 <span class="hljs-string">"name"</span>, 987 <span class="hljs-string">"targets"</span> 988 ] 989 </span>}</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 990 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 991 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Group"</span></span>, 992 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 993 "<span class="hljs-attribute">targets</span>": <span class="hljs-value"><span class="hljs-string">"array[Target]"</span> 994 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 995 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 996 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 997 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 998 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 999 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1000 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1001 </span>}</span>, 1002 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 1003 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1004 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of the Group"</span> 1005 </span>}</span>, 1006 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 1007 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1008 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Group was last modified"</span> 1009 </span>}</span>, 1010 "<span class="hljs-attribute">targets</span>": <span class="hljs-value">{ 1011 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1012 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The targets in the group"</span> 1013 </span>} 1014 </span>}</span>, 1015 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1016 <span class="hljs-string">"id"</span>, 1017 <span class="hljs-string">"name"</span>, 1018 <span class="hljs-string">"targets"</span> 1019 ] 1020 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1021 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 1022 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1023 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 1024 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1025 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1026 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1027 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1028 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 1029 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1030 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 1031 </span>}</span>, 1032 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 1033 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1034 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 1035 </span>}</span>, 1036 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 1037 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 1038 </span>} 1039 </span>} 1040 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="groups-groups-post" class="action post"><h4 class="action-heading"><div class="name">Create New Group</div><a href="#groups-groups-post" class="method post">POST</a><code class="uri">/groups</code></h4><p>Create a new group</p> 1041 </div></div><hr class="split"><div class="middle"><div id="groups-group" class="resource"><h3 class="resource-heading">Group <a href="#groups-group" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/groups/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1042 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1043 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Group"</span></span>, 1044 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span></span>, 1045 "<span class="hljs-attribute">targets</span>": <span class="hljs-value"><span class="hljs-string">"array[Target]"</span> 1046 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1047 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1048 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1049 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1050 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1051 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1052 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1053 </span>}</span>, 1054 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 1055 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1056 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of the Group"</span> 1057 </span>}</span>, 1058 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 1059 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1060 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Group was last modified"</span> 1061 </span>}</span>, 1062 "<span class="hljs-attribute">targets</span>": <span class="hljs-value">{ 1063 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1064 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The targets in the group"</span> 1065 </span>} 1066 </span>}</span>, 1067 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1068 <span class="hljs-string">"id"</span>, 1069 <span class="hljs-string">"name"</span>, 1070 <span class="hljs-string">"targets"</span> 1071 ] 1072 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1073 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Group not found"</span></span>, 1074 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1075 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1076 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="groups-group-get" class="action get"><h4 class="action-heading"><div class="name">Get Group</div><a href="#groups-group-get" class="method get">GET</a><code class="uri">/groups/{id}</code></h4><p>Get a group by its ID.</p> 1077 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Group ID</p> 1078 </dd></dl></div></div></div><hr class="split"><div class="right"><div class="definition"><span class="method delete">DELETE</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/groups/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1079 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Group deleted successfully!"</span></span>, 1080 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, 1081 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1082 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1083 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Group not found"</span></span>, 1084 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1085 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1086 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="groups-group-delete" class="action delete"><h4 class="action-heading"><div class="name">Delete a Group</div><a href="#groups-group-delete" class="method delete">DELETE</a><code class="uri">/groups/{id}</code></h4><p>Delete a Group by its ID.</p> 1087 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Template ID</p> 1088 </dd></dl></div></div></div><hr class="split"><div class="middle"><section id="sending-profiles" class="resource-group"><h2 class="group-heading">Sending Profiles <a href="#sending-profiles" class="permalink">¶</a></h2></section></div><div class="middle"><div id="sending-profiles-sending-profiles" class="resource"><h3 class="resource-heading">Sending Profiles <a href="#sending-profiles-sending-profiles" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/smtp</span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ 1089 { 1090 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1091 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 1092 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 1093 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 1094 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 1095 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 1096 </span>} 1097 ]</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1098 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1099 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span> 1100 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[]</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="sending-profiles-sending-profiles-get" class="action get"><h4 class="action-heading"><div class="name">Get Sending Profiles</div><a href="#sending-profiles-sending-profiles-get" class="method get">GET</a><code class="uri">/smtp</code></h4><p>Get a list of sending profiles.</p> 1101 <p>Sending profiles contain the details for SMTP or other settings used to control how emails are sent in campaigns. Sending profiles contain the following attributes:</p> 1102 <ul> 1103 <li> 1104 <p><code>id</code>: 1 (required, number) - Unique identifier</p> 1105 </li> 1106 <li> 1107 <p><code>name</code>: Example Profile (string, required) - Name of the Sending Profile</p> 1108 </li> 1109 <li> 1110 <p><code>interface</code>: SMTP (string) - Interface type of the sending profile. By default, this is “SMTP”</p> 1111 </li> 1112 <li> 1113 <p><code>host</code>: 1.1.1.1:25 (string, required) - The hostname:port for the SMTP configuration</p> 1114 </li> 1115 <li> 1116 <p><code>username</code>: foo (string) - The username to authenticate to the SMTP server (optional)</p> 1117 </li> 1118 <li> 1119 <p><code>password</code>: bar (string) - The password to authenticate to the SMTP server (optional)</p> 1120 </li> 1121 <li> 1122 <p><code>from_address</code>: Foo Bar <a href="mailto:foo.bar@example.com">foo.bar@example.com</a> (string) - The email address to use in the “From” header. This is typically used to spoof email addresses</p> 1123 </li> 1124 <li> 1125 <p><code>ignore_cert_errors</code>: false (boolean) - Whether or not to disable certificate validation when connecting to the SMTP server via TLS</p> 1126 </li> 1127 <li> 1128 <p><code>modified_date</code>: <code>2015-01-01T01:02:03.000000Z</code> (string) - Date the Group was last modified</p> 1129 </li> 1130 </ul> 1131 <div class="note"> 1132 <p><strong>Receiving Certificate Errors?</strong></p> 1133 <p>It’s common to have an SMTP server that is configured using a self-signed or otherwise untrusted SSL certficate. To avoid errors when connecting to the server, set <code>ignore_cert_errors</code> to “true”.</p> 1134 </div> 1135 </div></div><hr class="split"><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/smtp</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1136 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1137 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 1138 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 1139 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 1140 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 1141 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 1142 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1143 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1144 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1145 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1146 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1147 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1148 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1149 </span>}</span>, 1150 "<span class="hljs-attribute">host</span>": <span class="hljs-value">{ 1151 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1152 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The hostname and port for the SMTP server"</span> 1153 </span>}</span>, 1154 "<span class="hljs-attribute">username</span>": <span class="hljs-value">{ 1155 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1156 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The username used for SMTP authentication"</span> 1157 </span>}</span>, 1158 "<span class="hljs-attribute">password</span>": <span class="hljs-value">{ 1159 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1160 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The password used for SMTP authentication"</span> 1161 </span>}</span>, 1162 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value">{ 1163 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1164 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The \"From\" address to spoof"</span> 1165 </span>}</span>, 1166 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value">{ 1167 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1168 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Whether or not to ignore certificate errors"</span> 1169 </span>} 1170 </span>}</span>, 1171 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1172 <span class="hljs-string">"id"</span>, 1173 <span class="hljs-string">"host"</span>, 1174 <span class="hljs-string">"username"</span>, 1175 <span class="hljs-string">"password"</span>, 1176 <span class="hljs-string">"from_address"</span> 1177 ] 1178 </span>}</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1179 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1180 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 1181 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 1182 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 1183 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 1184 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 1185 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1186 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1187 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1188 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1189 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1190 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1191 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1192 </span>}</span>, 1193 "<span class="hljs-attribute">host</span>": <span class="hljs-value">{ 1194 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1195 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The hostname and port for the SMTP server"</span> 1196 </span>}</span>, 1197 "<span class="hljs-attribute">username</span>": <span class="hljs-value">{ 1198 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1199 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The username used for SMTP authentication"</span> 1200 </span>}</span>, 1201 "<span class="hljs-attribute">password</span>": <span class="hljs-value">{ 1202 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1203 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The password used for SMTP authentication"</span> 1204 </span>}</span>, 1205 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value">{ 1206 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1207 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The \"From\" address to spoof"</span> 1208 </span>}</span>, 1209 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value">{ 1210 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1211 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Whether or not to ignore certificate errors"</span> 1212 </span>} 1213 </span>}</span>, 1214 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1215 <span class="hljs-string">"id"</span>, 1216 <span class="hljs-string">"host"</span>, 1217 <span class="hljs-string">"username"</span>, 1218 <span class="hljs-string">"password"</span>, 1219 <span class="hljs-string">"from_address"</span> 1220 ] 1221 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1222 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 1223 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1224 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 1225 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1226 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1227 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1228 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1229 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 1230 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1231 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 1232 </span>}</span>, 1233 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 1234 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1235 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 1236 </span>}</span>, 1237 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 1238 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 1239 </span>} 1240 </span>} 1241 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="sending-profiles-sending-profiles-post" class="action post"><h4 class="action-heading"><div class="name">Create New Sending Profile</div><a href="#sending-profiles-sending-profiles-post" class="method post">POST</a><code class="uri">/smtp</code></h4><p>Create a new sending profile</p> 1242 </div></div><hr class="split"><div class="middle"><div id="sending-profiles-sending-profile" class="resource"><h3 class="resource-heading">Sending Profile <a href="#sending-profiles-sending-profile" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/smtp/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1243 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1244 "<span class="hljs-attribute">host</span>": <span class="hljs-value"><span class="hljs-string">"smtp.example.com:25"</span></span>, 1245 "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"foo"</span></span>, 1246 "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"bar"</span></span>, 1247 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value"><span class="hljs-string">"John Doe <foo@example.com>"</span></span>, 1248 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value"><span class="hljs-literal">false</span> 1249 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1250 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1251 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1252 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1253 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1254 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1255 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1256 </span>}</span>, 1257 "<span class="hljs-attribute">host</span>": <span class="hljs-value">{ 1258 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1259 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The hostname and port for the SMTP server"</span> 1260 </span>}</span>, 1261 "<span class="hljs-attribute">username</span>": <span class="hljs-value">{ 1262 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1263 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The username used for SMTP authentication"</span> 1264 </span>}</span>, 1265 "<span class="hljs-attribute">password</span>": <span class="hljs-value">{ 1266 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1267 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The password used for SMTP authentication"</span> 1268 </span>}</span>, 1269 "<span class="hljs-attribute">from_address</span>": <span class="hljs-value">{ 1270 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1271 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The \"From\" address to spoof"</span> 1272 </span>}</span>, 1273 "<span class="hljs-attribute">ignore_cert_errors</span>": <span class="hljs-value">{ 1274 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1275 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Whether or not to ignore certificate errors"</span> 1276 </span>} 1277 </span>}</span>, 1278 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1279 <span class="hljs-string">"id"</span>, 1280 <span class="hljs-string">"host"</span>, 1281 <span class="hljs-string">"username"</span>, 1282 <span class="hljs-string">"password"</span>, 1283 <span class="hljs-string">"from_address"</span> 1284 ] 1285 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1286 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"SMTP not found"</span></span>, 1287 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1288 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1289 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="sending-profiles-sending-profile-get" class="action get"><h4 class="action-heading"><div class="name">Get Sending Profile</div><a href="#sending-profiles-sending-profile-get" class="method get">GET</a><code class="uri">/smtp/{id}</code></h4><p>Get a sending profile by its ID.</p> 1290 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The sending profile ID</p> 1291 </dd></dl></div></div></div><hr class="split"><div class="right"><div class="definition"><span class="method delete">DELETE</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/smtp/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1292 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"SMTP deleted successfully!"</span></span>, 1293 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, 1294 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1295 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1296 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"SMTP not found"</span></span>, 1297 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1298 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1299 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="sending-profiles-sending-profile-delete" class="action delete"><h4 class="action-heading"><div class="name">Delete a Sending Profile</div><a href="#sending-profiles-sending-profile-delete" class="method delete">DELETE</a><code class="uri">/smtp/{id}</code></h4><p>Delete a Sending Profile by its ID.</p> 1300 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Sending Profile ID</p> 1301 </dd></dl></div></div></div><hr class="split"><div class="middle"><section id="pages" class="resource-group"><h2 class="group-heading">Pages <a href="#pages" class="permalink">¶</a></h2></section></div><div class="middle"><div id="pages-pages" class="resource"><h3 class="resource-heading">Pages <a href="#pages-pages" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/pages</span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ 1302 { 1303 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1304 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 1305 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 1306 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 1307 </span>} 1308 ]</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1309 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1310 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span> 1311 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[]</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="pages-pages-get" class="action get"><h4 class="action-heading"><div class="name">Get Pages</div><a href="#pages-pages-get" class="method get">GET</a><code class="uri">/pages</code></h4><p>Get a list of pages. 1312 Pages are the HTML page that a user lands on after clicking on a phishing link.</p> 1313 <ul> 1314 <li> 1315 <p><code>id</code>: 1 (required, number) - Unique identifier</p> 1316 </li> 1317 <li> 1318 <p><code>name</code>: Example Page (required, string) - Name of Page</p> 1319 </li> 1320 <li> 1321 <p><code>html</code>: <code><html><head></head><body>This is a test message!</body></html></code> (required, string) - HTML of the landing page users hit when clicking links in the email template</p> 1322 </li> 1323 <li> 1324 <p><code>modified_date</code>: <code>2015-01-01T01:02:03.000000Z</code> (string) - Date the Page was last modified</p> 1325 </li> 1326 </ul> 1327 <div class="note"> 1328 <p><strong>Importing a Site</strong></p> 1329 <p>Let gophish do the hard work for you in importing a site. By using the <a href="#import-site">Import Site</a> endpoint, you can simply give gophish a URL and have the site imported for you.</p> 1330 </div> 1331 </div></div><hr class="split"><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/pages</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1332 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1333 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 1334 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 1335 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 1336 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1337 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1338 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1339 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1340 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1341 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1342 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1343 </span>}</span>, 1344 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 1345 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1346 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of Page"</span> 1347 </span>}</span>, 1348 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 1349 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1350 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the landing page users hit when clicking links in the email template"</span> 1351 </span>}</span>, 1352 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 1353 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1354 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Page was last modified"</span> 1355 </span>} 1356 </span>}</span>, 1357 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1358 <span class="hljs-string">"id"</span>, 1359 <span class="hljs-string">"name"</span>, 1360 <span class="hljs-string">"html"</span> 1361 ] 1362 </span>}</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1363 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1364 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 1365 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 1366 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 1367 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1368 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1369 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1370 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1371 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1372 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1373 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1374 </span>}</span>, 1375 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 1376 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1377 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of Page"</span> 1378 </span>}</span>, 1379 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 1380 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1381 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the landing page users hit when clicking links in the email template"</span> 1382 </span>}</span>, 1383 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 1384 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1385 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Page was last modified"</span> 1386 </span>} 1387 </span>}</span>, 1388 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1389 <span class="hljs-string">"id"</span>, 1390 <span class="hljs-string">"name"</span>, 1391 <span class="hljs-string">"html"</span> 1392 ] 1393 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1394 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 1395 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1396 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 1397 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1398 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1399 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1400 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1401 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 1402 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1403 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 1404 </span>}</span>, 1405 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 1406 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1407 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 1408 </span>}</span>, 1409 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 1410 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 1411 </span>} 1412 </span>} 1413 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="pages-pages-post" class="action post"><h4 class="action-heading"><div class="name">Create New Page</div><a href="#pages-pages-post" class="method post">POST</a><code class="uri">/pages</code></h4><p>Create a new page</p> 1414 </div></div><hr class="split"><div class="middle"><div id="pages-page" class="resource"><h3 class="resource-heading">Page <a href="#pages-page" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method get">GET</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/pages/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1415 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1416 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 1417 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 1418 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 1419 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1420 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1421 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1422 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1423 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1424 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1425 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1426 </span>}</span>, 1427 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 1428 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1429 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of Page"</span> 1430 </span>}</span>, 1431 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 1432 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1433 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the landing page users hit when clicking links in the email template"</span> 1434 </span>}</span>, 1435 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 1436 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1437 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Page was last modified"</span> 1438 </span>} 1439 </span>}</span>, 1440 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1441 <span class="hljs-string">"id"</span>, 1442 <span class="hljs-string">"name"</span>, 1443 <span class="hljs-string">"html"</span> 1444 ] 1445 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1446 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Page not found"</span></span>, 1447 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1448 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1449 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="pages-page-get" class="action get"><h4 class="action-heading"><div class="name">Get Page</div><a href="#pages-page-get" class="method get">GET</a><code class="uri">/pages/{id}</code></h4><p>Get a page by its ID.</p> 1450 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Page ID</p> 1451 </dd></dl></div></div></div><hr class="split"><div class="right"><div class="definition"><span class="method put">PUT</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/pages</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Body</h5><pre><code>{ 1452 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1453 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 1454 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 1455 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 1456 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1457 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1458 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1459 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1460 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1461 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1462 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1463 </span>}</span>, 1464 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 1465 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1466 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of Page"</span> 1467 </span>}</span>, 1468 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 1469 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1470 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the landing page users hit when clicking links in the email template"</span> 1471 </span>}</span>, 1472 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 1473 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1474 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Page was last modified"</span> 1475 </span>} 1476 </span>}</span>, 1477 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1478 <span class="hljs-string">"id"</span>, 1479 <span class="hljs-string">"name"</span>, 1480 <span class="hljs-string">"html"</span> 1481 ] 1482 </span>}</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1483 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1484 "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Example Page"</span></span>, 1485 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"<html><head></head><body>This is a test message!</body></html>"</span></span>, 1486 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value"><span class="hljs-string">"2015-01-01T01:02:03.000000Z"</span> 1487 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1488 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1489 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1490 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1491 "<span class="hljs-attribute">id</span>": <span class="hljs-value">{ 1492 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"number"</span></span>, 1493 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Unique identifier"</span> 1494 </span>}</span>, 1495 "<span class="hljs-attribute">name</span>": <span class="hljs-value">{ 1496 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1497 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Name of Page"</span> 1498 </span>}</span>, 1499 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 1500 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1501 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the landing page users hit when clicking links in the email template"</span> 1502 </span>}</span>, 1503 "<span class="hljs-attribute">modified_date</span>": <span class="hljs-value">{ 1504 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1505 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Date the Page was last modified"</span> 1506 </span>} 1507 </span>}</span>, 1508 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1509 <span class="hljs-string">"id"</span>, 1510 <span class="hljs-string">"name"</span>, 1511 <span class="hljs-string">"html"</span> 1512 ] 1513 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1514 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Page not found"</span></span>, 1515 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1516 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1517 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1518 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 1519 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1520 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 1521 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1522 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1523 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1524 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1525 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 1526 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1527 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 1528 </span>}</span>, 1529 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 1530 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1531 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 1532 </span>}</span>, 1533 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 1534 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 1535 </span>} 1536 </span>} 1537 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="pages-page-put" class="action put"><h4 class="action-heading"><div class="name">Put Page</div><a href="#pages-page-put" class="method put">PUT</a><code class="uri">/pages</code></h4><p>Modify a page by its ID.</p> 1538 </div></div><hr class="split"><div class="right"><div class="definition"><span class="method delete">DELETE</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/pages/<span class="hljs-attribute" title="id">1</span></span></div><div class="tabs"><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">200</span><span class="tab-button">404</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1539 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Page deleted successfully!"</span></span>, 1540 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">true</span></span>, 1541 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1542 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1543 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Page not found"</span></span>, 1544 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1545 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-literal">null</span> 1546 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div><div class="middle"><div id="pages-page-delete" class="action delete"><h4 class="action-heading"><div class="name">Delete a Page</div><a href="#pages-page-delete" class="method delete">DELETE</a><code class="uri">/pages/{id}</code></h4><p>Delete a page by its ID.</p> 1547 <div class="title"><strong>URI Parameters</strong><div class="collapse-button show"><span class="close">Hide</span><span class="open">Show</span></div></div><div class="collapse-content"><dl class="inner"><dt>id</dt><dd><code>number</code> <span class="required">(required)</span> <span class="text-muted example"><strong>Example: </strong><span>1</span></span><p>The Page ID</p> 1548 </dd></dl></div></div></div><hr class="split"><div class="middle"><section id="import" class="resource-group"><h2 class="group-heading">Import <a href="#import" class="permalink">¶</a></h2><p>Import functions facilitate the ability to import emails, groups and more using simple interfaces.</p> 1549 </section></div><div class="middle"><div id="import-group" class="resource"><h3 class="resource-heading">Group <a href="#import-group" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/import/group</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">multipart/form-data; boundary=----BOUNDARY</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>------BOUNDARY 1550 Content-Disposition: form-data; name=<span class="hljs-string">"files[]"</span>; filename=<span class="hljs-string">"filename.csv"</span> 1551 Content-Type: application/vnd.ms-excel 1552 1553 [File Content] 1554 ------BOUNDARY</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>[ 1555 { 1556 "<span class="hljs-attribute">id</span>": <span class="hljs-value"><span class="hljs-number">1</span></span>, 1557 "<span class="hljs-attribute">first_name</span>": <span class="hljs-value"><span class="hljs-string">"John"</span></span>, 1558 "<span class="hljs-attribute">last_name</span>": <span class="hljs-value"><span class="hljs-string">"Doe"</span></span>, 1559 "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"john.doe@example.com"</span></span>, 1560 "<span class="hljs-attribute">position</span>": <span class="hljs-value"><span class="hljs-string">"System Administrator"</span> 1561 </span>} 1562 ]</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1563 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1564 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"array"</span> 1565 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1566 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 1567 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1568 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 1569 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1570 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1571 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1572 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1573 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 1574 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1575 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 1576 </span>}</span>, 1577 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 1578 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1579 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 1580 </span>}</span>, 1581 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 1582 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 1583 </span>} 1584 </span>} 1585 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="import-group-post" class="action post"><h4 class="action-heading"><div class="name">Import a Group</div><a href="#import-group-post" class="method post">POST</a><code class="uri">/import/group</code></h4><p>This endpoint allows you to import a group from a CSV.</p> 1586 <p>The fields expected in the CSV are as follows:</p> 1587 <ul> 1588 <li> 1589 <p>First Name</p> 1590 </li> 1591 <li> 1592 <p>Last Name</p> 1593 </li> 1594 <li> 1595 <p>Position</p> 1596 </li> 1597 <li> 1598 <p>Email</p> 1599 </li> 1600 <li> 1601 <p>Company</p> 1602 </li> 1603 </ul> 1604 </div></div><hr class="split"><div class="middle"><div id="import-email" class="resource"><h3 class="resource-heading">Email <a href="#import-email" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/import/email</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">text/plain</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>MIME-Version: 1.0 1605 Date: Fri, 25 Dec 2015 21:22:28 -0600 1606 Subject: Foo Bar 1607 From: John Doe <span class="hljs-tag"><<span class="hljs-title">john.doe@example.com</span>></span> 1608 To: Jane Doe <span class="hljs-tag"><<span class="hljs-title">jane.doe@example.com</span>></span> 1609 Content-Type: multipart/alternative; boundary=14dae9473639dc6b2a0527c4945f 1610 1611 --14dae9473639dc6b2a0527c4945f 1612 Content-Type: text/plain; charset=UTF-8 1613 1614 Foo bar 1615 1616 --14dae9473639dc6b2a0527c4945f 1617 Content-Type: text/html; charset=UTF-8 1618 1619 <span class="hljs-tag"><<span class="hljs-title">div</span> <span class="hljs-attribute">dir</span>=<span class="hljs-value">"ltr"</span>></span>Foo bar<span class="hljs-tag"></<span class="hljs-title">div</span>></span> 1620 1621 --14dae9473639dc6b2a0527c4945f--</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1622 "<span class="hljs-attribute">text</span>": <span class="hljs-value"><span class="hljs-string">"Foo bar"</span></span>, 1623 "<span class="hljs-attribute">html</span>": <span class="hljs-value"><span class="hljs-string">"\"\\u003cdiv\\u003eFoo bar\\u003c/div\\u003e\""</span></span>, 1624 "<span class="hljs-attribute">subject</span>": <span class="hljs-value"><span class="hljs-string">"Foo Bar"</span> 1625 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1626 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1627 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1628 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1629 "<span class="hljs-attribute">text</span>": <span class="hljs-value">{ 1630 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1631 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The email text part"</span> 1632 </span>}</span>, 1633 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 1634 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1635 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The email HTML part"</span> 1636 </span>}</span>, 1637 "<span class="hljs-attribute">subject</span>": <span class="hljs-value">{ 1638 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1639 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The email subject"</span> 1640 </span>} 1641 </span>} 1642 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1643 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 1644 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1645 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 1646 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1647 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1648 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1649 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1650 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 1651 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1652 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 1653 </span>}</span>, 1654 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 1655 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1656 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 1657 </span>}</span>, 1658 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 1659 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 1660 </span>} 1661 </span>} 1662 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="import-email-post" class="action post"><h4 class="action-heading"><div class="name">Import an Email</div><a href="#import-email-post" class="method post">POST</a><code class="uri">/import/email</code></h4><p>This endpoint allows you to parse and import an email in RFC 5322 format.</p> 1663 <p>You can use this endpoint to easily import an email that you have received legitimately to re-use it for simulated phishing.</p> 1664 </div></div><hr class="split"><div class="middle"><div id="import-site" class="resource"><h3 class="resource-heading">Site <a href="#import-site" class="permalink">¶</a></h3></div></div><div class="right"><div class="definition"><span class="method post">POST</span> <span class="uri"><span class="hostname">http://localhost:3333/api</span>/import/site</span></div><div class="tabs"><div class="example-names"><span>Requests</span><span class="tab-button">example 1</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1665 "<span class="hljs-attribute">url</span>": <span class="hljs-value"><span class="hljs-string">"http://foo.bar"</span> 1666 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1667 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1668 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1669 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1670 "<span class="hljs-attribute">url</span>": <span class="hljs-value">{ 1671 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1672 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The URL to be retrieved"</span> 1673 </span>} 1674 </span>}</span>, 1675 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1676 <span class="hljs-string">"url"</span> 1677 ] 1678 </span>}</code></pre><div style="height: 1px;"></div></div></div><div class="tabs"><div class="example-names"><span>Responses</span><span class="tab-button">201</span><span class="tab-button">400</span></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1679 "html": "<span class="hljs-tag"><<span class="hljs-title">html</span>></span><span class="hljs-tag"><<span class="hljs-title">head</span>></span><span class="hljs-tag"></<span class="hljs-title">head</span>></span><span class="hljs-tag"><<span class="hljs-title">body</span>></span>This is a test message!<span class="hljs-tag"></<span class="hljs-title">body</span>></span><span class="hljs-tag"></<span class="hljs-title">html</span>></span>" 1680 }</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1681 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1682 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1683 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1684 "<span class="hljs-attribute">html</span>": <span class="hljs-value">{ 1685 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1686 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"HTML of the requested URL."</span> 1687 </span>} 1688 </span>}</span>, 1689 "<span class="hljs-attribute">required</span>": <span class="hljs-value">[ 1690 <span class="hljs-string">"html"</span> 1691 ] 1692 </span>}</code></pre><div style="height: 1px;"></div></div></div></div><div class="tab"><div><div class="inner"><h5>Headers</h5><pre><code><span class="hljs-attribute">Content-Type</span>: <span class="hljs-string">application/json</span></code></pre><div style="height: 1px;"></div><h5>Body</h5><pre><code>{ 1693 "<span class="hljs-attribute">message</span>": <span class="hljs-value"><span class="hljs-string">"Error message"</span></span>, 1694 "<span class="hljs-attribute">success</span>": <span class="hljs-value"><span class="hljs-literal">false</span></span>, 1695 "<span class="hljs-attribute">data</span>": <span class="hljs-value"><span class="hljs-string">"Any associated data"</span> 1696 </span>}</code></pre><div style="height: 1px;"></div><h5>Schema</h5><pre><code>{ 1697 "<span class="hljs-attribute">$schema</span>": <span class="hljs-value"><span class="hljs-string">"http://json-schema.org/draft-04/schema#"</span></span>, 1698 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"object"</span></span>, 1699 "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{ 1700 "<span class="hljs-attribute">message</span>": <span class="hljs-value">{ 1701 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span></span>, 1702 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The detailed error message"</span> 1703 </span>}</span>, 1704 "<span class="hljs-attribute">success</span>": <span class="hljs-value">{ 1705 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"boolean"</span></span>, 1706 "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"The success status of the request"</span> 1707 </span>}</span>, 1708 "<span class="hljs-attribute">data</span>": <span class="hljs-value">{ 1709 "<span class="hljs-attribute">type</span>": <span class="hljs-value"><span class="hljs-string">"string"</span> 1710 </span>} 1711 </span>} 1712 </span>}</code></pre><div style="height: 1px;"></div></div></div></div></div></div></div></div><div class="middle"><div id="import-site-post" class="action post"><h4 class="action-heading"><div class="name">Import a Site</div><a href="#import-site-post" class="method post">POST</a><code class="uri">/import/site</code></h4><p>Imports a site via the URL. This causes gophish to reach out to the site and pull down the HTML of the URL given.</p> 1713 <p>To keep styles, images, and Javascript setup and working, gophish adds a <code>base</code> tag to the returned HTML pointing to the original site.</p> 1714 </div></div><hr class="split"><div class="middle"><p style="text-align: center;" class="text-muted">Generated by <a href="https://github.com/danielgtaylor/aglio" class="aglio">aglio</a> on 04 Mar 2016</p></div></div></div></div><script>/* eslint-env browser */ 1715 /* eslint quotes: [2, "single"] */ 1716 'use strict'; 1717 1718 /* 1719 Determine if a string ends with another string. 1720 */ 1721 function endsWith(str, suffix) { 1722 return str.indexOf(suffix, str.length - suffix.length) !== -1; 1723 } 1724 1725 /* 1726 Get a list of direct child elements by class name. 1727 */ 1728 function childrenByClass(element, name) { 1729 var filtered = []; 1730 1731 for (var i = 0; i < element.children.length; i++) { 1732 var child = element.children[i]; 1733 var classNames = child.className.split(' '); 1734 if (classNames.indexOf(name) !== -1) { 1735 filtered.push(child); 1736 } 1737 } 1738 1739 return filtered; 1740 } 1741 1742 /* 1743 Get an array [width, height] of the window. 1744 */ 1745 function getWindowDimensions() { 1746 var w = window, 1747 d = document, 1748 e = d.documentElement, 1749 g = d.body, 1750 x = w.innerWidth || e.clientWidth || g.clientWidth, 1751 y = w.innerHeight || e.clientHeight || g.clientHeight; 1752 1753 return [x, y]; 1754 } 1755 1756 /* 1757 Collapse or show a request/response example. 1758 */ 1759 function toggleCollapseButton(event) { 1760 var button = event.target.parentNode; 1761 var content = button.parentNode.nextSibling; 1762 var inner = content.children[0]; 1763 1764 if (button.className.indexOf('collapse-button') === -1) { 1765 // Clicked without hitting the right element? 1766 return; 1767 } 1768 1769 if (content.style.maxHeight && content.style.maxHeight !== '0px') { 1770 // Currently showing, so let's hide it 1771 button.className = 'collapse-button'; 1772 content.style.maxHeight = '0px'; 1773 } else { 1774 // Currently hidden, so let's show it 1775 button.className = 'collapse-button show'; 1776 content.style.maxHeight = inner.offsetHeight + 12 + 'px'; 1777 } 1778 } 1779 1780 function toggleTabButton(event) { 1781 var i, index; 1782 var button = event.target; 1783 1784 // Get index of the current button. 1785 var buttons = childrenByClass(button.parentNode, 'tab-button'); 1786 for (i = 0; i < buttons.length; i++) { 1787 if (buttons[i] === button) { 1788 index = i; 1789 button.className = 'tab-button active'; 1790 } else { 1791 buttons[i].className = 'tab-button'; 1792 } 1793 } 1794 1795 // Hide other tabs and show this one. 1796 var tabs = childrenByClass(button.parentNode.parentNode, 'tab'); 1797 for (i = 0; i < tabs.length; i++) { 1798 if (i === index) { 1799 tabs[i].style.display = 'block'; 1800 } else { 1801 tabs[i].style.display = 'none'; 1802 } 1803 } 1804 } 1805 1806 /* 1807 Collapse or show a navigation menu. It will not be hidden unless it 1808 is currently selected or `force` has been passed. 1809 */ 1810 function toggleCollapseNav(event, force) { 1811 var heading = event.target.parentNode; 1812 var content = heading.nextSibling; 1813 var inner = content.children[0]; 1814 1815 if (heading.className.indexOf('heading') === -1) { 1816 // Clicked without hitting the right element? 1817 return; 1818 } 1819 1820 if (content.style.maxHeight && content.style.maxHeight !== '0px') { 1821 // Currently showing, so let's hide it, but only if this nav item 1822 // is already selected. This prevents newly selected items from 1823 // collapsing in an annoying fashion. 1824 if (force || window.location.hash && endsWith(event.target.href, window.location.hash)) { 1825 content.style.maxHeight = '0px'; 1826 } 1827 } else { 1828 // Currently hidden, so let's show it 1829 content.style.maxHeight = inner.offsetHeight + 12 + 'px'; 1830 } 1831 } 1832 1833 /* 1834 Refresh the page after a live update from the server. This only 1835 works in live preview mode (using the `--server` parameter). 1836 */ 1837 function refresh(body) { 1838 document.querySelector('body').className = 'preload'; 1839 document.body.innerHTML = body; 1840 1841 // Re-initialize the page 1842 init(); 1843 autoCollapse(); 1844 1845 document.querySelector('body').className = ''; 1846 } 1847 1848 /* 1849 Determine which navigation items should be auto-collapsed to show as many 1850 as possible on the screen, based on the current window height. This also 1851 collapses them. 1852 */ 1853 function autoCollapse() { 1854 var windowHeight = getWindowDimensions()[1]; 1855 var itemsHeight = 64; /* Account for some padding */ 1856 var itemsArray = Array.prototype.slice.call( 1857 document.querySelectorAll('nav .resource-group .heading')); 1858 1859 // Get the total height of the navigation items 1860 itemsArray.forEach(function (item) { 1861 itemsHeight += item.parentNode.offsetHeight; 1862 }); 1863 1864 // Should we auto-collapse any nav items? Try to find the smallest item 1865 // that can be collapsed to show all items on the screen. If not possible, 1866 // then collapse the largest item and do it again. First, sort the items 1867 // by height from smallest to largest. 1868 var sortedItems = itemsArray.sort(function (a, b) { 1869 return a.parentNode.offsetHeight - b.parentNode.offsetHeight; 1870 }); 1871 1872 while (sortedItems.length && itemsHeight > windowHeight) { 1873 for (var i = 0; i < sortedItems.length; i++) { 1874 // Will collapsing this item help? 1875 var itemHeight = sortedItems[i].nextSibling.offsetHeight; 1876 if ((itemsHeight - itemHeight <= windowHeight) || i === sortedItems.length - 1) { 1877 // It will, so let's collapse it, remove its content height from 1878 // our total and then remove it from our list of candidates 1879 // that can be collapsed. 1880 itemsHeight -= itemHeight; 1881 toggleCollapseNav({target: sortedItems[i].children[0]}, true); 1882 sortedItems.splice(i, 1); 1883 break; 1884 } 1885 } 1886 } 1887 } 1888 1889 /* 1890 Initialize the interactive functionality of the page. 1891 */ 1892 function init() { 1893 var i, j; 1894 1895 // Make collapse buttons clickable 1896 var buttons = document.querySelectorAll('.collapse-button'); 1897 for (i = 0; i < buttons.length; i++) { 1898 buttons[i].onclick = toggleCollapseButton; 1899 1900 // Show by default? Then toggle now. 1901 if (buttons[i].className.indexOf('show') !== -1) { 1902 toggleCollapseButton({target: buttons[i].children[0]}); 1903 } 1904 } 1905 1906 var responseCodes = document.querySelectorAll('.example-names'); 1907 for (i = 0; i < responseCodes.length; i++) { 1908 var tabButtons = childrenByClass(responseCodes[i], 'tab-button'); 1909 for (j = 0; j < tabButtons.length; j++) { 1910 tabButtons[j].onclick = toggleTabButton; 1911 1912 // Show by default? 1913 if (j === 0) { 1914 toggleTabButton({target: tabButtons[j]}); 1915 } 1916 } 1917 } 1918 1919 // Make nav items clickable to collapse/expand their content. 1920 var navItems = document.querySelectorAll('nav .resource-group .heading'); 1921 for (i = 0; i < navItems.length; i++) { 1922 navItems[i].onclick = toggleCollapseNav; 1923 1924 // Show all by default 1925 toggleCollapseNav({target: navItems[i].children[0]}); 1926 } 1927 } 1928 1929 // Initial call to set up buttons 1930 init(); 1931 1932 window.onload = function () { 1933 autoCollapse(); 1934 // Remove the `preload` class to enable animations 1935 document.querySelector('body').className = ''; 1936 }; 1937 </script></body></html> 1938 {{ end }}