api.wonderful.one Open in urlscan Pro
2606:4700:20::681a:3a1  Public Scan

URL: https://api.wonderful.one/
Submission: On March 25 via api from US — Scanned from US

Form analysis 16 forms found in the DOM

<form id="form-GETv2-customers" data-method="GET" data-path="v2/customers" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-customers', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/customers</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-customers" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-customers" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-customers" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Query Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>search</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="search" data-endpoint="GETv2-customers" value="john.testmore@example.com"
      data-component="query">
    <br>
    <p>Filter customer results by name or email. Example: "John" or "email@example.com". Example: <code>john.testmore@example.com</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>sort</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="sort" data-endpoint="GETv2-customers" value="last_name_asc" data-component="query">
    <br>
    <p>Order results by column. Example: <code>last_name_asc</code></p> Must be one of: <ul style="list-style-type: square;">
      <li><code>created_asc</code></li>
      <li><code>created_desc</code></li>
      <li><code>first_name_asc</code></li>
      <li><code>first_name_desc</code></li>
      <li><code>last_name_asc</code></li>
      <li><code>last_name_desc</code></li>
      <li><code>last_order_asc</code></li>
      <li><code>last_order_desc</code></li>
    </ul>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>start_date</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="start_date" data-endpoint="GETv2-customers" value="2023-07-01"
      data-component="query">
    <br>
    <p>Start date in yyyy-mm-dd format. Must be a valid date. Example: <code>2023-07-01</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>end_date</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="end_date" data-endpoint="GETv2-customers" value="2023-12-31"
      data-component="query">
    <br>
    <p>End date in yyyy-mm-dd format. Must be a valid date. Example: <code>2023-12-31</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>per_page</code></b>&nbsp;&nbsp; <small>integer</small>&nbsp; <i>optional</i> &nbsp; <input type="number" style="display: none" step="any" name="per_page" data-endpoint="GETv2-customers" value="10"
      data-component="query">
    <br>
    <p>Number of results per page. Default: 25. Must be at least 1. Must not be greater than 1000. Example: <code>10</code></p>
  </div>
</form>

<form id="form-POSTv2-customers" data-method="POST" data-path="v2/customers" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('POSTv2-customers', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-black">POST</small>
    <b><code>v2/customers</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="POSTv2-customers" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="POSTv2-customers" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="POSTv2-customers" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Body Parameters</b></h4>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>first_name</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="first_name" data-endpoint="POSTv2-customers" value="John" data-component="body">
    <br>
    <p>Customer first (given) name. Must not be greater than 255 characters. Example: <code>John</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>last_name</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="last_name" data-endpoint="POSTv2-customers" value="Smith" data-component="body">
    <br>
    <p>Customer last (family) name. Must not be greater than 255 characters. Example: <code>Smith</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>email</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="email" data-endpoint="POSTv2-customers" value="john.smith@example.com" data-component="body">
    <br>
    <p>Customer email address. Must be a valid email address. Must not be greater than 255 characters. Example: <code>john.smith@example.com</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>telephone</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="telephone" data-endpoint="POSTv2-customers" value="01234 567890"
      data-component="body">
    <br>
    <p>Customer Telephone number. Must not be greater than 255 characters. Example: <code>01234 567890</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>address</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="address" data-endpoint="POSTv2-customers" value="123 Some Street, London, UK"
      data-component="body">
    <br>
    <p>Customer Address. Must not be greater than 255 characters. Example: <code>123 Some Street, London, UK</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>marketing_consent</code></b>&nbsp;&nbsp; <small>boolean</small>&nbsp; <i>optional</i> &nbsp; <label data-endpoint="POSTv2-customers" style="display: none">
      <input type="radio" name="marketing_consent" value="true" data-endpoint="POSTv2-customers" data-component="body">
      <code>true</code>
    </label>
    <label data-endpoint="POSTv2-customers" style="display: none">
      <input type="radio" name="marketing_consent" value="false" data-endpoint="POSTv2-customers" data-component="body">
      <code>false</code>
    </label>
    <br>
    <p>Customer has opted in to marketing. Example: <code>true</code></p>
  </div>
</form>

<form id="form-GETv2-customers--id-" data-method="GET" data-path="v2/customers/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-customers--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/customers/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-customers--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-customers--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-customers--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="GETv2-customers--id-" value="1d368e62" data-component="url">
    <br>
    <p>The Public API Hash ID of the customer. Example: <code>1d368e62</code></p>
  </div>
</form>

<form id="form-PUTv2-customers--id-" data-method="PUT" data-path="v2/customers/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('PUTv2-customers--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-darkblue">PUT</small>
    <b><code>v2/customers/{id}</code></b>
  </p>
  <p>
    <small class="badge badge-purple">PATCH</small>
    <b><code>v2/customers/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="PUTv2-customers--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="PUTv2-customers--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="PUTv2-customers--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="PUTv2-customers--id-" value="1d368e62" data-component="url">
    <br>
    <p>The Public API Hash ID of the customer. Example: <code>1d368e62</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Body Parameters</b></h4>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>first_name</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="first_name" data-endpoint="PUTv2-customers--id-" value="John"
      data-component="body">
    <br>
    <p>Customer first (given) name. Must not be greater than 255 characters. Example: <code>John</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>last_name</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="last_name" data-endpoint="PUTv2-customers--id-" value="Smith"
      data-component="body">
    <br>
    <p>Customer last (family) name. Must not be greater than 255 characters. Example: <code>Smith</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>email</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="email" data-endpoint="PUTv2-customers--id-" value="john.smith@example.com" data-component="body">
    <br>
    <p>Customer email address. Must be a valid email address. Must not be greater than 255 characters. Example: <code>john.smith@example.com</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>telephone</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="telephone" data-endpoint="PUTv2-customers--id-" value="01234 567890"
      data-component="body">
    <br>
    <p>Customer Telephone number. Must not be greater than 255 characters. Example: <code>01234 567890</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>address</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="address" data-endpoint="PUTv2-customers--id-" value="123 Some Street, London, UK"
      data-component="body">
    <br>
    <p>Customer Address. Must not be greater than 255 characters. Example: <code>123 Some Street, London, UK</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>marketing_consent</code></b>&nbsp;&nbsp; <small>boolean</small>&nbsp; <i>optional</i> &nbsp; <label data-endpoint="PUTv2-customers--id-" style="display: none">
      <input type="radio" name="marketing_consent" value="true" data-endpoint="PUTv2-customers--id-" data-component="body">
      <code>true</code>
    </label>
    <label data-endpoint="PUTv2-customers--id-" style="display: none">
      <input type="radio" name="marketing_consent" value="false" data-endpoint="PUTv2-customers--id-" data-component="body">
      <code>false</code>
    </label>
    <br>
    <p>Customer has opted in to marketing. Example: <code>true</code></p>
  </div>
</form>

<form id="form-DELETEv2-customers--id-" data-method="DELETE" data-path="v2/customers/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('DELETEv2-customers--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-red">DELETE</small>
    <b><code>v2/customers/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="DELETEv2-customers--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="DELETEv2-customers--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="DELETEv2-customers--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="DELETEv2-customers--id-" value="1d368e62" data-component="url">
    <br>
    <p>The Public API Hash ID of the customer. Example: <code>1d368e62</code></p>
  </div>
</form>

<form id="form-GETv2-orders" data-method="GET" data-path="v2/orders" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-orders', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/orders</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-orders" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-orders" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-orders" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Query Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>search</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="search" data-endpoint="GETv2-orders" value="Smith" data-component="query">
    <br>
    <p>Filter orders by customer first name, last name, or email. Example: "Smith" or "john.smith@example.com". Must not be greater than 255 characters. Example: <code>Smith</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>sort</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="sort" data-endpoint="GETv2-orders" value="amount_desc" data-component="query">
    <br>
    <p>Order results by column. Example: <code>amount_desc</code></p> Must be one of: <ul style="list-style-type: square;">
      <li><code>created_asc</code></li>
      <li><code>created_desc</code></li>
      <li><code>amount_asc</code></li>
      <li><code>amount_desc</code></li>
    </ul>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>payment_status</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="payment_status" data-endpoint="GETv2-orders" value="paid"
      data-component="query">
    <br>
    <p>Filter orders by payment status. Example: <code>paid</code></p> Must be one of: <ul style="list-style-type: square;">
      <li><code>created</code></li>
      <li><code>pending</code></li>
      <li><code>paid</code></li>
      <li><code>failed</code></li>
      <li><code>cancelled</code></li>
      <li><code>refunded</code></li>
    </ul>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>start_date</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="start_date" data-endpoint="GETv2-orders" value="2023-01-01"
      data-component="query">
    <br>
    <p>Start date in yyyy-mm-dd format. Must be a valid date. Example: <code>2023-01-01</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>end_date</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="end_date" data-endpoint="GETv2-orders" value="2023-12-31" data-component="query">
    <br>
    <p>End date in yyyy-mm-dd format. Must be a valid date. Example: <code>2023-12-31</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>per_page</code></b>&nbsp;&nbsp; <small>integer</small>&nbsp; <i>optional</i> &nbsp; <input type="number" style="display: none" step="any" name="per_page" data-endpoint="GETv2-orders" value="100"
      data-component="query">
    <br>
    <p>Number of results per page. Default: 25. Must be at least 1. Must not be greater than 1000. Example: <code>100</code></p>
  </div>
</form>

<form id="form-GETv2-orders--id-" data-method="GET" data-path="v2/orders/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-orders--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/orders/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-orders--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-orders--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-orders--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="GETv2-orders--id-" value="culpa" data-component="url">
    <br>
    <p>The Public API Hash ID of the Payment record. Example: <code>culpa</code></p>
  </div>
</form>

<form id="form-POSTv2-quick-pay" data-method="POST" data-path="v2/quick-pay" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('POSTv2-quick-pay', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-black">POST</small>
    <b><code>v2/quick-pay</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="POSTv2-quick-pay" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="POSTv2-quick-pay" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="POSTv2-quick-pay" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Body Parameters</b></h4>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>amount</code></b>&nbsp;&nbsp; <small>integer</small>&nbsp; &nbsp; <input type="number" style="display: none" step="any" name="amount" data-endpoint="POSTv2-quick-pay" value="1234" data-component="body">
    <br>
    <p>Amount in base currency units (GB Pence). Must be at least 5. Example: <code>1234</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>merchant_payment_reference</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="merchant_payment_reference" data-endpoint="POSTv2-quick-pay" value="ORDER-1234"
      data-component="body">
    <br>
    <p>Merchant payment reference to show on the bank statement. Must not be greater than 18 characters. Example: <code>ORDER-1234</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>payment_description</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="payment_description" data-endpoint="POSTv2-quick-pay"
      value="Website Order 1234" data-component="body">
    <br>
    <p>Payment description to show against the Order record. Must not be greater than 255 characters. Example: <code>Website Order 1234</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>customer_email_address</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="customer_email_address" data-endpoint="POSTv2-quick-pay"
      value="john.smith@example.com" data-component="body">
    <br>
    <p>Customer email address. If set, this will link the Order to the Customer record. Must be a valid email address. Must not be greater than 255 characters. Example: <code>john.smith@example.com</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>redirect_url</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="redirect_url" data-endpoint="POSTv2-quick-pay" value="https://your-website.example.com/success"
      data-component="body">
    <br>
    <p>The URL to redirect to after the payment has been completed. Must be a valid URL. Example: <code>https://your-website.example.com/success</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>webhook_url</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="webhook_url" data-endpoint="POSTv2-quick-pay"
      value="https://your-website.example.com/webhooks" data-component="body">
    <br>
    <p>The URL to send webhook notifications to. Must be a valid URL. Example: <code>https://your-website.example.com/webhooks</code></p>
  </div>
</form>

<form id="form-GETv2-payments" data-method="GET" data-path="v2/payments" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-payments', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/payments</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-payments" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-payments" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-payments" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Query Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>search</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="search" data-endpoint="GETv2-payments" value="ORDER" data-component="query">
    <br>
    <p>Filter payment results by order reference. Example: "ONE" or "ABC123". Must not be greater than 255 characters. Example: <code>ORDER</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>sort</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="sort" data-endpoint="GETv2-payments" value="amount_desc" data-component="query">
    <br>
    <p>Order results by column. Example: <code>amount_desc</code></p> Must be one of: <ul style="list-style-type: square;">
      <li><code>created_asc</code></li>
      <li><code>created_desc</code></li>
      <li><code>amount_asc</code></li>
      <li><code>amount_desc</code></li>
    </ul>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>start_date</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="start_date" data-endpoint="GETv2-payments" value="2023-01-01"
      data-component="query">
    <br>
    <p>Start date in yyyy-mm-dd format. Must be a valid date. Example: <code>2023-01-01</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>end_date</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; <i>optional</i> &nbsp; <input type="text" style="display: none" name="end_date" data-endpoint="GETv2-payments" value="2023-12-31" data-component="query">
    <br>
    <p>End date in yyyy-mm-dd format. Must be a valid date. Example: <code>2023-12-31</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>per_page</code></b>&nbsp;&nbsp; <small>integer</small>&nbsp; <i>optional</i> &nbsp; <input type="number" style="display: none" step="any" name="per_page" data-endpoint="GETv2-payments" value="100"
      data-component="query">
    <br>
    <p>Number of results per page. Default: 25. Must be at least 1. Must not be greater than 1000. Example: <code>100</code></p>
  </div>
</form>

<form id="form-GETv2-payments--id-" data-method="GET" data-path="v2/payments/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-payments--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/payments/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-payments--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-payments--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-payments--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="GETv2-payments--id-" value="culpa" data-component="url">
    <br>
    <p>The Public API Hash ID of the Payment record. Example: <code>culpa</code></p>
  </div>
</form>

<form id="form-GETv2-qr-codes" data-method="GET" data-path="v2/qr-codes" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-qr-codes', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/qr-codes</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-qr-codes" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-qr-codes" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-qr-codes" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
</form>

<form id="form-POSTv2-qr-codes" data-method="POST" data-path="v2/qr-codes" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('POSTv2-qr-codes', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-black">POST</small>
    <b><code>v2/qr-codes</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="POSTv2-qr-codes" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="POSTv2-qr-codes" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="POSTv2-qr-codes" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Body Parameters</b></h4>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>amount</code></b>&nbsp;&nbsp; <small>integer</small>&nbsp; &nbsp; <input type="number" style="display: none" step="any" name="amount" data-endpoint="POSTv2-qr-codes" value="1234" data-component="body">
    <br>
    <p>Amount in base currency units (GB Pence). Must not be greater than 5000000. Example: <code>1234</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>label</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="label" data-endpoint="POSTv2-qr-codes" value="Blue Widget" data-component="body">
    <br>
    <p>QR Code label or description (shown to customers). Must not be greater than 255 characters. Example: <code>Blue Widget</code></p>
  </div>
</form>

<form id="form-GETv2-qr-codes--id-" data-method="GET" data-path="v2/qr-codes/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-qr-codes--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/qr-codes/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-qr-codes--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-qr-codes--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-qr-codes--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="GETv2-qr-codes--id-" value="0e261265" data-component="url">
    <br>
    <p>the Public API Hash ID of the QR Code. Example: <code>0e261265</code></p>
  </div>
</form>

<form id="form-PUTv2-qr-codes--id-" data-method="PUT" data-path="v2/qr-codes/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('PUTv2-qr-codes--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-darkblue">PUT</small>
    <b><code>v2/qr-codes/{id}</code></b>
  </p>
  <p>
    <small class="badge badge-purple">PATCH</small>
    <b><code>v2/qr-codes/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="PUTv2-qr-codes--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="PUTv2-qr-codes--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="PUTv2-qr-codes--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="PUTv2-qr-codes--id-" value="0e261265" data-component="url">
    <br>
    <p>The Public API Hash ID of the QR Code. Example: <code>0e261265</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>Body Parameters</b></h4>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>amount</code></b>&nbsp;&nbsp; <small>integer</small>&nbsp; &nbsp; <input type="number" style="display: none" step="any" name="amount" data-endpoint="PUTv2-qr-codes--id-" value="1234" data-component="body">
    <br>
    <p>Amount in base currency units (GB Pence). Must not be greater than 5000000. Example: <code>1234</code></p>
  </div>
  <div style=" padding-left: 28px;  clear: unset;">
    <b style="line-height: 2;"><code>label</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="label" data-endpoint="PUTv2-qr-codes--id-" value="Blue Widget" data-component="body">
    <br>
    <p>QR Code label or description (shown to customers). Must not be greater than 255 characters. Example: <code>Blue Widget</code></p>
  </div>
</form>

<form id="form-DELETEv2-qr-codes--id-" data-method="DELETE" data-path="v2/qr-codes/{id}" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('DELETEv2-qr-codes--id-', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-red">DELETE</small>
    <b><code>v2/qr-codes/{id}</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="DELETEv2-qr-codes--id-" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="DELETEv2-qr-codes--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="DELETEv2-qr-codes--id-" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <h4 class="fancy-heading-panel"><b>URL Parameters</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>id</code></b>&nbsp;&nbsp; <small>string</small>&nbsp; &nbsp; <input type="text" style="display: none" name="id" data-endpoint="DELETEv2-qr-codes--id-" value="0e261265" data-component="url">
    <br>
    <p>The Public API Hash ID of the QR code. Example: <code>0e261265</code></p>
  </div>
</form>

<form id="form-GETv2-supported-banks" data-method="GET" data-path="v2/supported-banks" data-authed="1" data-hasfiles="0" data-isarraybody="0" autocomplete="off" onsubmit="event.preventDefault(); executeTryOut('GETv2-supported-banks', this);">
  <h3> Request&nbsp;&nbsp;&nbsp; </h3>
  <p>
    <small class="badge badge-green">GET</small>
    <b><code>v2/supported-banks</code></b>
  </p>
  <h4 class="fancy-heading-panel"><b>Headers</b></h4>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Authorization</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Authorization" class="auth-value" data-endpoint="GETv2-supported-banks" value="Bearer {YOUR_AUTH_KEY}"
      data-component="header">
    <br>
    <p>Example: <code>Bearer {YOUR_AUTH_KEY}</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Content-Type</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Content-Type" data-endpoint="GETv2-supported-banks" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
  <div style="padding-left: 28px; clear: unset;">
    <b style="line-height: 2;"><code>Accept</code></b>&nbsp;&nbsp; &nbsp; &nbsp; <input type="text" style="display: none" name="Accept" data-endpoint="GETv2-supported-banks" value="application/json" data-component="header">
    <br>
    <p>Example: <code>application/json</code></p>
  </div>
</form>

Text Content

MENU
bash javascript php python

 * Introduction

 * Authenticating requests

 * Endpoints
    * Customers
       * List Customers
       * Create Customer
       * Show Customer
       * Update Customer
       * Delete Customer
   
    * Orders
       * List Orders
       * Show Order
   
    * Payments
       * Quick Pay
       * List Payments
       * Show Payment
   
    * QR Codes
       * List QR Codes
       * Create QR Code
       * Show QR Code
       * Update QR Code.
       * Delete QR Code
   
    * Supported Banks.

 * Documentation powered by Scribe ✍

 * Last updated: March 11, 2024


INTRODUCTION

One by Wonderful: Public API Documentation

Base URL: https://api.wonderful.one

This documentation aims to provide all the information you need to work with our
API.

As you scroll, you'll see code examples for working with the API in different
programming languages in the dark area to the right (or as part of the content
on mobile). You can switch the language used with the tabs at the top right (or
from the nav menu at the top left on mobile).


AUTHENTICATING REQUESTS

To authenticate requests, include an Authorization header with the value "Bearer
{YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in
the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API
token.


ENDPOINTS


CUSTOMERS


LIST CUSTOMERS

requires authentication

List customers for the merchant. Supports basic searching on name and email
address, ordering of results, and pagination. Default pagination is 25 results
per page.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/customers?search=john.testmore%40example.com&sort=last_name_asc&start_date=2023-07-01&end_date=2023-12-31&per_page=10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/customers"
);

const params = {
    "search": "john.testmore@example.com",
    "sort": "last_name_asc",
    "start_date": "2023-07-01",
    "end_date": "2023-12-31",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/customers';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'search' => 'john.testmore@example.com',
            'sort' => 'last_name_asc',
            'start_date' => '2023-07-01',
            'end_date' => '2023-12-31',
            'per_page' => '10',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/customers'
params = {
  'search': 'john.testmore@example.com',
  'sort': 'last_name_asc',
  'start_date': '2023-07-01',
  'end_date': '2023-12-31',
  'per_page': '10',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

> Example response (200):


{
    "data": [
        {
            "id": "",
            "first_name": "Terry",
            "last_name": null,
            "full_name": "Terry",
            "email": "zrunolfsson@example.org",
            "address": "6443 Weimann Squares",
            "telephone": "+1-317-265-8763",
            "marketing_consented_at": null,
            "created_at": null,
            "updated_at": null
        },
        {
            "id": "",
            "first_name": "Derrick",
            "last_name": null,
            "full_name": "Derrick",
            "email": "clifford.jenkins@example.net",
            "address": "734 Reilly Lock Suite 222",
            "telephone": "1-209-417-1194",
            "marketing_consented_at": null,
            "created_at": null,
            "updated_at": null
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "/",
        "per_page": "25",
        "to": 2
    }
}
 

> Example response (200):


{
    "data": [
        {
            "id": "1d368e62",
            "first_name": "John",
            "last_name": "Testmore",
            "full_name": "John Testmore",
            "email": "john.testmore@example.com",
            "address": "1 Test Street, Test Town",
            "telephone": "0123456789",
            "marketing_consented_at": null,
            "created_at": "2023-05-02T22:07:21.000000Z",
            "updated_at": "2023-05-02T22:07:21.000000Z"
        }
    ],
    "links": {
        "first": "https://api.wonderful.one/v2/customers?page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "https://api.wonderful.one/v2/customers",
        "per_page": 25,
        "to": 1
    }
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/customers

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

QUERY PARAMETERS

search   string  optional  


Filter customer results by name or email. Example: "John" or
"email@example.com". Example: john.testmore@example.com

sort   string  optional  


Order results by column. Example: last_name_asc

Must be one of:
 * created_asc
 * created_desc
 * first_name_asc
 * first_name_desc
 * last_name_asc
 * last_name_desc
 * last_order_asc
 * last_order_desc

start_date   string  optional  


Start date in yyyy-mm-dd format. Must be a valid date. Example: 2023-07-01

end_date   string  optional  


End date in yyyy-mm-dd format. Must be a valid date. Example: 2023-12-31

per_page   integer  optional  


Number of results per page. Default: 25. Must be at least 1. Must not be greater
than 1000. Example: 10


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the Customer

first_name   string   


Customer's first name. Example: John

last_name   string   


Customer's last name. Example: Testmore

full_name   string   


Customer's full name. Example: John Testmore

email   string   


Customer's email address. Example: john.testmore@example.com

address   string   


Customer's address. Example: 1 Test Street, Test Town

telephone   string   


Customer's telephone number. Example: 0123456789

marketing_consented_at   string   


nullable The date and time the Customer last opted in to marketing. Example:
2023-05-02T22:07:21.000000Z

created_at   string   


The date and time the Customer was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the Customer was last updated. Example:
2023-05-02T22:07:21.000000Z


CREATE CUSTOMER

requires authentication

Inserts a new customer record.

> Example request:

curl --request POST \
    "https://api.wonderful.one/v2/customers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"John\",
    \"last_name\": \"Smith\",
    \"email\": \"john.smith@example.com\",
    \"telephone\": \"01234 567890\",
    \"address\": \"123 Some Street, London, UK\",
    \"marketing_consent\": true
}"


const url = new URL(
    "https://api.wonderful.one/v2/customers"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@example.com",
    "telephone": "01234 567890",
    "address": "123 Some Street, London, UK",
    "marketing_consent": true
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/customers';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'first_name' => 'John',
            'last_name' => 'Smith',
            'email' => 'john.smith@example.com',
            'telephone' => '01234 567890',
            'address' => '123 Some Street, London, UK',
            'marketing_consent' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/customers'
payload = {
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@example.com",
    "telephone": "01234 567890",
    "address": "123 Some Street, London, UK",
    "marketing_consent": true
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

> Example response (200):


{
    "data": {
        "id": "",
        "first_name": "Samanta",
        "last_name": null,
        "full_name": "Samanta",
        "email": "heloise.littel@example.org",
        "address": "222 Wisoky Extensions Suite 092",
        "telephone": "689-919-2730",
        "marketing_consented_at": null,
        "created_at": null,
        "updated_at": null
    }
}
 

> Example response (201, Created successfully):


{
    "data": {
        "id": "1d368e62",
        "first_name": "John",
        "last_name": "Testmore",
        "full_name": "John Testmore",
        "email": "john.testmore@example.com",
        "address": "1 Test Street, Test Town",
        "telephone": "0123456789",
        "marketing_consented_at": null,
        "created_at": "2023-05-02T22:07:21.000000Z",
        "updated_at": "2023-05-02T22:07:21.000000Z"
    }
}
 

> Example response (422, Validation error):


{
    "error": true,
    "message": "Validation failed",
    "invalid_fields": {
        "email": [
            "The email field is required."
        ]
    }
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

POST v2/customers

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

BODY PARAMETERS

first_name   string  optional  


Customer first (given) name. Must not be greater than 255 characters. Example:
John

last_name   string  optional  


Customer last (family) name. Must not be greater than 255 characters. Example:
Smith

email   string   


Customer email address. Must be a valid email address. Must not be greater than
255 characters. Example: john.smith@example.com

telephone   string  optional  


Customer Telephone number. Must not be greater than 255 characters. Example:
01234 567890

address   string  optional  


Customer Address. Must not be greater than 255 characters. Example: 123 Some
Street, London, UK

marketing_consent   boolean  optional   true false


Customer has opted in to marketing. Example: true


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the Customer

first_name   string   


Customer's first name. Example: John

last_name   string   


Customer's last name. Example: Testmore

full_name   string   


Customer's full name. Example: John Testmore

email   string   


Customer's email address. Example: john.testmore@example.com

address   string   


Customer's address. Example: 1 Test Street, Test Town

telephone   string   


Customer's telephone number. Example: 0123456789

marketing_consented_at   string   


nullable The date and time the Customer last opted in to marketing. Example:
2023-05-02T22:07:21.000000Z

created_at   string   


The date and time the Customer was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the Customer was last updated. Example:
2023-05-02T22:07:21.000000Z


SHOW CUSTOMER

requires authentication

Show the details of a specific customer record. Pass the Public API Hash ID of
the customer you want to retrieve on the URL.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/customers/1d368e62" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/customers/1d368e62"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/customers/1d368e62';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/customers/1d368e62'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

> Example response (200):


{
    "data": {
        "id": "",
        "first_name": "Tara",
        "last_name": null,
        "full_name": "Tara",
        "email": "serena86@example.net",
        "address": "227 Marcel Underpass",
        "telephone": "651-832-6809",
        "marketing_consented_at": null,
        "created_at": null,
        "updated_at": null
    }
}
 

> Example response (200):


{
    "data": {
        "id": "1d368e62",
        "first_name": "John",
        "last_name": "Testmore",
        "full_name": "John Testmore",
        "email": "john.testmore@example.com",
        "address": "1 Test Street, Test Town",
        "telephone": "0123456789",
        "marketing_consented_at": null,
        "created_at": "2023-05-02T22:07:21.000000Z",
        "updated_at": "2023-05-02T22:07:21.000000Z"
    }
}
 

> Example response (404, Customer not found):


{
    "error": true,
    "message": "Customer not found"
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/customers/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


The Public API Hash ID of the customer. Example: 1d368e62


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the Customer

first_name   string   


Customer's first name. Example: John

last_name   string   


Customer's last name. Example: Testmore

full_name   string   


Customer's full name. Example: John Testmore

email   string   


Customer's email address. Example: john.testmore@example.com

address   string   


Customer's address. Example: 1 Test Street, Test Town

telephone   string   


Customer's telephone number. Example: 0123456789

marketing_consented_at   string   


nullable The date and time the Customer last opted in to marketing. Example:
2023-05-02T22:07:21.000000Z

created_at   string   


The date and time the Customer was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the Customer was last updated. Example:
2023-05-02T22:07:21.000000Z


UPDATE CUSTOMER

requires authentication

Note: Pushing an update to a customer record will update the entire entity, so
you must pass all the fields including those that have not been changed.

> Example request:

curl --request PUT \
    "https://api.wonderful.one/v2/customers/1d368e62" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"John\",
    \"last_name\": \"Smith\",
    \"email\": \"john.smith@example.com\",
    \"telephone\": \"01234 567890\",
    \"address\": \"123 Some Street, London, UK\",
    \"marketing_consent\": true
}"


const url = new URL(
    "https://api.wonderful.one/v2/customers/1d368e62"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@example.com",
    "telephone": "01234 567890",
    "address": "123 Some Street, London, UK",
    "marketing_consent": true
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/customers/1d368e62';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'first_name' => 'John',
            'last_name' => 'Smith',
            'email' => 'john.smith@example.com',
            'telephone' => '01234 567890',
            'address' => '123 Some Street, London, UK',
            'marketing_consent' => true,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/customers/1d368e62'
payload = {
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@example.com",
    "telephone": "01234 567890",
    "address": "123 Some Street, London, UK",
    "marketing_consent": true
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

> Example response (200):


{
    "data": {
        "id": "",
        "first_name": "Pat",
        "last_name": null,
        "full_name": "Pat",
        "email": "ivy.mann@example.net",
        "address": "97159 Antonetta Rest",
        "telephone": "(979) 392-1698",
        "marketing_consented_at": null,
        "created_at": null,
        "updated_at": null
    }
}
 

> Example response (200, Updated successfully):


{
    "data": {
        "id": "1d368e62",
        "first_name": "John",
        "last_name": "Testmore",
        "full_name": "John Testmore",
        "email": "john.testmore@example.com",
        "address": "1 Test Street, Test Town",
        "telephone": "0123456789",
        "marketing_consented_at": null,
        "created_at": "2023-05-02T22:07:21.000000Z",
        "updated_at": "2023-05-02T22:07:21.000000Z"
    }
}
 

> Example response (422, Validation error):


{
    "error": true,
    "message": "Validation failed",
    "invalid_fields": {
        "email": [
            "The email field is required."
        ]
    }
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

PUT v2/customers/{id}

PATCH v2/customers/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


The Public API Hash ID of the customer. Example: 1d368e62

BODY PARAMETERS

first_name   string  optional  


Customer first (given) name. Must not be greater than 255 characters. Example:
John

last_name   string  optional  


Customer last (family) name. Must not be greater than 255 characters. Example:
Smith

email   string   


Customer email address. Must be a valid email address. Must not be greater than
255 characters. Example: john.smith@example.com

telephone   string  optional  


Customer Telephone number. Must not be greater than 255 characters. Example:
01234 567890

address   string  optional  


Customer Address. Must not be greater than 255 characters. Example: 123 Some
Street, London, UK

marketing_consent   boolean  optional   true false


Customer has opted in to marketing. Example: true


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the Customer

first_name   string   


Customer's first name. Example: John

last_name   string   


Customer's last name. Example: Testmore

full_name   string   


Customer's full name. Example: John Testmore

email   string   


Customer's email address. Example: john.testmore@example.com

address   string   


Customer's address. Example: 1 Test Street, Test Town

telephone   string   


Customer's telephone number. Example: 0123456789

marketing_consented_at   string   


nullable The date and time the Customer last opted in to marketing. Example:
2023-05-02T22:07:21.000000Z

created_at   string   


The date and time the Customer was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the Customer was last updated. Example:
2023-05-02T22:07:21.000000Z


DELETE CUSTOMER

requires authentication

The delete customer endpoint will "soft-delete" a customer record. There is no
mechanism via the API to restore a deleted record, if you need to restore a
previously deleted record you will need to contact the support team.

Note that a successful delete will return a HTTP 204 with an empty response
body. Attempting to delete an already deleted record will return a HTTP 404 "not
found" response.

> Example request:

curl --request DELETE \
    "https://api.wonderful.one/v2/customers/1d368e62" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/customers/1d368e62"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/customers/1d368e62';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/customers/1d368e62'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

> Example response (204, Customer deleted):

Empty response
 

> Example response (403, Customer has orders):


{
    "error": true,
    "message": "Cannot delete customer with orders"
}
 

> Example response (404, Customer not found):


{
    "error": true,
    "message": "Customer not found"
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

DELETE v2/customers/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


The Public API Hash ID of the customer. Example: 1d368e62


ORDERS


LIST ORDERS

requires authentication

List all orders associated with the merchant. Supports basic searching on
customer name and email address, ordering of results, and pagination. Default
pagination is 25 results per page.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/orders?search=Smith&sort=amount_desc&payment_status=paid&start_date=2023-01-01&end_date=2023-12-31&per_page=100" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/orders"
);

const params = {
    "search": "Smith",
    "sort": "amount_desc",
    "payment_status": "paid",
    "start_date": "2023-01-01",
    "end_date": "2023-12-31",
    "per_page": "100",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/orders';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'search' => 'Smith',
            'sort' => 'amount_desc',
            'payment_status' => 'paid',
            'start_date' => '2023-01-01',
            'end_date' => '2023-12-31',
            'per_page' => '100',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/orders'
params = {
  'search': 'Smith',
  'sort': 'amount_desc',
  'payment_status': 'paid',
  'start_date': '2023-01-01',
  'end_date': '2023-12-31',
  'per_page': '100',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

> Example response (200):


{
    "data": [
        {
            "id": "",
            "total": 72312,
            "total_formatted": "£723.12",
            "order_status": "pending",
            "ordered_at": "2024-02-15T23:31:22.000000Z",
            "updated_at": null,
            "created_at": null
        },
        {
            "id": "",
            "total": 70589,
            "total_formatted": "£705.89",
            "order_status": "pending",
            "ordered_at": "2024-03-11T07:30:39.000000Z",
            "updated_at": null,
            "created_at": null
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "/",
        "per_page": "25",
        "to": 2
    }
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/orders

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

QUERY PARAMETERS

search   string  optional  


Filter orders by customer first name, last name, or email. Example: "Smith" or
"john.smith@example.com". Must not be greater than 255 characters. Example:
Smith

sort   string  optional  


Order results by column. Example: amount_desc

Must be one of:
 * created_asc
 * created_desc
 * amount_asc
 * amount_desc

payment_status   string  optional  


Filter orders by payment status. Example: paid

Must be one of:
 * created
 * pending
 * paid
 * failed
 * cancelled
 * refunded

start_date   string  optional  


Start date in yyyy-mm-dd format. Must be a valid date. Example: 2023-01-01

end_date   string  optional  


End date in yyyy-mm-dd format. Must be a valid date. Example: 2023-12-31

per_page   integer  optional  


Number of results per page. Default: 25. Must be at least 1. Must not be greater
than 1000. Example: 100


RESPONSE

RESPONSE FIELDS

id   string   


The public API hash ID of the Order.

total   integer   


The total amount of the Order in base currency units (GB Pence).

total_formatted   string   


The total amount of the Order as a formatted currency string.

order_status   string   


The status of the Order.

ordered_at   string   


The date and time the Order was ordered.

updated_at   string   


The date and time the Order was last updated.

created_at   string   


The date and time the Order was created on the system.

customer   object   


The Customer record associated with the Order.

payments   object[]   


All Payment records associated with the Order.

order_lines   object[]   


All OrderLine records associated with the Order.


SHOW ORDER

requires authentication

Shows the specific details for a single order.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/orders/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/orders/culpa"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/orders/culpa';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/orders/culpa'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

> Example response (200):


{
    "data": {
        "id": "",
        "total": 21240,
        "total_formatted": "£212.40",
        "order_status": "pending",
        "ordered_at": "2023-10-02T05:00:39.000000Z",
        "updated_at": null,
        "created_at": null
    }
}
 

> Example response (200, Order found):


{
    "data": {
        "id": "ed6d3016",
        "total": 8957,
        "total_formatted": "£89.57",
        "order_status": "pending",
        "ordered_at": "2024-03-05T11:50:43.000000Z",
        "updated_at": "2024-03-05T11:50:43.000000Z",
        "created_at": "2024-03-05T11:50:43.000000Z",
        "customer": {
            "id": "89650465",
            "first_name": null,
            "last_name": null,
            "full_name": "",
            "email": "john.smith@example.com",
            "address": null,
            "telephone": null,
            "marketing_consented_at": null,
            "created_at": "2024-03-05T11:50:43.000000Z",
            "updated_at": "2024-03-05T11:50:43.000000Z"
        },
        "payments": [
            {
                "id": "ed6d3016",
                "order_id": "ed6d3016",
                "amount": 8957,
                "amount_formatted": "£89.57",
                "status": "created",
                "reference": "ORDER-DE81",
                "pay_link": "https://api.wonderful.one/pay/DE81",
                "created_at": "2024-03-05T11:50:43.000000Z",
                "updated_at": "2024-03-05T11:50:43.000000Z"
            }
        ],
        "order_lines": [
            {
                "id": "ed6d87e6",
                "order_id": "ed6d3016",
                "quantity": 1,
                "description": "Gorgeous Fresh Soap",
                "price": 8957,
                "price_formatted": "£89.57",
                "created_at": "2024-03-05T11:50:43.000000Z",
                "updated_at": "2024-03-05T11:50:43.000000Z"
            }
        ]
    }
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Example response (404, Order not found):


{
    "error": true,
    "message": "Order not found"
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/orders/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


The Public API Hash ID of the Payment record. Example: culpa


RESPONSE

RESPONSE FIELDS

id   string   


The public API hash ID of the Order.

total   integer   


The total amount of the Order in base currency units (GB Pence).

total_formatted   string   


The total amount of the Order as a formatted currency string.

order_status   string   


The status of the Order.

ordered_at   string   


The date and time the Order was ordered.

updated_at   string   


The date and time the Order was last updated.

created_at   string   


The date and time the Order was created on the system.

customer   object   


The Customer record associated with the Order.

payments   object[]   


All Payment records associated with the Order.

order_lines   object[]   


All OrderLine records associated with the Order.


PAYMENTS


QUICK PAY

requires authentication

The Quick Pay endpoint allows you to create a customer, order, order line, and
payment in one request. The minimum data required is the amount and a merchant
payment reference (which is shown on the customer's bank statement). If you also
provide a customer email address, the order will be linked to the customer
record.

> Example request:

curl --request POST \
    "https://api.wonderful.one/v2/quick-pay" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 1234,
    \"merchant_payment_reference\": \"ORDER-1234\",
    \"payment_description\": \"Website Order 1234\",
    \"customer_email_address\": \"john.smith@example.com\",
    \"redirect_url\": \"https:\\/\\/your-website.example.com\\/success\",
    \"webhook_url\": \"https:\\/\\/your-website.example.com\\/webhooks\"
}"


const url = new URL(
    "https://api.wonderful.one/v2/quick-pay"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "amount": 1234,
    "merchant_payment_reference": "ORDER-1234",
    "payment_description": "Website Order 1234",
    "customer_email_address": "john.smith@example.com",
    "redirect_url": "https:\/\/your-website.example.com\/success",
    "webhook_url": "https:\/\/your-website.example.com\/webhooks"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/quick-pay';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'amount' => 1234,
            'merchant_payment_reference' => 'ORDER-1234',
            'payment_description' => 'Website Order 1234',
            'customer_email_address' => 'john.smith@example.com',
            'redirect_url' => 'https://your-website.example.com/success',
            'webhook_url' => 'https://your-website.example.com/webhooks',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/quick-pay'
payload = {
    "amount": 1234,
    "merchant_payment_reference": "ORDER-1234",
    "payment_description": "Website Order 1234",
    "customer_email_address": "john.smith@example.com",
    "redirect_url": "https:\/\/your-website.example.com\/success",
    "webhook_url": "https:\/\/your-website.example.com\/webhooks"
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

> Example response (200):


{
    "data": {
        "id": "1d368e62",
        "order_id": "1d368e62",
        "amount": 33969,
        "amount_formatted": "£339.69",
        "status": "refunded",
        "reference": "ONE-0980",
        "pay_link": "http://api.wonderful.one/pay/0980",
        "created_at": "2023-04-19T13:48:33.000000Z",
        "updated_at": "2023-05-02T18:47:29.000000Z"
    }
}
 

> Example response (201, Success):


{
    "data": {
        "id": "ed6d3316",
        "order_id": "ed6d3316",
        "amount": 6482,
        "amount_formatted": "£64.82",
        "status": "created",
        "reference": "ORDER-585516",
        "pay_link": "https://api.wonderful.one/pay/DEE1",
        "created_at": "2024-03-05T12:20:47.000000Z",
        "updated_at": "2024-03-05T12:20:47.000000Z"
    }
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Example response (422, Validation failed):


{
    "error": true,
    "message": "Validation failed",
    "invalid_fields": {
        "amount": [
            "The amount field is required."
        ],
        "merchant_payment_reference": [
            "The merchant payment reference field is required."
        ]
    }
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

POST v2/quick-pay

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

BODY PARAMETERS

amount   integer   


Amount in base currency units (GB Pence). Must be at least 5. Example: 1234

merchant_payment_reference   string   


Merchant payment reference to show on the bank statement. Must not be greater
than 18 characters. Example: ORDER-1234

payment_description   string  optional  


Payment description to show against the Order record. Must not be greater than
255 characters. Example: Website Order 1234

customer_email_address   string  optional  


Customer email address. If set, this will link the Order to the Customer record.
Must be a valid email address. Must not be greater than 255 characters. Example:
john.smith@example.com

redirect_url   string   


The URL to redirect to after the payment has been completed. Must be a valid
URL. Example: https://your-website.example.com/success

webhook_url   string  optional  


The URL to send webhook notifications to. Must be a valid URL. Example:
https://your-website.example.com/webhooks


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the Payment. Example: 3ed6d864

order_id   string   


Public API Hash ID of the Order. Example: 3ed6d864

amount   integer   


The amount in base currency units (GB Pence). Example: 1000

amount_formatted   string   


The amount as a formatted currency string. Example: £10.00

status   string   


The status of the Payment. Example: paid

reference   string   


The reference of the Payment. Example: ONE-3ed6

pay_link   string   


The URL to redirect the customer to for payment. Example:
https://wonderful.one/pay/abc123

created_at   string   


The date and time the Payment was created. Example: 2023-05-02T22:

updated_at   string   


The date and time the Payment was last updated. Example: 2023-05-02T22:


LIST PAYMENTS

requires authentication

Returns a collection of all Payment records associated with the Merchant.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/payments?search=ORDER&sort=amount_desc&start_date=2023-01-01&end_date=2023-12-31&per_page=100" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/payments"
);

const params = {
    "search": "ORDER",
    "sort": "amount_desc",
    "start_date": "2023-01-01",
    "end_date": "2023-12-31",
    "per_page": "100",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/payments';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'search' => 'ORDER',
            'sort' => 'amount_desc',
            'start_date' => '2023-01-01',
            'end_date' => '2023-12-31',
            'per_page' => '100',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/payments'
params = {
  'search': 'ORDER',
  'sort': 'amount_desc',
  'start_date': '2023-01-01',
  'end_date': '2023-12-31',
  'per_page': '100',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

> Example response (200):


{
    "data": [
        {
            "id": "1d368e62",
            "order_id": "1d368e62",
            "amount": 33969,
            "amount_formatted": "£339.69",
            "status": "refunded",
            "reference": "ONE-0980",
            "pay_link": "http://api.wonderful.one/pay/0980",
            "created_at": "2023-04-19T13:48:33.000000Z",
            "updated_at": "2023-05-02T18:47:29.000000Z"
        },
        {
            "id": "1d368e62",
            "order_id": "1d368e62",
            "amount": 33969,
            "amount_formatted": "£339.69",
            "status": "refunded",
            "reference": "ONE-0980",
            "pay_link": "http://api.wonderful.one/pay/0980",
            "created_at": "2023-04-19T13:48:33.000000Z",
            "updated_at": "2023-05-02T18:47:29.000000Z"
        }
    ]
}
 

> Example response (200, Filtered search, ordered by descending value):


{
    "data": [
        {
            "id": "ed6d3316",
            "order_id": "ed6d3316",
            "amount": 6482,
            "amount_formatted": "£64.82",
            "status": "created",
            "reference": "ORDER-585516",
            "pay_link": "https://api.wonderful.one/pay/DEE1",
            "created_at": "2024-03-05T12:20:47.000000Z",
            "updated_at": "2024-03-05T12:20:47.000000Z"
        },
        {
            "id": "e2610086",
            "order_id": "e2610086",
            "amount": 4765,
            "amount_formatted": "£47.65",
            "status": "created",
            "reference": "ORDER-115103",
            "pay_link": "https://api.wonderful.one/pay/8552",
            "created_at": "2024-03-05T11:58:24.000000Z",
            "updated_at": "2024-03-05T11:58:24.000000Z"
        },
        {
            "id": "05644446",
            "order_id": "05644446",
            "amount": 3058,
            "amount_formatted": "£30.58",
            "status": "created",
            "reference": "ORDER-314744",
            "pay_link": "https://api.wonderful.one/pay/6666",
            "created_at": "2024-03-05T11:58:22.000000Z",
            "updated_at": "2024-03-05T11:58:22.000000Z"
        },
        {
            "id": "d368ee26",
            "order_id": "d368ee26",
            "amount": 510,
            "amount_formatted": "£5.10",
            "status": "created",
            "reference": "ORDER-302271",
            "pay_link": "https://api.wonderful.one/pay/9887",
            "created_at": "2024-03-05T11:58:23.000000Z",
            "updated_at": "2024-03-05T11:58:23.000000Z"
        }
    ],
    "links": {
        "first": "https://api.wonderful.one/v2/payments?page=1",
        "last": null,
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "path": "https://api.wonderful.one/v2/payments",
        "per_page": "100",
        "to": 4
    }
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/payments

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

QUERY PARAMETERS

search   string  optional  


Filter payment results by order reference. Example: "ONE" or "ABC123". Must not
be greater than 255 characters. Example: ORDER

sort   string  optional  


Order results by column. Example: amount_desc

Must be one of:
 * created_asc
 * created_desc
 * amount_asc
 * amount_desc

start_date   string  optional  


Start date in yyyy-mm-dd format. Must be a valid date. Example: 2023-01-01

end_date   string  optional  


End date in yyyy-mm-dd format. Must be a valid date. Example: 2023-12-31

per_page   integer  optional  


Number of results per page. Default: 25. Must be at least 1. Must not be greater
than 1000. Example: 100


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the Payment. Example: 3ed6d864

order_id   string   


Public API Hash ID of the Order. Example: 3ed6d864

amount   integer   


The amount in base currency units (GB Pence). Example: 1000

amount_formatted   string   


The amount as a formatted currency string. Example: £10.00

status   string   


The status of the Payment. Example: paid

reference   string   


The reference of the Payment. Example: ONE-3ed6

pay_link   string   


The URL to redirect the customer to for payment. Example:
https://wonderful.one/pay/abc123

created_at   string   


The date and time the Payment was created. Example: 2023-05-02T22:

updated_at   string   


The date and time the Payment was last updated. Example: 2023-05-02T22:


SHOW PAYMENT

requires authentication

Shows the details of a specific Payment record.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/payments/culpa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/payments/culpa"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/payments/culpa';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/payments/culpa'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

> Example response (200):


{
    "data": {
        "id": "1d368e62",
        "order_id": "1d368e62",
        "amount": 33969,
        "amount_formatted": "£339.69",
        "status": "refunded",
        "reference": "ONE-0980",
        "pay_link": "http://api.wonderful.one/pay/0980",
        "created_at": "2023-04-19T13:48:33.000000Z",
        "updated_at": "2023-05-02T18:47:29.000000Z"
    }
}
 

> Example response (200):


{
    "data": {
        "id": "e2611865",
        "order_id": "e2611865",
        "amount": 1000,
        "amount_formatted": "£10.00",
        "status": "created",
        "reference": "ONE-0862",
        "pay_link": "https://api.wonderful.one/pay/0862",
        "created_at": "2023-07-07T08:59:55.000000Z",
        "updated_at": "2023-07-07T08:59:55.000000Z"
    }
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/payments/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


The Public API Hash ID of the Payment record. Example: culpa


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the Payment. Example: 3ed6d864

order_id   string   


Public API Hash ID of the Order. Example: 3ed6d864

amount   integer   


The amount in base currency units (GB Pence). Example: 1000

amount_formatted   string   


The amount as a formatted currency string. Example: £10.00

status   string   


The status of the Payment. Example: paid

reference   string   


The reference of the Payment. Example: ONE-3ed6

pay_link   string   


The URL to redirect the customer to for payment. Example:
https://wonderful.one/pay/abc123

created_at   string   


The date and time the Payment was created. Example: 2023-05-02T22:

updated_at   string   


The date and time the Payment was last updated. Example: 2023-05-02T22:


QR CODES


LIST QR CODES

requires authentication

Lists all QR Codes associated with the Merchant

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/qr-codes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/qr-codes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/qr-codes';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/qr-codes'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

> Example response (200):


{
    "data": [
        {
            "id": "1d368e62",
            "amount": 1000,
            "amount_formatted": "£10.00",
            "label": "My first QR code",
            "pay_link": "http://api.wonderful.one/qr-code/e24e",
            "image_link": "http://api.wonderful.one/qr-code-image/e24e",
            "created_at": "2023-07-05T15:03:23.000000Z",
            "updated_at": "2023-07-05T15:03:23.000000Z"
        },
        {
            "id": "1d368e62",
            "amount": 1000,
            "amount_formatted": "£10.00",
            "label": "My first QR code",
            "pay_link": "http://api.wonderful.one/qr-code/e24e",
            "image_link": "http://api.wonderful.one/qr-code-image/e24e",
            "created_at": "2023-07-05T15:03:23.000000Z",
            "updated_at": "2023-07-05T15:03:23.000000Z"
        }
    ]
}
 

> Example response (200):


{
    "data": [
        {
            "id": "1d368e62",
            "amount": 1000,
            "amount_formatted": "£10.00",
            "label": "My first QR code",
            "pay_link": "https://api.wonderful-one.test/qr-code/e24e",
            "image_link": "https://api.wonderful-one.test/qr-code-image/e24e",
            "created_at": "2023-07-05T15:03:23.000000Z",
            "updated_at": "2023-07-05T15:03:23.000000Z"
        },
        {
            "id": "0e261265",
            "amount": 1234,
            "amount_formatted": "£12.34",
            "label": "My second QR code",
            "pay_link": "https://api.wonderful-one.test/qr-code/ed4e",
            "image_link": "https://api.wonderful-one.test/qr-code-image/ed4e",
            "created_at": "2023-07-05T15:04:05.000000Z",
            "updated_at": "2023-07-05T15:04:05.000000Z"
        }
    ]
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/qr-codes

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the QR Code. Example: 3ed6d864

amount   integer   


The amount in base currency units (GB Pence). Example: 1000

amount_formatted   string   


The amount as a formatted currency string. Example: £10.00

label   string   


The label of the QR Code. Example: Blue Widget

pay_link   string   


The URL to redirect the customer to for payment. Example:
https://api.wonderful.one/qr-code/abc123

image_link   string   


Generated QR code image URL that will redirect the customer to the Pay Link.
Example: https://api.wonderful.one/qr-code-image/abc123

created_at   string   


The date and time the QR Code was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the QR Code was last updated. Example:
2023-05-02T22:07:21.000000Z


CREATE QR CODE

requires authentication

Inserts a new QR Code record.

> Example request:

curl --request POST \
    "https://api.wonderful.one/v2/qr-codes" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 1234,
    \"label\": \"Blue Widget\"
}"


const url = new URL(
    "https://api.wonderful.one/v2/qr-codes"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "amount": 1234,
    "label": "Blue Widget"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/qr-codes';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'amount' => 1234,
            'label' => 'Blue Widget',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/qr-codes'
payload = {
    "amount": 1234,
    "label": "Blue Widget"
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

> Example response (200):


{
    "data": {
        "id": "1d368e62",
        "amount": 1000,
        "amount_formatted": "£10.00",
        "label": "My first QR code",
        "pay_link": "http://api.wonderful.one/qr-code/e24e",
        "image_link": "http://api.wonderful.one/qr-code-image/e24e",
        "created_at": "2023-07-05T15:03:23.000000Z",
        "updated_at": "2023-07-05T15:03:23.000000Z"
    }
}
 

> Example response (201, Created successfully):


{
    "data": {
        "id": "0e261265",
        "amount": 1000,
        "amount_formatted": "£10.00",
        "label": "My first QR code",
        "pay_link": "https://api.wonderful-one.test/qr-code/ed4e",
        "image_link": "https://api.wonderful-one.test/qr-code-image/ed4e",
        "created_at": "2023-07-05T15:04:05.000000Z",
        "updated_at": "2023-07-05T15:04:05.000000Z"
    }
}
 

> Example response (422, Validation error):


{
    "error": true,
    "message": "Validation failed",
    "invalid_fields": {
        "amount": [
            "The amount field is required."
        ],
        "label": [
            "The label field is required."
        ]
    }
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

POST v2/qr-codes

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

BODY PARAMETERS

amount   integer   


Amount in base currency units (GB Pence). Must not be greater than 5000000.
Example: 1234

label   string   


QR Code label or description (shown to customers). Must not be greater than 255
characters. Example: Blue Widget


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the QR Code. Example: 3ed6d864

amount   integer   


The amount in base currency units (GB Pence). Example: 1000

amount_formatted   string   


The amount as a formatted currency string. Example: £10.00

label   string   


The label of the QR Code. Example: Blue Widget

pay_link   string   


The URL to redirect the customer to for payment. Example:
https://api.wonderful.one/qr-code/abc123

image_link   string   


Generated QR code image URL that will redirect the customer to the Pay Link.
Example: https://api.wonderful.one/qr-code-image/abc123

created_at   string   


The date and time the QR Code was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the QR Code was last updated. Example:
2023-05-02T22:07:21.000000Z


SHOW QR CODE

requires authentication

Show the details of a specific QR Code record. Pass the Public API Hash ID of
the QR Code you wand to retrieve on the URL.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/qr-codes/0e261265" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/qr-codes/0e261265"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/qr-codes/0e261265';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/qr-codes/0e261265'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

> Example response (200):


{
    "data": {
        "id": "1d368e62",
        "amount": 1000,
        "amount_formatted": "£10.00",
        "label": "My first QR code",
        "pay_link": "http://api.wonderful.one/qr-code/e24e",
        "image_link": "http://api.wonderful.one/qr-code-image/e24e",
        "created_at": "2023-07-05T15:03:23.000000Z",
        "updated_at": "2023-07-05T15:03:23.000000Z"
    }
}
 

> Example response (200):


{
    "data": {
        "id": "0e261265",
        "amount": 1000,
        "amount_formatted": "£10.00",
        "label": "My first QR code",
        "pay_link": "https://api.wonderful-one.test/qr-code/ed4e",
        "image_link": "https://api.wonderful-one.test/qr-code-image/ed4e",
        "created_at": "2023-07-05T15:04:05.000000Z",
        "updated_at": "2023-07-05T15:04:05.000000Z"
    }
}
 

> Example response (404, QR code not found):


{
    "error": true,
    "message": "QR code not found"
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/qr-codes/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


the Public API Hash ID of the QR Code. Example: 0e261265


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the QR Code. Example: 3ed6d864

amount   integer   


The amount in base currency units (GB Pence). Example: 1000

amount_formatted   string   


The amount as a formatted currency string. Example: £10.00

label   string   


The label of the QR Code. Example: Blue Widget

pay_link   string   


The URL to redirect the customer to for payment. Example:
https://api.wonderful.one/qr-code/abc123

image_link   string   


Generated QR code image URL that will redirect the customer to the Pay Link.
Example: https://api.wonderful.one/qr-code-image/abc123

created_at   string   


The date and time the QR Code was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the QR Code was last updated. Example:
2023-05-02T22:07:21.000000Z


UPDATE QR CODE.

requires authentication

Note: You must pass both the amount and label values even if only one of them
has changed.

> Example request:

curl --request PUT \
    "https://api.wonderful.one/v2/qr-codes/0e261265" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 1234,
    \"label\": \"Blue Widget\"
}"


const url = new URL(
    "https://api.wonderful.one/v2/qr-codes/0e261265"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "amount": 1234,
    "label": "Blue Widget"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/qr-codes/0e261265';
$response = $client->put(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'amount' => 1234,
            'label' => 'Blue Widget',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/qr-codes/0e261265'
payload = {
    "amount": 1234,
    "label": "Blue Widget"
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('PUT', url, headers=headers, json=payload)
response.json()

> Example response (200):


{
    "data": {
        "id": "1d368e62",
        "amount": 1000,
        "amount_formatted": "£10.00",
        "label": "My first QR code",
        "pay_link": "http://api.wonderful.one/qr-code/e24e",
        "image_link": "http://api.wonderful.one/qr-code-image/e24e",
        "created_at": "2023-07-05T15:03:23.000000Z",
        "updated_at": "2023-07-05T15:03:23.000000Z"
    }
}
 

> Example response (200, Updated successfully):


{
    "data": {
        "id": "0e261265",
        "amount": 1000,
        "amount_formatted": "£10.00",
        "label": "My first QR code",
        "pay_link": "https://api.wonderful-one.test/qr-code/ed4e",
        "image_link": "https://api.wonderful-one.test/qr-code-image/ed4e",
        "created_at": "2023-07-05T15:04:05.000000Z",
        "updated_at": "2023-07-05T15:04:05.000000Z"
    }
}
 

> Example response (422, Validation error):


{
    "error": true,
    "message": "Validation failed",
    "invalid_fields": {
        "amount": [
            "The amount field is required."
        ],
        "label": [
            "The label field is required."
        ]
    }
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

PUT v2/qr-codes/{id}

PATCH v2/qr-codes/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


The Public API Hash ID of the QR Code. Example: 0e261265

BODY PARAMETERS

amount   integer   


Amount in base currency units (GB Pence). Must not be greater than 5000000.
Example: 1234

label   string   


QR Code label or description (shown to customers). Must not be greater than 255
characters. Example: Blue Widget


RESPONSE

RESPONSE FIELDS

id   string   


Public API Hash ID of the QR Code. Example: 3ed6d864

amount   integer   


The amount in base currency units (GB Pence). Example: 1000

amount_formatted   string   


The amount as a formatted currency string. Example: £10.00

label   string   


The label of the QR Code. Example: Blue Widget

pay_link   string   


The URL to redirect the customer to for payment. Example:
https://api.wonderful.one/qr-code/abc123

image_link   string   


Generated QR code image URL that will redirect the customer to the Pay Link.
Example: https://api.wonderful.one/qr-code-image/abc123

created_at   string   


The date and time the QR Code was created. Example: 2023-05-02T22:07:21.000000Z

updated_at   string   


The date and time the QR Code was last updated. Example:
2023-05-02T22:07:21.000000Z


DELETE QR CODE

requires authentication

The delete QR code endpoint will "soft-delete" a QR code record. There is no
mechanism via the API to restore a deleted record, if you need to restore a
previously deleted record you will need to contact the support team.

Note that a successful delete will return a HTTP 204 with an empty response
body. Attempting to delete an already deleted record will return a HTTP 404 "not
found" response.

> Example request:

curl --request DELETE \
    "https://api.wonderful.one/v2/qr-codes/0e261265" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/qr-codes/0e261265"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/qr-codes/0e261265';
$response = $client->delete(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/qr-codes/0e261265'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('DELETE', url, headers=headers)
response.json()

> Example response (204, QR code deleted):

Empty response
 

> Example response (404, QR code not found):


{
    "error": true,
    "message": "QR code not found"
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

DELETE v2/qr-codes/{id}

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json

URL PARAMETERS

id   string   


The Public API Hash ID of the QR code. Example: 0e261265


SUPPORTED BANKS.

requires authentication

Some API endponts require a bank to be selected. Use this endpoint to get a list
of all the currently active bank IDs, along with their display names and logos.

> Example request:

curl --request GET \
    --get "https://api.wonderful.one/v2/supported-banks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

const url = new URL(
    "https://api.wonderful.one/v2/supported-banks"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$url = 'https://api.wonderful.one/v2/supported-banks';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

import requests
import json

url = 'https://api.wonderful.one/v2/supported-banks'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('GET', url, headers=headers)
response.json()

> Example response (200):


{
    "data": [
        {
            "bank_id": "aib",
            "bank_name": "Allied Irish Bank (GB)",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/aib.png",
            "status": "online"
        },
        {
            "bank_id": "danske",
            "bank_name": "Danske Bank",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/danske.png",
            "status": "online"
        },
        {
            "bank_id": "barclays",
            "bank_name": "Barclays",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/barclays.png",
            "status": "issues"
        },
        {
            "bank_id": "monzo",
            "bank_name": "Monzo",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/monzo.png",
            "status": "online"
        },
        {
            "bank_id": "natwest",
            "bank_name": "Natwest",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/natwest.png",
            "status": "online"
        },
        {
            "bank_id": "revolut",
            "bank_name": "Revolut",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/revolut.png",
            "status": "online"
        },
        {
            "bank_id": "santander",
            "bank_name": "Santander",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/santander.png",
            "status": "issues"
        },
        {
            "bank_id": "starling",
            "bank_name": "Starling",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/starling.png",
            "status": "online"
        },
        {
            "bank_id": "tesco",
            "bank_name": "Tesco",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/tesco.png",
            "status": "online"
        },
        {
            "bank_id": "tide",
            "bank_name": "Tide",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/tide.png",
            "status": "online"
        },
        {
            "bank_id": "tsb",
            "bank_name": "TSB",
            "bank_logo": "https://wonderful.co.uk/img/bank_logos/tsb.png",
            "status": "online"
        }
    ]
}
 

> Example response (401, Invalid auth token):


{
    "error": true,
    "message": "Unauthenticated."
}
 

> Received response:



> Request failed with error:



Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.


REQUEST   

GET v2/supported-banks

HEADERS

Authorization      


Example: Bearer {YOUR_AUTH_KEY}

Content-Type      


Example: application/json

Accept      


Example: application/json


RESPONSE

RESPONSE FIELDS

bank_id   string   


Bank Identifier. Example: 'bos'

bank_name   string   


Display name that can be shown to the customer. Example: 'Bank of Scotland'

bank_logo   string   


URL of the logo that can be shown to the customer. Example:
https://wonderful.co.uk/img/bank_logos/bos.png

status   string   


Status of the bank. Possible values are: online, issues, offline. Example:
'online'

bash javascript php python