{"info":{"_postman_id":"9c53cbed-aec3-4d8a-8936-ee9534b2bb2b","name":"Energylinx APIs version 2 and above","description":"<html><head></head><body><p>Energylinx APIs are used throughout the UK energy industry by many types of user:</p>\n<ul>\n<li>Auto Switching Bots</li>\n<li>FaceBook BOTs</li>\n<li>Energy Supplier</li>\n<li>Market Disrupter</li>\n<li>Collective Purchasing Platforms</li>\n</ul>\n<p>This platform contains access to our Sandbox environment and a number of APIs that we hope will be of interest to you.</p>\n<p>Pricing data within this Sandbox environment is synced every hour with our production database.</p>\n<p>We throttle the Sandbox area so that its performance has restrictions in terms of concurrency and speed.</p>\n<p>Many of the APIs here will operate without any credentials whereas you will find our core APIs require your own set of credentials.</p>\n<p>To obtain your access please contact our API Team on 01259 220000 or <a href=\"mailto:ken.geddes@energylinx.com\">ken.geddes@energylinx.com</a> or <a href=\"mailto:kenny.griffith@energylinx.com\">kenny.griffith@energylinx.com</a>.</p>\n<p>This documentation IS NOT COMPLETE but we aim to keep improving it. A variation of this documentation is available at <a href=\"https://apis2.awsprod.energylinx.com/docs/\">https://apis2.awsprod.energylinx.com/docs/</a> which uses code introspection to generate the documentation and it could provide more useful detail until this edition reaches maturity.</p>\n<p>Due to rapid evolution of the APIs, our version strategy is not conventional. We version by the endpoint, not the API suite. Our advice is that you use the highest version endpoint published in the documentation for the functionality that you are trying to achieve. Publishing of a higher version endpoint automatically deprecates all lower versions of that endpoint although we may keep the lower versions in operation for as long as it may take for all clients to upgrade.</p>\n<p>We do not currently have a mechanism to inform all clients of upgraded endpoints when they are published but we are working on establishing a blog or online forum or a notification list to do that.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"318581","collectionId":"9c53cbed-aec3-4d8a-8936-ee9534b2bb2b","publishedId":"SztBbTXu","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2021-05-10T13:34:31.000Z"},"item":[{"name":"Throttle Limits","item":[],"id":"fa42b616-3cee-48be-9c33-1a3c985f2eea","description":"<p>API supports throttling. That means it will refuse to talk to the client if he reaches a configured number of requests.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>type</th>\n<th>per minute</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*</td>\n<td>500</td>\n</tr>\n<tr>\n<td>Quotes</td>\n<td>500</td>\n</tr>\n<tr>\n<td>Suppliers</td>\n<td>500</td>\n</tr>\n<tr>\n<td>Tariffs</td>\n<td>500</td>\n</tr>\n<tr>\n<td>TILs</td>\n<td>50</td>\n</tr>\n<tr>\n<td>Dynamo</td>\n<td>500</td>\n</tr>\n<tr>\n<td>MPAS</td>\n<td>500</td>\n</tr>\n<tr>\n<td>Bank</td>\n<td>500</td>\n</tr>\n</tbody>\n</table>\n</div><p>Limits are set in <code>settings_awsprod.py</code><br /><a href=\"https://github.com/ENERGYLINX/elex-apis2/blob/master/elexapis2/settings_awsprod.py#L90\">https://github.com/ENERGYLINX/elex-apis2/blob/master/elexapis2/settings_awsprod.py#L90</a></p>\n<p>There may be some exceptions saved in the admin area.</p>\n","event":[{"listen":"prerequest","script":{"id":"25d49cfa-483e-4773-b161-78373d3c05f9","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"e5bb681b-d411-44fe-9af6-3578b52f74c4","type":"text/javascript","exec":[""]}}],"_postman_id":"fa42b616-3cee-48be-9c33-1a3c985f2eea"},{"name":"API status and error messages","item":[],"id":"9b71de56-09b3-4dba-aa40-376044f38a51","description":"<p>A message is a tuple. On first position is human readable message and on second position is error_code.</p>\n<p><strong>This messages works only with our api.exceptions.APIException!</strong></p>\n<p>All error_codes started from 1000 because HTTP has own numbers.</p>\n<h3 id=\"severity-levels\">Severity levels</h3>\n<ul>\n<li>ok</li>\n<li>info</li>\n<li>warning</li>\n<li>critical - <strong>critical errors are logged into Sentry</strong></li>\n</ul>\n<h3 id=\"status-and-error-codes-patterns\">Status and error codes patterns</h3>\n<ul>\n<li>1xxx: OK messages</li>\n<li>2xxx: Client error messages (validation problems or anything going from the client)</li>\n<li>3xxx: Server error messages (anything caused by server, database connection, 3rd services) </li>\n<li>999: Unexpected error</li>\n</ul>\n<h2 id=\"ok-codes-1xxx\">OK codes (1xxx)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>code</th>\n<th>message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1000</td>\n<td>OK</td>\n</tr>\n<tr>\n<td>1001</td>\n<td>Average Savings request has been received</td>\n</tr>\n<tr>\n<td>1002</td>\n<td>All caches invalidated</td>\n</tr>\n<tr>\n<td>1003</td>\n<td>Competitor Range request has been received</td>\n</tr>\n<tr>\n<td>1004</td>\n<td>dist_ids_dict for this input:\\n %s</td>\n</tr>\n<tr>\n<td>1005</td>\n<td>Successfully Made tariff count snapshot rows</td>\n</tr>\n<tr>\n<td>1006</td>\n<td>Response for these input:\\n %s</td>\n</tr>\n<tr>\n<td>1007</td>\n<td>New savings request has been received</td>\n</tr>\n<tr>\n<td>1008</td>\n<td>Pricing Feed for this input \\n: %s</td>\n</tr>\n<tr>\n<td>1009</td>\n<td>Quote request has been received</td>\n</tr>\n<tr>\n<td>1010</td>\n<td>TILs have been received</td>\n</tr>\n<tr>\n<td>1011</td>\n<td>payment_statuses for this input\\n: %s</td>\n</tr>\n<tr>\n<td>1012</td>\n<td>supplier names for this input: \\n%s</td>\n</tr>\n<tr>\n<td>1013</td>\n<td>Supplier list has been returned</td>\n</tr>\n<tr>\n<td>1014</td>\n<td>tariff changes for this input:\\n %s</td>\n</tr>\n<tr>\n<td>1015</td>\n<td>Tariff counts for this input:\\n %s</td>\n</tr>\n<tr>\n<td>1016</td>\n<td>Successfully returned tariff count snapshot rows</td>\n</tr>\n<tr>\n<td>1017</td>\n<td>Tariff pricing record(s) received</td>\n</tr>\n<tr>\n<td>1018</td>\n<td>Tariff names for this input:\\n %s</td>\n</tr>\n<tr>\n<td>1019</td>\n<td>tariffs for this input\\n: %s</td>\n</tr>\n<tr>\n<td>1020</td>\n<td>Warmup calls made with these errors</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>1021</td>\n<td>Full or partial signup has been accepted</td>\n</tr>\n<tr>\n<td>1025</td>\n<td>Signup has been deleted</td>\n</tr>\n<tr>\n<td>1026</td>\n<td>Signup has been sent</td>\n</tr>\n<tr>\n<td>1027</td>\n<td>Signup Tag generated</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>1030</td>\n<td>MPAS: signup data was found</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>1031</td>\n<td>signups_by_affiliate_id_monthly response for this input\\n: %s</td>\n</tr>\n<tr>\n<td>1032</td>\n<td>pricing report v2 sent for these inputs\\n: %s</td>\n</tr>\n<tr>\n<td>1033</td>\n<td>pricing report v3 sent</td>\n</tr>\n<tr>\n<td>1034</td>\n<td>standard tariffs have been returned</td>\n</tr>\n<tr>\n<td>1035</td>\n<td>tariffs with price data have been returned</td>\n</tr>\n<tr>\n<td>1036</td>\n<td>signup details have been returned</td>\n</tr>\n<tr>\n<td>1037</td>\n<td>BANK: Bank account info has been checked</td>\n</tr>\n<tr>\n<td>1038</td>\n<td>MPAS: MPAN helper data found</td>\n</tr>\n<tr>\n<td>1039</td>\n<td>energy switch to %(new_supplier)s on the %(tariff_name)s tariff has been cancelled</td>\n</tr>\n<tr>\n<td>1040</td>\n<td>Tariff list has been returned</td>\n</tr>\n<tr>\n<td>1041</td>\n<td>supplier details have been returned</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>1042</td>\n<td>MPAS: mpan data valid</td>\n</tr>\n<tr>\n<td>1043</td>\n<td>MPAS: mprn data valid</td>\n</tr>\n<tr>\n<td>1044</td>\n<td>MPAS: MPAN OR MPRN address validation done</td>\n</tr>\n<tr>\n<td>1045</td>\n<td>Index/Indices have been returned</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>1046</td>\n<td>MPAS: Addresses found</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>1047</td>\n<td>Charges have been returned</td>\n</tr>\n<tr>\n<td>1048</td>\n<td>Units have been returned</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>1049</td>\n<td>Projection request has been received</td>\n</tr>\n<tr>\n<td>1050</td>\n<td>MPAS: BG PES found for postcode %(postcode)s</td>\n</tr>\n<tr>\n<td>1051</td>\n<td>PAF: Addresses found</td>\n</tr>\n<tr>\n<td>1052</td>\n<td>Quote: Modify successful for quote key %(quote_key)s</td>\n</tr>\n<tr>\n<td>1053</td>\n<td>Gemserv: Addresses found</td>\n</tr>\n<tr>\n<td>1054</td>\n<td>dist_id found</td>\n</tr>\n<tr>\n<td>1055</td>\n<td>dist_id tracking items found for %(affiliate_id)s</td>\n</tr>\n<tr>\n<td>1056</td>\n<td>Supplier SS'es returned</td>\n</tr>\n<tr>\n<td>1057</td>\n<td>Tariffs delta returned for %(supplier_name)s</td>\n</tr>\n<tr>\n<td>1058</td>\n<td>chpa: calculation returned</td>\n</tr>\n<tr>\n<td>1059</td>\n<td>signup_cancel_supplier: signup cancel by supplier succeeded for signupId %(signup_id)s</td>\n</tr>\n<tr>\n<td>1060</td>\n<td>signup_update: signup update succeeded</td>\n</tr>\n<tr>\n<td>1061</td>\n<td>signup_auto: auto signups performed</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"client-side-errors-2xxx\">Client side errors (2xxx)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>code</th>\n<th>message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>2000</td>\n<td>Validation error</td>\n</tr>\n<tr>\n<td>2002</td>\n<td>A price record cannot have a missing or empty dist id</td>\n</tr>\n<tr>\n<td>2003</td>\n<td>A price record cannot have  a missing or empty payType</td>\n</tr>\n<tr>\n<td>2004</td>\n<td>A supplier affiliate is not calling this resource because getting supplier group name caused exception</td>\n</tr>\n<tr>\n<td>2005</td>\n<td>Could not find distid either from GS01 or MPANs for postcode:%(postcode)s (and building:%(building)s</td>\n</tr>\n<tr>\n<td>2006</td>\n<td>Could not find supplier affiliate filter in database, cannot continue further</td>\n</tr>\n<tr>\n<td>2007</td>\n<td>Could not match affiliate id of this partner with an affiliate id in the database</td>\n</tr>\n<tr>\n<td>2008</td>\n<td>Wrong format of precision query string parameter</td>\n</tr>\n<tr>\n<td>2009</td>\n<td>User %(username)s is not allowed access to this resource</td>\n</tr>\n<tr>\n<td>2010</td>\n<td>The affiliate ID (%(affiliate_id)s != %(username)s) from URL doesn't match with username</td>\n</tr>\n<tr>\n<td>2011</td>\n<td>Please provide a precision value in query string between 2 and 6 inclusive</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2012</td>\n<td>Signup does not exist.</td>\n</tr>\n<tr>\n<td>2013</td>\n<td>No signup data uploaded yet</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2014</td>\n<td>User is not authenticated. Please provide valid token or username/password credentials</td>\n</tr>\n<tr>\n<td>2015</td>\n<td>This account does not have permission to access requested content</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2016</td>\n<td>JSON parse error</td>\n</tr>\n<tr>\n<td>2017</td>\n<td>Request has been throttled</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2018</td>\n<td>No valid fuel type found</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2019</td>\n<td>Please provide a valid token or use another way (session or HTTP basic auth) to login to this API</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2020</td>\n<td>Your cooling off period has already expired for %(new_supplier)s and you are therefore unable to cancel this switch.</td>\n</tr>\n<tr>\n<td>2021</td>\n<td>We are unable to process your switch cancellation request, please contact %(new_supplier)s on %(cancel_tel_no)s to cancel</td>\n</tr>\n<tr>\n<td>2022</td>\n<td>Status conditions of this %(fuel_type)s signup are elec: %(status_condition_slug)s/%(status_condition_slug_elec)s and gas: %(status_condition_slug)s/%(status_condition_slug_gas)s. Valid status conditions for cancellation are: %(status_condition_slugs_ok_to_cancel)s.</td>\n</tr>\n<tr>\n<td>2023</td>\n<td>This private endpoint is not available to all affiliate ids</td>\n</tr>\n<tr>\n<td>2024</td>\n<td>Given supplier id is not in database: %(supplier_id)s</td>\n</tr>\n<tr>\n<td>2025</td>\n<td>Given supplier name is not in database: %(supplier_name)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2026</td>\n<td>Assertion error: %s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2027</td>\n<td>unauthorized user cannot use datesToUse = %(dates_to_use)s</td>\n</tr>\n<tr>\n<td>2028</td>\n<td>Could not find matching price data for fuelType: %(fuel_type)s, supplier: %(supplier_name)s, tariff: %(tariff_name)s</td>\n</tr>\n<tr>\n<td>2028</td>\n<td>Supplier %(supplier_name)s or tariff: %(tariff_name)s are blocked for certain affiliate ids</td>\n</tr>\n<tr>\n<td>2029</td>\n<td>chpa: annual heat demand in kwhs, %(demand)s, exceeds %(max)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>2030</td>\n<td>MPAS: dict returned by backend has no matching address</td>\n</tr>\n<tr>\n<td>2031</td>\n<td>MPAS: MPRN more than one, i.e. related, gas meters were found</td>\n</tr>\n<tr>\n<td>2032</td>\n<td>MPAS: MPAN more than one, i.e. related, electric meters were found</td>\n</tr>\n<tr>\n<td>2033</td>\n<td>MPAS: MPRN and gas meter was not found</td>\n</tr>\n<tr>\n<td>2034</td>\n<td>MPAS: MPAN and electric meter was not found</td>\n</tr>\n<tr>\n<td>2035</td>\n<td>MPAS: signupId %(signup_id)s is not found in database for affiliateId %(affiliate_id)s</td>\n</tr>\n<tr>\n<td>2036</td>\n<td>MPAS: signupId %(signup_id)s for affiliateId %(affiliate_id)s for fuelType %(fuel_type)s is not in MPAS hold state, hence not allowed.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"server-side-errors-3xxx\">Server side errors (3xxx)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>code</th>\n<th>message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>3000</td>\n<td>General server error. The report has been sent to our admins.</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3001</td>\n<td>A mandrill error occurred: %(class)s - %(exception)s</td>\n</tr>\n<tr>\n<td>3002</td>\n<td>Could not get handle to mandrill_client: %(class)s - %(exception)s</td>\n</tr>\n<tr>\n<td>3003</td>\n<td>Exception getting mandrill affiliate entries</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3004</td>\n<td>Could not obtain a row containing the count of the review tariffs</td>\n</tr>\n<tr>\n<td>3005</td>\n<td>Could not obtain a row containing the count of the signup tariffs</td>\n</tr>\n<tr>\n<td>3006</td>\n<td>Could not retrieve global_cache_prefix from database, cannot continue further</td>\n</tr>\n<tr>\n<td>3007</td>\n<td>Could not set tariff_key based on provided request_types[]</td>\n</tr>\n<tr>\n<td>3008</td>\n<td>Did not get exactly 3 tariffs in the returned search_list</td>\n</tr>\n<tr>\n<td>3009</td>\n<td>Error while checking domain for spf and dkim: %(class)s - %(exception)s</td>\n</tr>\n<tr>\n<td>3010</td>\n<td>Error while parsing XML returned from backend web service</td>\n</tr>\n<tr>\n<td>3011</td>\n<td>general_database: Exception while executing transactional database queries</td>\n</tr>\n<tr>\n<td>3012</td>\n<td>Exception getting average savings data from database</td>\n</tr>\n<tr>\n<td>3013</td>\n<td>Exception getting suppliers by supplier ids from database</td>\n</tr>\n<tr>\n<td>3014</td>\n<td>Exception getting tariff changes from database</td>\n</tr>\n<tr>\n<td>3016</td>\n<td>Exception: multiple records match record_key: %(records)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3021</td>\n<td>Exception while calling stored procedure IncrementAndGetGlobalCachePrefix</td>\n</tr>\n<tr>\n<td>3022</td>\n<td>Exception while committing transaction</td>\n</tr>\n<tr>\n<td>3023</td>\n<td>MPAS: Exception while getting backend version from database</td>\n</tr>\n<tr>\n<td>3024</td>\n<td>Exception while getting pricing feed using %(proc_name)s from database</td>\n</tr>\n<tr>\n<td>3025</td>\n<td>Exception while getting suppliers from database</td>\n</tr>\n<tr>\n<td>3026</td>\n<td>Exception while getting tariff cache prefix from database</td>\n</tr>\n<tr>\n<td>3027</td>\n<td>Exception while getting tariffs using %(proc_name)s from database</td>\n</tr>\n<tr>\n<td>3028</td>\n<td>Exception while opening database connection and starting transaction</td>\n</tr>\n<tr>\n<td>3029</td>\n<td>Exception while querying database for supplier affiliate filter</td>\n</tr>\n<tr>\n<td>3031</td>\n<td>Exception while querying database for the count of signup or review tariffs</td>\n</tr>\n<tr>\n<td>3032</td>\n<td>Exception while querying database for the list of tariffs to update/delete for %(supplierName)s, %(tariffName)s, %(LiveOrArchive)s</td>\n</tr>\n<tr>\n<td>3033</td>\n<td>Exception while querying database to insert a new record for %(record)s, %(earliest_time_created)s</td>\n</tr>\n<tr>\n<td>3034</td>\n<td>Exception while querying database to mark a tariff as deleted for rocord_id: %(record_id)s</td>\n</tr>\n<tr>\n<td>3035</td>\n<td>Exception while querying database to see if a tariff record exists for record_key: %(record_key)s</td>\n</tr>\n<tr>\n<td>3036</td>\n<td>Exception while querying database to update a record for %(record)s, %(earliest_time_created)s</td>\n</tr>\n<tr>\n<td>3037</td>\n<td>Exception while rolling back transaction</td>\n</tr>\n<tr>\n<td>3038</td>\n<td>Exception while selecting recent tariff count snapshots from database</td>\n</tr>\n<tr>\n<td>3039</td>\n<td>Exception while trying to get Europe/London cursor and connection</td>\n</tr>\n<tr>\n<td>3040</td>\n<td>Exception while trying to get UTC cursor and connection</td>\n</tr>\n<tr>\n<td>3041</td>\n<td>Exception while updating database to save tariff count snapshot rows</td>\n</tr>\n<tr>\n<td>3042</td>\n<td>Backend exception</td>\n</tr>\n<tr>\n<td>3043</td>\n<td>fuelType from backend call should be one of dual, electric or gas</td>\n</tr>\n<tr>\n<td>3044</td>\n<td>get_dist_id failed to return the dist_id for postcode, building: %(postcode)s %(building)s</td>\n</tr>\n<tr>\n<td>3045</td>\n<td>get_dist_id failed to return the dist_id for postcode: %(postcode)s</td>\n</tr>\n<tr>\n<td>3046</td>\n<td>Get request to instant results web service failed</td>\n</tr>\n<tr>\n<td>3047</td>\n<td>MPAS: Get request to mpas service to get dist_id failed</td>\n</tr>\n<tr>\n<td>3048</td>\n<td>MPAS: Get request to mpas service to get distid failed</td>\n</tr>\n<tr>\n<td>3049</td>\n<td>MPAS: backend version from database is empty</td>\n</tr>\n<tr>\n<td>3050</td>\n<td>No serializer class configured</td>\n</tr>\n<tr>\n<td>3051</td>\n<td>No suppliers obtained from database</td>\n</tr>\n<tr>\n<td>3052</td>\n<td>No tariffs obtained from database</td>\n</tr>\n<tr>\n<td>3053</td>\n<td>Post request to backend web service failed</td>\n</tr>\n<tr>\n<td>3054</td>\n<td>query_for_payment_status failed to return payment statuses</td>\n</tr>\n<tr>\n<td>3055</td>\n<td>query_for_suppliers failed to return suppliers</td>\n</tr>\n<tr>\n<td>3058</td>\n<td>No tariffs could be found that match the requested product codes</td>\n</tr>\n<tr>\n<td>3059</td>\n<td>query_for_tariffs failed to return tariffs</td>\n</tr>\n<tr>\n<td>3060</td>\n<td>Response XML does not contain EnergylinxSearchResults block</td>\n</tr>\n<tr>\n<td>3061</td>\n<td>Response XML does not contain EnergylinxSearchResults</td>\n</tr>\n<tr>\n<td>3062</td>\n<td>Response XML has an error_list: %(error_list)s</td>\n</tr>\n<tr>\n<td>3063</td>\n<td>Tariff cache prefix from database is empty</td>\n</tr>\n<tr>\n<td>3064</td>\n<td>Unable to locate a better energy plan to match your situation. error_list: %(error_list)s</td>\n</tr>\n<tr>\n<td>3065</td>\n<td>XML backend authorization problem</td>\n</tr>\n<tr>\n<td>3066</td>\n<td>There is a problem connecting to a backend service</td>\n</tr>\n<tr>\n<td>3067</td>\n<td>Backend returned malformed response</td>\n</tr>\n<tr>\n<td>3068</td>\n<td>Database error, please repeat this operation later</td>\n</tr>\n<tr>\n<td>3069</td>\n<td>Energy profile for this quoteKey does not exist</td>\n</tr>\n<tr>\n<td>3070</td>\n<td>Price given does not exist in quote</td>\n</tr>\n<tr>\n<td>3071</td>\n<td>MPAS: signup data found but failed response validation</td>\n</tr>\n<tr>\n<td>3072</td>\n<td>MPAS: Get request to backend service to get signup data failed</td>\n</tr>\n<tr>\n<td>3073</td>\n<td>Unsupported quote version %(quote_version)s given for price lookup</td>\n</tr>\n<tr>\n<td>3074</td>\n<td>Exception while writing quote to quotesIssued in database</td>\n</tr>\n<tr>\n<td>3075</td>\n<td>Could not get quoteId or quoteJson from response_data while writing to quotesIssued</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3076</td>\n<td>MPAS: MPAN and electric meter was not found</td>\n</tr>\n<tr>\n<td>3077</td>\n<td>MPAS: MPRN and gas meter was not found</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3079</td>\n<td>Exception getting standard tariffs from database</td>\n</tr>\n<tr>\n<td>3081</td>\n<td>Invalid API version provided to tariffs changes processor</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3082</td>\n<td>Quote key has expired because the quote provided for this signup was generated more than 1 hour ago or prices have been updated since this quote was generated</td>\n</tr>\n<tr>\n<td>3083</td>\n<td>Unable to find quote key in energy search profile in database</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3084</td>\n<td>Exception getting signup details from database</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3085</td>\n<td>MPAS: MPAN helper data found but failed response validation</td>\n</tr>\n<tr>\n<td>3086</td>\n<td>MPAS: Get request to backend service by postcode failed</td>\n</tr>\n<tr>\n<td>3087</td>\n<td>MPAS: dict returned by backend has error</td>\n</tr>\n<tr>\n<td>3088</td>\n<td>Exception while setting signup cancel in database</td>\n</tr>\n<tr>\n<td>3089</td>\n<td>Exception getting signup cancel details from database</td>\n</tr>\n<tr>\n<td>3090</td>\n<td>There was an error while sending email using the %(mandrill_template_slug)s template.</td>\n</tr>\n<tr>\n<td>3091</td>\n<td>MPAS: dict returned by backend has no matching address</td>\n</tr>\n<tr>\n<td>3092</td>\n<td>MPAS: MPAN more than one, i.e. related, electric meters were found</td>\n</tr>\n<tr>\n<td>3093</td>\n<td>Exception while mapping supplier group names to db values</td>\n</tr>\n<tr>\n<td>3094</td>\n<td>Exception while mapping supplier group names to api values</td>\n</tr>\n<tr>\n<td>3095</td>\n<td>Exception in database while mapping supplier id to supplier name</td>\n</tr>\n<tr>\n<td>3096</td>\n<td>Exception getting supplier name from database</td>\n</tr>\n<tr>\n<td>3097</td>\n<td>Decrypting bank account information problems</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3099</td>\n<td>supplier_details: query_for_supplier_details failed to return supplier details</td>\n</tr>\n<tr>\n<td>3100</td>\n<td>supplier_details: supplier details found but failed response validation: %(exception_str)s</td>\n</tr>\n<tr>\n<td>3101</td>\n<td>supplier_details: no supplier details for given id were found</td>\n</tr>\n<tr>\n<td>3102</td>\n<td>price_data: tariffs with price data were found but failed response validation %(exception_str)s</td>\n</tr>\n<tr>\n<td>3103</td>\n<td>quote: quote was generated but failed response validation %(exception_str)s</td>\n</tr>\n<tr>\n<td>3104</td>\n<td>supplier_details: no supplier details for given filter data were found</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3105</td>\n<td>general: Exception while executing database query</td>\n</tr>\n<tr>\n<td>3106</td>\n<td>general: Database has more than one record for affiliate id: %(affiliate_id)s</td>\n</tr>\n<tr>\n<td>3107</td>\n<td>general: Database has no record for affiliate id: %(affiliate_id)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3108</td>\n<td>Exception while getting cache prefix from database using stored proc: %(stored_proc_name)s</td>\n</tr>\n<tr>\n<td>3109</td>\n<td>Cache prefix from database is empty using stored proc: %(stored_proc_name)s</td>\n</tr>\n<tr>\n<td>3110</td>\n<td>General Mandrill send error: %(mandrill_error)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3111</td>\n<td>Exception while querying database to get tariff group ids to update and delete for group_key_dict: %(group_key_dict)s</td>\n</tr>\n<tr>\n<td>3112</td>\n<td>Tariff group ids to update and insert cannot both be empty</td>\n</tr>\n<tr>\n<td>3113</td>\n<td>Exception while querying database to get tariff group earliest time created for %(ids)s</td>\n</tr>\n<tr>\n<td>3114</td>\n<td>Exception while writing to price upload log in S3</td>\n</tr>\n<tr>\n<td>3115</td>\n<td>MPAS: Get request to backend service to get mpas data failed</td>\n</tr>\n<tr>\n<td>3116</td>\n<td>general: API response failed validation %(exception_str)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3118</td>\n<td>index: pricing error, data checking is being done, errors: %(index_errors)s</td>\n</tr>\n<tr>\n<td>3119</td>\n<td>index: incomplete, errors: %(index_errors)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3120</td>\n<td>general: cache_prefix %(cache_prefix)s provided to mysql cache read is not valid, it should be one of %(allowed_cache_prefixes)s</td>\n</tr>\n<tr>\n<td>3121</td>\n<td>general: type_of_result %(type_of_result)s provided to mysql cache read is not valid, it should be one of %(allowed_types_of_result)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3122</td>\n<td>MPAS: Request to backend service failed, inputs: %(input_dict)s</td>\n</tr>\n<tr>\n<td>3123</td>\n<td>MPAS: BG PES not found for postcode %(postcode)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3124</td>\n<td>imgix: Image was not downloaded: %(url)s</td>\n</tr>\n<tr>\n<td>3125</td>\n<td>imgix: : Image filename has no extension: %(filename)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3126</td>\n<td>mpas: outcode is not valid: %(outcode)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3127</td>\n<td>imgix: : error while purging url from cache: %(url)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3128</td>\n<td>paf: : no version found of type %(version_type)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3129</td>\n<td>Quote: Modify failed for quote key %(quote_key)s</td>\n</tr>\n<tr>\n<td>3130</td>\n<td>Quote: Modify failed for quote key %(stmts)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3131</td>\n<td>Gemserv: SOAP request failed for postcode %(postcode)s, bldg %(bldg)s, license_key %(license_key)s, soap_message %(soap_message)s, soap_subcodes %(soap_subcodes)s</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3132</td>\n<td>dist_id not found for postcode: %(postcode)s</td>\n</tr>\n<tr>\n<td>3133</td>\n<td>MPAS: MPRN more than one, i.e. related, gas meters were found</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>3134</td>\n<td>BANK: Unknown error while checking bank account info</td>\n</tr>\n<tr>\n<td>3135</td>\n<td>chpa: error getting average gas price</td>\n</tr>\n<tr>\n<td>3136</td>\n<td>bletchley_sfdc: Could not get Oauth access token: %(exception_str)s</td>\n</tr>\n<tr>\n<td>3137</td>\n<td>bletchley_sfdc: Email send failed: %(exception_str)s</td>\n</tr>\n<tr>\n<td>3138</td>\n<td>bletchley_sfdc: Data update failed: %(exception_str)s</td>\n</tr>\n<tr>\n<td>3139</td>\n<td>signup_cancel_supplier: signup cancel by supplier failed: %(exception_str)s</td>\n</tr>\n</tbody>\n</table>\n</div>","event":[{"listen":"prerequest","script":{"id":"fde9f8c8-2655-46d8-b61e-2de4a0fddeac","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"01866fd6-4abe-486b-8e24-91a49f144386","type":"text/javascript","exec":[""]}}],"_postman_id":"9b71de56-09b3-4dba-aa40-376044f38a51"},{"name":"Switch (Signup) Status Conditions","item":[{"name":"Switch (Signup) Status Conditions","id":"68c21b96-4bec-4b03-89fd-d506ee05af5e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"signupIds\": [\n      4222404\n  ]\n}"},"url":"{{host}}/v3.1/partner-resources/{{partner_affiliate_id}}/reports/signup-details/","description":"<p>The interpretation of the final status condition involves three fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th></th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statusConditionSlug</code></td>\n<td>It‘s populated for <strong>all fuel types</strong> (<code>elec</code>, <code>gas</code>, <code>elecgas</code>) until the signup is <code>awaiting-export</code>, or if it's rejected before that point. It applies to the entire signup record (not just to one fuel).</td>\n</tr>\n<tr>\n<td><code>statusConditionSlugElec</code></td>\n<td>It‘s populated at the point of a successful signup (<code>awaiting-export</code>), and it applies to <strong>electricity</strong> from that point onward.</td>\n</tr>\n<tr>\n<td><code>statusConditionSlugGas</code></td>\n<td>It‘s populated at the point of a successful signup (<code>awaiting-export</code>), and it applies to <strong>gas</strong> from that point onward.</td>\n</tr>\n</tbody>\n</table>\n</div><p>There are four groups of status conditions and the flow between them is as follows: </p>\n<ol>\n<li>group #1 (see table below)</li>\n<li>Once an application leaves group #1<ul>\n<li>it enters <strong>group #2</strong> for processing and is considered a <strong>completed signup</strong></li>\n<li><strong>OR</strong> it enters <strong>group #4</strong> for <strong>failure</strong>.</li>\n</ul>\n</li>\n<li>After processing, it either ends up in <ul>\n<li><strong>group #3 (success)</strong></li>\n<li><strong>OR group #4 (failure)</strong>.</li>\n</ul>\n</li>\n</ol>\n<h2 id=\"groups-of-status-conditions\">Groups of status conditions</h2>\n<h3 id=\"group-1--started-switch\">Group #1 – Started Switch</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>application-awaiting-confirmation</code></td>\n<td>Application is not complete yet; used for call centres; not used for API switches.</td>\n</tr>\n<tr>\n<td><code>mpan-and-mprn-not-found</code></td>\n<td>Elec and gas meter information not found; customer cannot be exported in nightly batch file.</td>\n</tr>\n<tr>\n<td><code>mpan-not-found</code></td>\n<td>Elec meter information not found; customer cannot be exported in nightly batch file.</td>\n</tr>\n<tr>\n<td><code>mprn-not-found</code></td>\n<td>Gas meter information not found; customer cannot be exported in nightly batch file.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"group-2--switch-in-progress\">Group #2 – Switch in Progress</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>application-awaiting-export</code></td>\n<td>Application is complete and will appear in the nightly batch file within 24 hours.</td>\n</tr>\n<tr>\n<td><code>application-exported</code></td>\n<td>Application was exported to supplier in nightly batch file and switch progress is now in the hands of the supplier. Most suppliers will send a welcome e-mail (or letter) within 5 days of receiving the switch, followed shortly with confirmation of the switch date.</td>\n</tr>\n<tr>\n<td><code>registration-accepted</code></td>\n<td>Application is in a pending state between application export and application success or failure; information was provided from the supplier that the switch has progressed, but is not necessarily complete and can still be cancelled; we may not get any further updates from the supplier until <code>commission-paid-by-supplier</code>.</td>\n</tr>\n<tr>\n<td><code>registration-queried</code></td>\n<td>Application is in a pending state between application export and application success or failure; information from the supplier that switch is pending. (This status is no longer used.)</td>\n</tr>\n<tr>\n<td><code>registration-objected</code></td>\n<td>Application is in a pending state between application export and application success or failure; current supplier has objected to the switch to the new supplier.</td>\n</tr>\n<tr>\n<td><code>commission-partially-paid-by-supplier</code></td>\n<td>The supplier has received the energy switch from Energylinx and paid a percentage of the CPA based on gross switches received. This does not mean that the switch will proceed and is purely used for gross financial reporting. Due to the switch not actually being confirmed partners are not paid by ELX on a partial basis.</td>\n</tr>\n<tr>\n<td><code>commission-unpayable</code></td>\n<td>This status covers switches relating to insolvent suppliers, certain other bad debt categories and old switches that did not progress to completion.</td>\n</tr>\n<tr>\n<td><code>supplier-invoiced</code></td>\n<td>The supplier has been invoiced. The application is very likely to succeed but can still be cancelled by the supplier. This status can take several months to reach.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"group-3--switch-successful\">Group #3 – Switch Successful</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>commission-paid-by-supplier</code></td>\n<td>The supplier has paid Energylinx and indicated the application has completely succeeded. However, this status can take several months to reach.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"group-4--switch-failednot-active\">Group #4 – Switch Failed/Not Active</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>test-signup</code></td>\n<td>The application was a test signup and will not be exported to suppliers.</td>\n</tr>\n<tr>\n<td><code>cancelled-direct-by-customer</code></td>\n<td>The customer has contacted us and cancelled the application; this can only be done during the cooling off period.</td>\n</tr>\n<tr>\n<td><code>cancelled-by-supplier</code></td>\n<td>The supplier has cancelled the application.</td>\n</tr>\n<tr>\n<td><code>registration-rejected</code></td>\n<td>The supplier has rejected the application; if we can resolve the issue on our side, we will, otherwise the signup will generally later be moved to cancelled-by-supplier.</td>\n</tr>\n<tr>\n<td><code>duplicate-application</code></td>\n<td>If the customer makes multiple signups within the same day, their previous un-exported signup(s) are marked as duplicates and cancelled.</td>\n</tr>\n<tr>\n<td><code>erroneous-transfer</code></td>\n<td>The application was arranged without the customer’s permission (rare).</td>\n</tr>\n<tr>\n<td><code>clawback</code></td>\n<td>The supplier has rejected the application.</td>\n</tr>\n<tr>\n<td><code>profanity</code></td>\n<td>Profane words were detected in customer signup record and it was automatically cancelled; signup was potentially fake; customer service will check and usually re-instate it if entirely correct.</td>\n</tr>\n<tr>\n<td><code>time-expired</code></td>\n<td>The application was not completed in a timely manner—customer signed up without MPAN or MPRN and did not supply it within 7 days <strong>OR</strong> did not supply it before the selected tariff went off sale.</td>\n</tr>\n<tr>\n<td><code>time-expired-without-mpas</code></td>\n<td>Same as time-expired.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v3.1","partner-resources","{{partner_affiliate_id}}","reports","signup-details",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"68c21b96-4bec-4b03-89fd-d506ee05af5e"}],"id":"d88530ed-9898-4b1c-b312-da3024a1ceea","_postman_id":"d88530ed-9898-4b1c-b312-da3024a1ceea","description":""},{"name":"Tariff and Supplier lists","item":[{"name":"Supplier LIst","event":[{"listen":"test","script":{"id":"9844448e-b670-4219-b8a5-0429b5e6d746","exec":["pm.test(\"response is ok\", function () {","    pm.response.to.have.status(200);","});","pm.test(\"tariffs should contains required properties\", function () { ","    var jsonData = pm.response.json();","    var fields = [\"fuelType\", \"tariffName\", \"payTypes\", \"distIds\", \"meterTypesElec\", \"regulatoryStartDate\", \"regulatoryEndDate\", \"onsaleStartDate\", \"onsaleEndDate\", \"onlineTariffFlag\", \"paperlessBillingFlag\", \"tariffTypes\", \"fixedTermMonths\", \"fixedTermEndDate\", \"priceLimitKWHMinElec\", \"priceLimitKWHMaxElec\", \"priceLimitKWHMinGas\", \"priceLimitKWHMaxGas\", \"tariffCode\", \"isSwitchableByPhone\"];","    ","    fields.forEach(function(fieldName) {","        // Do test for each required elements in tariffs","        pm.expect(jsonData.data['tariffs'][0][fieldName]);","    });","});"],"type":"text/javascript"}}],"id":"9baa14af-329e-404e-ac5b-eab01f76efa5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"distIds\": [\"16\"],\n\t\"payTypes\": [1],\n\t\"fuelTypes\": [\"elecgas\"],\n\t\"meterTypesElec\": [\"E7\"],\n\t\"datesToUse\": \"onsale-dates\"\n}"},"url":"{{host}}/v3.1/partner-resources/{{partner_affiliate_id}}/suppliers/","urlObject":{"path":["v3.1","partner-resources","{{partner_affiliate_id}}","suppliers",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9baa14af-329e-404e-ac5b-eab01f76efa5"},{"name":"Supplier LIst Complete Filters","event":[{"listen":"test","script":{"id":"9844448e-b670-4219-b8a5-0429b5e6d746","exec":["pm.test(\"response is ok\", function () {","    pm.response.to.have.status(200);","});","pm.test(\"tariffs should contains required properties\", function () { ","    var jsonData = pm.response.json();","    var fields = [\"fuelType\", \"tariffName\", \"payTypes\", \"distIds\", \"meterTypesElec\", \"regulatoryStartDate\", \"regulatoryEndDate\", \"onsaleStartDate\", \"onsaleEndDate\", \"onlineTariffFlag\", \"paperlessBillingFlag\", \"tariffTypes\", \"fixedTermMonths\", \"fixedTermEndDate\", \"priceLimitKWHMinElec\", \"priceLimitKWHMaxElec\", \"priceLimitKWHMinGas\", \"priceLimitKWHMaxGas\", \"tariffCode\", \"isSwitchableByPhone\"];","    ","    fields.forEach(function(fieldName) {","        // Do test for each required elements in tariffs","        pm.expect(jsonData.data['tariffs'][0][fieldName]);","    });","});"],"type":"text/javascript"}}],"id":"42ab5317-0ab7-4ba9-8766-2fa982a2769d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"distIds\": [\"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\"],\n\t\"payTypes\": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n\t\"fuelTypes\": [\"elecgas\", \"elec\", \"gas\"],\n\t\"meterTypesElec\": [\"E7\", \"STD\"],\n\t\"datesToUse\": \"onsale-dates\"\n}"},"url":"{{host}}/v3.1/partner-resources/{{partner_affiliate_id}}/suppliers/","urlObject":{"path":["v3.1","partner-resources","{{partner_affiliate_id}}","suppliers",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"42ab5317-0ab7-4ba9-8766-2fa982a2769d"},{"name":"Tariff LIst","event":[{"listen":"test","script":{"id":"9844448e-b670-4219-b8a5-0429b5e6d746","exec":["pm.test(\"response is ok\", function () {","    pm.response.to.have.status(200);","});","pm.test(\"tariffs should contains required properties\", function () { ","    var jsonData = pm.response.json();","    var fields = [\"fuelType\", \"tariffName\", \"payTypes\", \"distIds\", \"meterTypesElec\", \"regulatoryStartDate\", \"regulatoryEndDate\", \"onsaleStartDate\", \"onsaleEndDate\", \"onlineTariffFlag\", \"paperlessBillingFlag\", \"tariffTypes\", \"fixedTermMonths\", \"fixedTermEndDate\", \"priceLimitKWHMinElec\", \"priceLimitKWHMaxElec\", \"priceLimitKWHMinGas\", \"priceLimitKWHMaxGas\", \"tariffCode\", \"isSwitchableByPhone\"];","    ","    fields.forEach(function(fieldName) {","        // Do test for each required elements in tariffs","        pm.expect(jsonData.data['tariffs'][0][fieldName]);","    });","});"],"type":"text/javascript"}}],"id":"01be0687-99f9-44d3-ac81-b55109d93945","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"supplierName\": \"E.ON\",\n\t\"distIds\": [\"16\"],\n\t\"payTypes\": [1],\n\t\"fuelTypes\": [\"elecgas\"],\n\t\"meterTypesElec\": [\"E7\"],\n\t\"datesToUse\": \"onsale-dates\"\n}"},"url":"{{host}}/v3.2/partner-resources/{{partner_affiliate_id}}/tariffs/","urlObject":{"path":["v3.2","partner-resources","{{partner_affiliate_id}}","tariffs",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"01be0687-99f9-44d3-ac81-b55109d93945"},{"name":"Tariff LIst Complete Filters","event":[{"listen":"test","script":{"id":"9844448e-b670-4219-b8a5-0429b5e6d746","exec":["pm.test(\"response is ok\", function () {","    pm.response.to.have.status(200);","});","pm.test(\"tariffs should contains required properties\", function () { ","    var jsonData = pm.response.json();","    var fields = [\"fuelType\", \"tariffName\", \"payTypes\", \"distIds\", \"meterTypesElec\", \"regulatoryStartDate\", \"regulatoryEndDate\", \"onsaleStartDate\", \"onsaleEndDate\", \"onlineTariffFlag\", \"paperlessBillingFlag\", \"tariffTypes\", \"fixedTermMonths\", \"fixedTermEndDate\", \"priceLimitKWHMinElec\", \"priceLimitKWHMaxElec\", \"priceLimitKWHMinGas\", \"priceLimitKWHMaxGas\", \"tariffCode\", \"isSwitchableByPhone\"];","    ","    fields.forEach(function(fieldName) {","        // Do test for each required elements in tariffs","        pm.expect(jsonData.data['tariffs'][0][fieldName]);","    });","});"],"type":"text/javascript"}}],"id":"1781eba0-9e49-4593-8204-1dc530bbfcaf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"supplierName\": \"E.ON\",\n\t\"distIds\": [\"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\"],\n\t\"payTypes\": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n\t\"fuelTypes\": [\"elecgas\", \"elec\", \"gas\"],\n\t\"meterTypesElec\": [\"E7\", \"STD\"],\n\t\"datesToUse\": \"onsale-dates\"\n}"},"url":"{{host}}/v3.2/partner-resources/{{partner_affiliate_id}}/tariffs/","urlObject":{"path":["v3.2","partner-resources","{{partner_affiliate_id}}","tariffs",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1781eba0-9e49-4593-8204-1dc530bbfcaf"}],"id":"261e95ea-a911-4e62-8e0e-44b9e77978f7","description":"<p>Tariff and Supplier listing endpoints are important endpoints for bulding a typical web journey. They allow the web developer to streamline drop-down menus to be shown to the end user by using filters. The more information that a journey can send into the filter, the better the probability of a successful quote.</p>\n<p>The latest version of the supplier listing endpoint is v3.1 and the tariff listing endpoint is v3.2.</p>\n<p>A typical input json for the suppliers list looks like:</p>\n<p>{\n    \"distIds\": [\"16\"],\n    \"payTypes\": [1],\n    \"fuelTypes\": [\"elecgas\"],\n    \"meterTypesElec\": [\"E7\"],\n    \"datesToUse\": \"onsale-dates\"\n}</p>\n<p>Once a supplier is selected, the same input json as above can be used with an additional \"supplierName\" input which is a mandatory input.</p>\n<p>All of the above filter inputs are optional. If a filter input is missing or is an empty list, the endpoint assumes that all possible values in the list are in the request.</p>\n<p>Some notes on datesToUse.</p>\n<p>onsale-dates:</p>\n<p>Onsale dates are used for the query. That means that only tariffs which are offered for sale at the present moment will be returned. A typical use case for such a query is if you are building a client application which needs to show tariffs which a domestic consumer could switch to today.</p>\n<p>In a comparison site UI flow, you might like to ask the domestic consumer to choose from a list of tariffs that she might be interested in switching to and in that scenario, you would use this view.</p>\n<p>regulatory-dates:</p>\n<p>Regulatory dates are used for the query. That means that only tariffs that a domestic consumer could be using will be returned. A typical use case for such a query is if you are building a client application which needs to show tariffs which a domestic consumer could be using today.</p>\n<p>In a comparison site UI flow, you might like to ask the domestic consumer to choose from a list of existing tariffs in preparation for issuing a quote and in that scenario, you would use this view.</p>\n<p>regulatory-dates-with-3-month-buffer:</p>\n<p>Same as above except that the regulatory end date is extended by 3 months. So, it can return a few more tariffs than above. This the default value if not provided in input.</p>\n<p>no-dates:</p>\n<p>All tariffs offered at any point in time will be returned but this view is only available for cients authenticated as super users.</p>\n","event":[{"listen":"prerequest","script":{"id":"8530ada3-4953-43e3-a8b2-e313498db2fe","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"086610d6-d2c2-47dd-ae61-da982ec02165","type":"text/javascript","exec":[""]}}],"_postman_id":"261e95ea-a911-4e62-8e0e-44b9e77978f7"},{"name":"Quotes","item":[{"name":"Gas Only Quote","event":[{"listen":"test","script":{"type":"text/javascript","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""]}}],"id":"588757eb-7642-4f3e-a41d-f339b05d278f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"includeTestTariffs\": false,\n    \"postcode\": \"FK10 3SA\", \n    \"dnoArea\": \"\",\n    \"existingSupplierIdGas\": null,\n    \"existingSupplierNameGas\": \"British Gas\", \n    \"existingTariffNameGas\": \"Standard\", \n    \"meterTypeGas\": \"\", \n    \"existingPayTypesGas\": [1,2,3], \n    \"desiredPayTypes\": [1,2,3], \n    \"existingkWhsGas\": \"3300\", \n    \"existingkWhsIntervalGas\": \"year\",\n    \"existingSpendGas\": null, \n    \"existingSpendIntervalGas\": \"\",\n    \"existingPaperlessGas\": null, \n    \"hasSmartMeterGas\": null, \n    \"hasGreenDeal\": null, \n    \"hasIgtMeter\": null,\n\n    \"filterSupplierGroupId\": null,\n    \"filterSupplierGroup\": \"\", \n    \"filterTariffNames\": [], \n    \"filterPaperlessBilling\": \"NO\", \n    \"filterTariffComparison\": \"all\",\n    \"filterCompetitorRange\": \"\",\n    \"useDefaultExistingSuppliers\": false,\n\n    \"flagCallName\": \"\",\n    \"searchStartDate\": null,\n    \"searchEndDate\": null,\n    \"switchDate\": null,\n\n    \"rmrCompliantCalculation\": true, \n    \"showTcr\": true, \n    \"showNewTil\": true,\n    \"showExistingTil\": true,\n    \"sortBy\": \"\",\n  \"showHistoricTariffs\": false,\n  \"rmrCompliantCalculationNew\": true,\n  \"rmrNonCompliantCalculation\": true,\n\n    \"unknownUsageTypeGas\": \"\",\n    \"ofgemAverageGas\": \"\",\n    \"peopleGas\": null,\n    \"typeOfHomeGas\": null,\n    \"bedroomsGas\": null,\n    \"readingStartDateGas\": null,\n    \"readingStartGas\": null,\n    \"readingEndDateGas\": null,\n    \"readingEndGas\": null,\n    \"readingMeasuringUnitGas\": \"\",\n    \"title\": \"Mr\",\n    \"forename\": \"Test\",\n    \"surname\": \"Test\",\n    \"email\": \"cx@initd.cz\",\n    \"phone\": \"07777636388\",\n    \"dpaSupplierEmail\": true,\n    \"bnamOrBnum\": \"Test 1234\"\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/gas/","description":"<p>Explanation of some input fields. The same input fields are repeated in the elecgas (dual fuel) quote inputs so this explanation applies to the elecgas/ endpoint also:</p>\n","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","gas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"588757eb-7642-4f3e-a41d-f339b05d278f"},{"name":"Electricity Only Quote","event":[{"listen":"test","script":{"type":"text/javascript","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""]}}],"id":"a9421819-10f9-46e7-8e4f-3ef93e2062d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"includeTestTariffs\": false,\n    \"postcode\": \"E18 2HN\", \n    \"dnoArea\": \"\",\n    \"existingSupplierIdElec\": null,\n    \"existingSupplierNameElec\": \"British Gas\", \n    \"existingTariffNameElec\": \"Standard\", \n    \"meterTypeElec\": \"STD\", \n    \"nightUsePercentElec\": null, \n    \"existingPayTypesElec\": [1], \n    \"desiredPayTypes\": [1], \n    \"existingkWhsElec\": \"3300\", \n    \"existingkWhsIntervalElec\": \"year\",\n    \"existingSpendElec\": null, \n    \"existingSpendIntervalElec\": \"\",\n    \"mainsGas\": true, \n    \"existingPaperlessElec\": null, \n    \"hasSmartMeterElec\": null, \n    \"hasGreenDeal\": null, \n    \"hasIgtMeter\": null,\n\n  \"filterSupplierGroupId\": null,\n    \"filterSupplierGroup\": \"\", \n    \"filterTariffNames\": [], \n    \"filterPaperlessBilling\": \"\", \n    \"filterTariffComparison\": \"all\",\n    \"filterCompetitorRange\": \"\",\n    \"useDefaultExistingSuppliers\": false,\n\n    \"flagCallName\": \"\",\n    \"searchStartDate\": null,\n    \"searchEndDate\": null,\n    \"switchDate\": null,\n\n    \"rmrCompliantCalculation\": true, \n    \"showTcr\": true, \n    \"showNewTil\": true,\n    \"showExistingTil\": true,\n    \"sortBy\": \"\",\n  \"showHistoricTariffs\": false,\n  \"rmrCompliantCalculationNew\": true,\n  \"rmrNonCompliantCalculation\": true,\n\n    \"unknownUsageTypeElec\": \"\",\n    \"ofgemAverageElec\": \"\",\n    \"peopleElec\": null,\n    \"typeOfHomeElec\": null,\n    \"bedroomsElec\": null,\n  \"readingStartDateElec\": null,\n  \"readingStartStdElec\": null,\n  \"readingStartE7Elec\": null,\n  \"readingEndDateElec\": null,\n  \"readingEndStdElec\": null,\n  \"readingEndE7Elec\": null,\n    \"title\": \"Mr\",\n    \"forename\": \"Test\",\n    \"surname\": \"Test\",\n    \"email\": \"cx@initd.cz\",\n    \"phone\": \"07777636388\",\n    \"dpaSupplierEmail\": true,\n    \"bnamOrBnum\": \"Test 1234\"\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elec/","description":"<p>Explanation of some input fields. The same input fields are repeated in the elecgas (dual fuel) quote inputs so this explanation applies to the elecgas/ endpoint also:</p>\n<ul>\n<li>singleOrSeprate: The more common case is for you to send 'single' in this input field because it is more likely that your customer will have their gas and electricity supply through a single supplier. But it is possible that those suppliers could be different and your customer still desires to make a dual fuel switch. In that case, please send 'separate' in this field.</li>\n<li>nightUsePercentElec: If you choose your meterType as 'E7', you will need to provide this field. An 'E7' meter has two components, day usage and night usage which are measured separately. In the consumption fields, we typically accept the total of day usage and night usage. But for 'E7', meters we also need the percentage of the night use to be able to separate the two components inside our calculator. If you have separate usage values, use this formula: night usage / (day usage + night usage) * 100. We will accept decimals or floats in this field.</li>\n</ul>\n","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elec",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a9421819-10f9-46e7-8e4f-3ef93e2062d3"},{"name":"Electricity And Gas Quote","event":[{"listen":"test","script":{"id":"13fc473a-3b2b-4743-96fd-50dfe0152446","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""],"type":"text/javascript"}}],"id":"839b786a-f315-4106-afd2-612c0a954718","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"includeTestTariffs\": false,\n    \"postcode\": \"HR3 5QP\", \n    \"dnoArea\": \"\",\n    \"singleOrSeparate\": \"single\",\n    \"existingSupplierIdElec\": null,\n    \"existingSupplierNameElec\": \"British Gas\", \n    \"existingTariffNameElec\": \"Standard\", \n    \"existingSupplierIdGas\": null,\n    \"existingSupplierNameGas\": \"British Gas\", \n    \"existingTariffNameGas\": \"Standard\", \n    \"meterTypeElec\": \"STD\", \n    \"meterTypeGas\": \"\", \n    \"nightUsePercentElec\": null, \n    \"existingPayTypesElec\": [1], \n    \"existingPayTypesGas\": [1], \n    \"desiredPayTypes\": [1], \n    \"existingkWhsElec\": null, \n    \"existingkWhsIntervalElec\": \"year\",\n    \"existingkWhsGas\": null, \n    \"existingkWhsIntervalGas\": \"year\",\n    \"existingSpendElec\": null, \n    \"existingSpendIntervalElec\": \"\",\n    \"existingSpendGas\": null, \n    \"existingSpendIntervalGas\": \"\",\n    \"mainsGas\": true, \n    \"existingPaperlessElec\": null, \n    \"existingPaperlessGas\": null, \n    \"hasSmartMeterElec\": null, \n    \"hasSmartMeterGas\": null, \n    \"hasGreenDeal\": null, \n    \"hasIgtMeter\": null,\n\n    \"filterSupplierGroupId\": null,\n    \"filterSupplierGroup\": \"\", \n    \"filterTariffNames\": [], \n    \"filterPaperlessBilling\": \"\", \n    \"filterTariffComparison\": \"all\",\n    \"filterCompetitorRange\": \"\",\n    \"useDefaultExistingSuppliers\": false,\n\n    \"flagCallName\": \"\",\n    \"searchStartDate\": null,\n    \"searchEndDate\": null,\n    \"switchDate\": null,\n\n    \"rmrCompliantCalculation\": true, \n    \"showTcr\": true, \n    \"showNewTil\": true,\n    \"showExistingTil\": true,\n    \"sortBy\": \"\",\n    \"showHistoricTariffs\": false,\n    \"rmrCompliantCalculationNew\": true,\n    \"rmrNonCompliantCalculation\": true,\n\n    \"unknownUsageTypeElec\": \"Calculate from bill\",\n    \"unknownUsageTypeGas\": \"Calculate from bill\",\n    \"ofgemAverageElec\": \"\",\n    \"ofgemAverageGas\": \"\",\n    \"peopleElec\": null,\n    \"peopleGas\": null,\n    \"typeOfHomeElec\": null,\n    \"typeOfHomeGas\": null,\n    \"bedroomsElec\": null,\n    \"bedroomsGas\": null,\n  \"readingStartDateElec\": \"2016-02-01\",\n  \"readingStartStdElec\": 100,\n  \"readingStartE7Elec\": 120,\n  \"readingEndDateElec\": \"2016-04-01\",\n  \"readingEndStdElec\": 1100,\n  \"readingEndE7Elec\": 600,\n  \"readingStartDateGas\": \"2016-05-15\",\n  \"readingStartGas\": 10,\n  \"readingEndDateGas\": \"2016-06-15\",\n  \"readingEndGas\": 1200,\n  \"readingMeasuringUnitGas\": \"kWhs\",\n    \"title\": \"Mr\",\n    \"forename\": \"Test\",\n    \"surname\": \"Test\",\n    \"email\": \"cx@initd.cz\",\n    \"phone\": \"07777636388\",\n    \"dpaSupplierEmail\": true,\n    \"bnamOrBnum\": \"Test 1234\",\n    \"referId\": \"\",\n    \"customField1\": \"\",\n    \"customField2\": \"\",\n    \"customField3\": \"\",\n    \"customField4\": \"\"\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elecgas/","description":"<p>Explanation of some input fields:</p>\n<ul>\n<li>singleOrSeprate: The more common case is for you to send 'single' in this input field because it is more likely that your customer will have their gas and electricity supply through a single supplier. But it is possible that those suppliers could be different and your customer still desires to make a dual fuel switch. In that case, please send 'separate' in this field.</li>\n</ul>\n","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elecgas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"839b786a-f315-4106-afd2-612c0a954718"},{"name":"Electricity And Gas Quote Minimal, OFGEM TDCV and dnoArea","event":[{"listen":"test","script":{"type":"text/javascript","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""]}}],"id":"8877f18b-a8d0-4267-b7dd-8d27df5383a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"dnoArea\": \"15\", \n\n    \"singleOrSeparate\": \"separate\",\n    \"existingPayTypesElec\": [1], \n    \"existingPayTypesGas\": [1], \n    \"desiredPayTypes\": [1], \n    \"meterTypeElec\": \"STD\",\n    \"rmrCompliantCalculation\": true,\n\n    \"useDefaultExistingSuppliers\": true,\n\n    \"unknownUsageTypeElec\": \"Use OFGEM averages\",\n    \"unknownUsageTypeGas\": \"Use OFGEM averages\",\n    \"ofgemAverageElec\": \"low user\",\n    \"ofgemAverageGas\": \"low user\"\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elecgas/","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elecgas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8877f18b-a8d0-4267-b7dd-8d27df5383a3"},{"name":"Electricity And Gas Quote Minimal profiling and dnoArea","event":[{"listen":"test","script":{"type":"text/javascript","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""]}}],"id":"edd13f8e-bc97-4e95-84b7-8e4acde0bb55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"dnoArea\": \"15\", \n\n    \"singleOrSeparate\": \"separate\",\n    \"existingPayTypesElec\": [1], \n    \"existingPayTypesGas\": [1], \n    \"desiredPayTypes\": [1], \n    \"meterTypeElec\": \"STD\",\n    \"rmrCompliantCalculation\": true,\n\n    \"useDefaultExistingSuppliers\": true,\n\n    \"unknownUsageTypeElec\": \"Use profiling\",\n    \"unknownUsageTypeGas\": \"Use profiling\",\n    \"peopleElec\": 3,\n    \"typeOfHomeElec\": 3,\n    \"bedroomsElec\": 3,\n    \"peopleGas\": 3,\n    \"typeOfHomeGas\": 3,\n    \"bedroomsGas\": 3\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elecgas/","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elecgas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"edd13f8e-bc97-4e95-84b7-8e4acde0bb55"},{"name":"Electricity And Gas Quote Known usage and postcode","event":[{"listen":"test","script":{"id":"31c87b8d-87cc-418f-b4df-07d8a722643f","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""],"type":"text/javascript"}}],"id":"07fb30c9-be53-4093-a742-1d8693ba0a35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"postcode\": \"FK103SA\", \n\n    \"singleOrSeparate\": \"single\",\n    \"existingPayTypesElec\": [1], \n    \"existingPayTypesGas\": [1], \n    \"desiredPayTypes\": [1], \n    \"meterTypeElec\": \"STD\",\n    \"rmrCompliantCalculation\": true,\n\n    \"existingSupplierNameElec\": \"British Gas\",\n    \"existingTariffNameElec\": \"Standard\",\n    \"existingSupplierNameGas\": \"British Gas\",\n    \"existingTariffNameGas\": \"Standard\",\n\n    \"existingkWhsElec\": 3100.00, \n    \"existingkWhsIntervalElec\": \"year\",\n    \"existingkWhsGas\": 12000.00, \n    \"existingkWhsIntervalGas\": \"year\"\n\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elecgas/","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elecgas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"07fb30c9-be53-4093-a742-1d8693ba0a35"},{"name":"Electricity And Gas Quote Known spend and postcode","event":[{"listen":"test","script":{"id":"31c87b8d-87cc-418f-b4df-07d8a722643f","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""],"type":"text/javascript"}}],"id":"46b59c87-0f30-45a4-835f-0fda077dd36d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"postcode\": \"FK103SA\", \n\n    \"singleOrSeparate\": \"single\",\n    \"existingPayTypesElec\": [1], \n    \"existingPayTypesGas\": [1], \n    \"desiredPayTypes\": [1], \n    \"meterTypeElec\": \"STD\",\n    \"rmrCompliantCalculation\": true,\n\n    \"existingSupplierNameElec\": \"British Gas\",\n    \"existingTariffNameElec\": \"Standard\",\n    \"existingSupplierNameGas\": \"British Gas\",\n    \"existingTariffNameGas\": \"Standard\",\n\n    \"existingSpendElec\": 1000.00, \n    \"existingSpendIntervalElec\": \"year\",\n    \"existingSpendGas\": 500.00, \n    \"existingSpendIntervalGas\": \"year\"\n\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elecgas/","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elecgas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"46b59c87-0f30-45a4-835f-0fda077dd36d"},{"name":"Electricity And Gas Quote, savings not important","event":[{"listen":"test","script":{"id":"31c87b8d-87cc-418f-b4df-07d8a722643f","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""],"type":"text/javascript"}}],"id":"f023608f-beba-414d-b6d2-af6e01beb123","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"postcode\": \"FK103SA\", \n\n    \"singleOrSeparate\": \"separate\",\n    \"existingPayTypesElec\": [1], \n    \"existingPayTypesGas\": [1], \n    \"desiredPayTypes\": [1], \n    \"meterTypeElec\": \"STD\",\n    \"rmrCompliantCalculation\": true,\n\n    \"useDefaultExistingSuppliers\": true,\n\n    \"existingSpendElec\": 1000.00, \n    \"existingSpendIntervalElec\": \"year\",\n    \"existingSpendGas\": 500.00, \n    \"existingSpendIntervalGas\": \"year\"\n\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elecgas/","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elecgas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f023608f-beba-414d-b6d2-af6e01beb123"},{"name":"Electricity And Gas Quote, with Smart Meters","event":[{"listen":"test","script":{"id":"31c87b8d-87cc-418f-b4df-07d8a722643f","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","var inputData = JSON.parse(request.data);","postman.setEnvironmentVariable('supply_subb', inputData.supplySubb);","postman.setEnvironmentVariable('supply_bnam', inputData.supplyBnam);","postman.setEnvironmentVariable('supply_bnum', inputData.supplyBnum);","postman.setEnvironmentVariable('mpan_data', JSON.stringify(jsonData.data));",""],"type":"text/javascript"}}],"id":"4b7ddaa0-b964-4ef9-ba41-a6aac6fd2d3a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"postcode\": \"FK103SA\", \n\n    \"hasSmartMeterElec\": true, \n    \"hasSmartMeterGas\": true,\n\n    \"singleOrSeparate\": \"separate\",\n    \"existingPayTypesElec\": [1], \n    \"existingPayTypesGas\": [1], \n    \"desiredPayTypes\": [1], \n    \"meterTypeElec\": \"STD\",\n    \"rmrCompliantCalculation\": true,\n\n    \"useDefaultExistingSuppliers\": true,\n\n    \"existingSpendElec\": 1000.00, \n    \"existingSpendIntervalElec\": \"year\",\n    \"existingSpendGas\": 500.00, \n    \"existingSpendIntervalGas\": \"year\"\n\n}"},"url":"{{host}}/v2.2/partner-resources/{{partner_affiliate_id}}/quotes/elecgas/","description":"<p>At time of quote, you should ask your customers whether they have smart meters for each fuel, or obtain this information through MPAS addressing data lookup. Pass this information as true/false in the hasSmartMeterElec and hasSmartMeterGas fields in the Quote request.</p>\n<p>A few tariffs on the market may only be available for customers with smart meters, or only be available to customers who do not have smart meters.</p>\n<p>Tariffs with a tariffTypeRegulatory of \"smart-meter-mandatory\" are only shown in our search results if we positively know all the relevant customer fuels (gas and/or electricity) are smart meters. Conversely, \"smart-meter-disallowed\" tariffs are only shown if we positively know all relevant fuels are NOT smart meters. If hasSmartMeterElec|Gas is not supplied in the quote request as true or false, then all \"smart-meter-mandatory\" and \"smart-meter-disallowed\" tariffs will be hidden.</p>\n","urlObject":{"path":["v2.2","partner-resources","{{partner_affiliate_id}}","quotes","elecgas",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4b7ddaa0-b964-4ef9-ba41-a6aac6fd2d3a"}],"id":"0cdf1863-1c75-42b0-84ea-841faea8c680","description":"<p>The endpoints under the <code>quotes/</code> space are a set of endpoints that provide you with:</p>\n<ul>\n<li>Estimated consumptions and spend of the existing tariff</li>\n<li>Some details about the existing tariff</li>\n<li>Based on input criteria, a set of new tariffs which the customer could be switched to from various suppliers and savings estimates from those tariffs.</li>\n</ul>\n<p>These endpoints are the most complex and the most commonly used endpoints and it will take a bit of practice to understand how to use them.</p>\n<p>You can set your inputs to return a whole of market response or refine the response to a particular supplier or a range of tariffs from one supplier.</p>\n<p>You can also set your inputs to return tariff information label information (TIL) fields although this is typically not used in the majority of requests.</p>\n<p>You can also set your inputs to switch between RMR compliant and non-compliant calculations for the estimates.</p>\n<p>There are ways to reduce the complexity of the inputs:</p>\n<ul>\n<li>by using the flag <code>useDefaultExistingSuppliers</code>. This lets you skip all existing supplier information and sets that to be the default supplier for the region. You can see it in the 'minimal' examples below.</li>\n<li>by using the OFGEM TDCV values as the default consumption values or by specifying the residence type in some way which lets us estimate the consumption. You can see it in the 'minimal' examples below.</li>\n</ul>\n<p>There are three major variations of quotes, viz.</p>\n<ul>\n<li><code>quotes/elec/</code>: electricity only quotes</li>\n<li><code>quotes/gas/</code>: gas only quotes</li>\n<li><code>quotes/elecgas</code>: dual fuel quotes, i.e. electricity and gas tariffs bundled together with some dual fuel discounts.</li>\n</ul>\n<p>Some of the common inputs of all three variations are documented here.</p>\n<p><code>useDefaultExistingSuppliers</code>: Please see table below for default suppliers for each region. If you set this flag to be true, these suppliers will be assumed and the existing suppliers for quotes along with their standard tariffs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>distID</th>\n<th>electricSupplier</th>\n<th>gasSupplier</th>\n<th>title</th>\n<th>title2</th>\n<th>phone</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>10</td>\n<td>E.ON</td>\n<td>British Gas</td>\n<td>East of England</td>\n<td>UK Power Networks</td>\n<td>0800 316 3105</td>\n</tr>\n<tr>\n<td>11</td>\n<td>E.ON</td>\n<td>British Gas</td>\n<td>East Midlands</td>\n<td>Western Power Distribution</td>\n<td>0800 678 3105</td>\n</tr>\n<tr>\n<td>12</td>\n<td>EDF Energy</td>\n<td>British Gas</td>\n<td>London</td>\n<td>UK Power Networks</td>\n<td>0800 316 3105</td>\n</tr>\n<tr>\n<td>13</td>\n<td>ScottishPower</td>\n<td>British Gas</td>\n<td>Merseyside and North Wales</td>\n<td>ScottishPower</td>\n<td>0800 001 5400</td>\n</tr>\n<tr>\n<td>14</td>\n<td>npower</td>\n<td>British Gas</td>\n<td>Midlands</td>\n<td>Western Power Distribution</td>\n<td>0800 678 3105</td>\n</tr>\n<tr>\n<td>15</td>\n<td>npower</td>\n<td>British Gas</td>\n<td>Northern</td>\n<td>Northern Powergrid</td>\n<td>0800 668 877</td>\n</tr>\n<tr>\n<td>16</td>\n<td>E.ON</td>\n<td>British Gas</td>\n<td>North Western</td>\n<td>Electricity North West</td>\n<td>0800 195 4141</td>\n</tr>\n<tr>\n<td>17</td>\n<td>SSE Scottish Hydro</td>\n<td>British Gas</td>\n<td>SSE Scottish Hydro Electric</td>\n<td>Scottish Hydro Electric Power Distribution</td>\n<td>0800 300 999</td>\n</tr>\n<tr>\n<td>18</td>\n<td>ScottishPower</td>\n<td>British Gas</td>\n<td>South Scotland</td>\n<td>ScottishPower</td>\n<td>0800 092 9290</td>\n</tr>\n<tr>\n<td>19</td>\n<td>EDF Energy</td>\n<td>British Gas</td>\n<td>South East England</td>\n<td>UK Power Networks</td>\n<td>0800 316 3105</td>\n</tr>\n<tr>\n<td>20</td>\n<td>SSE Southern Electric</td>\n<td>British Gas</td>\n<td>SSE Southern Electric</td>\n<td>Southern Electric Power Distribution</td>\n<td>0800 072 7282</td>\n</tr>\n<tr>\n<td>21</td>\n<td>SSE Swalec</td>\n<td>British Gas</td>\n<td>South Wales</td>\n<td>Western Power Distribution</td>\n<td>0800 678 3105</td>\n</tr>\n<tr>\n<td>22</td>\n<td>EDF Energy</td>\n<td>British Gas</td>\n<td>South Western</td>\n<td>Western Power Distribution</td>\n<td>0800 678 3105</td>\n</tr>\n<tr>\n<td>23</td>\n<td>npower</td>\n<td>British Gas</td>\n<td>Yorkshire</td>\n<td>Northern Powergrid</td>\n<td>0800 375 675</td>\n</tr>\n</tbody>\n</table>\n</div>","event":[{"listen":"prerequest","script":{"id":"57ea16b9-ff22-4e66-bbe7-589f29f38d4b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"c9db9f2f-66f6-41fb-b7fe-a51fccb74ec5","type":"text/javascript","exec":[""]}}],"_postman_id":"0cdf1863-1c75-42b0-84ea-841faea8c680"},{"name":"Supplier-Details v3.3","item":[{"name":"Single supplier example (e.g. British Gas)","event":[{"listen":"test","script":{"id":"86887cec-b493-4c74-bf11-9c041294b5b6","exec":["tests['Status code is 200'] = responseCode.code === 200;","","var jsonData = JSON.parse(responseBody);","","tests['Response body contains msg'] = jsonData.hasOwnProperty('message');","tests['Response body contains statusCode'] = jsonData.hasOwnProperty('statusCode');","tests['StatusCode is 1041'] = jsonData.statusCode === 1041;","tests['Response body contains data'] = jsonData.hasOwnProperty('data');","","tests['Data contains supplierName'] = jsonData.data.hasOwnProperty('supplierName');","tests['Data contains supplierId'] = jsonData.data.hasOwnProperty('supplierId');","tests['Data contains supplierSlug'] = jsonData.data.hasOwnProperty('supplierSlug');","tests['Data contains supplierGroupName'] = jsonData.data.hasOwnProperty('supplierGroupName');","tests['Data contains supplierImageUrls'] = jsonData.data.hasOwnProperty('supplierImageUrls');","","tests['supplierImageUrls has at least one element'] = jsonData.data.supplierImageUrls.length > 1;","","tests['supplierImageUrls[0] contains name'] = jsonData.data.supplierImageUrls[0].hasOwnProperty('name');","tests['supplierImageUrls[0] name is width-640'] = jsonData.data.supplierImageUrls[0].name = 'width-640';","tests['supplierImageUrls[0] contains url'] = jsonData.data.supplierImageUrls[0].hasOwnProperty('url');","","tests['supplierImageUrls[1] contains name'] = jsonData.data.supplierImageUrls[1].hasOwnProperty('name');","tests['supplierImageUrls[1] name is facebook'] = jsonData.data.supplierImageUrls[1].name = 'facebook';","tests['supplierImageUrls[1] contains url'] = jsonData.data.supplierImageUrls[1].hasOwnProperty('url');","","tests['supplierImageUrls[0] url contains supplierSlug'] = jsonData.data.supplierImageUrls[0].url.includes(jsonData.data.supplierSlug);","tests['supplierImageUrls[1] url contains supplierSlug'] = jsonData.data.supplierImageUrls[1].url.includes(jsonData.data.supplierSlug);","","","","","","","",""],"type":"text/javascript"}}],"id":"b5c8c9eb-6ebc-470a-b50b-20ffbca74e70","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/supplier-details/5/","description":"<p>See below for full documentation.</p>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","supplier-details","5",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"b5c8c9eb-6ebc-470a-b50b-20ffbca74e70"},{"name":"All suppliers example","event":[{"listen":"test","script":{"id":"86887cec-b493-4c74-bf11-9c041294b5b6","exec":["tests['Status code is 200'] = responseCode.code === 200;","","var jsonData = JSON.parse(responseBody);","","tests['Response body contains msg'] = jsonData.hasOwnProperty('message');","tests['Response body contains statusCode'] = jsonData.hasOwnProperty('statusCode');","tests['StatusCode is 1041'] = jsonData.statusCode === 1041;","tests['Response body contains data'] = jsonData.hasOwnProperty('data');","","tests['Data contains supplierName'] = jsonData.data.hasOwnProperty('supplierName');","tests['Data contains supplierId'] = jsonData.data.hasOwnProperty('supplierId');","tests['Data contains supplierSlug'] = jsonData.data.hasOwnProperty('supplierSlug');","tests['Data contains supplierGroupName'] = jsonData.data.hasOwnProperty('supplierGroupName');","tests['Data contains supplierImageUrls'] = jsonData.data.hasOwnProperty('supplierImageUrls');","","tests['supplierImageUrls has at least one element'] = jsonData.data.supplierImageUrls.length > 1;","","tests['supplierImageUrls[0] contains name'] = jsonData.data.supplierImageUrls[0].hasOwnProperty('name');","tests['supplierImageUrls[0] name is width-640'] = jsonData.data.supplierImageUrls[0].name = 'width-640';","tests['supplierImageUrls[0] contains url'] = jsonData.data.supplierImageUrls[0].hasOwnProperty('url');","","tests['supplierImageUrls[1] contains name'] = jsonData.data.supplierImageUrls[1].hasOwnProperty('name');","tests['supplierImageUrls[1] name is facebook'] = jsonData.data.supplierImageUrls[1].name = 'facebook';","tests['supplierImageUrls[1] contains url'] = jsonData.data.supplierImageUrls[1].hasOwnProperty('url');","","tests['supplierImageUrls[0] url contains supplierSlug'] = jsonData.data.supplierImageUrls[0].url.includes(jsonData.data.supplierSlug);","tests['supplierImageUrls[1] url contains supplierSlug'] = jsonData.data.supplierImageUrls[1].url.includes(jsonData.data.supplierSlug);","","","","","","","",""],"type":"text/javascript"}}],"id":"0d783f70-c0f7-4a8f-bc02-c78ab3047dfb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/supplier-details/","description":"<hr />\n<h2 id=\"supplier-details-v33-documentation\">/supplier-details v3.3 documentation</h2>\n<p>The /supplier-details endpoint indicates which accompanying similarly-named /signups API fields are enabled and/or mandatory for particular suppliers. It also supplies some UI question prompt text which has been vetted by suppliers' legal departments.</p>\n<p>Call the /supplier-details endpoint per supplier (e.g. /supplier-details/{{supplierId}}/), or get a list of all suppliers by leaving off {{supplierId}}.</p>\n<h2 id=\"changes-since-v30\">Changes since v3.0</h2>\n<p>This summarizes the breaking changes in /supplier-details and /signups since v3.0:</p>\n<ul>\n<li><p>v3.2 /signups requires the use of psr* fields, some of which can be conditionally mandatory based on /supplier-details. See section entitled: \"PSR fields in /supplier-details which affect /signups\" below.</p>\n</li>\n<li><p>v3.3 /signups expands on this, with more fields that are conditionally mandatory based on /supplier-details. Many are GDPR Consent fields. See section entitled: \"/supplier-details fields which affect /signups\" below.</p>\n</li>\n<li><p>The data structure of the /supplier-details endpoint has changed as of v3.2:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>\"data\": {\n  \"records\": [],     /* this is a list of supplier-details for each supplier returned */\n  \"defaults\": {}     /* this is a dict of DEFAULT values for any value left blank in section above */\n}\n</code></pre></li>\n</ul>\n<h2 id=\"psr-fields-in-supplier-details-which-affect-signups\">PSR fields in /supplier-details which affect /signups</h2>\n<p>A collection of PSR questions should be presented if <code>psrShowSection</code> is true. The responses are collected through /signup API in fields: <code>psrChoiceMain1|2|3</code> (answers from up to 3 dropdowns), <code>psrChoiceSub1|2|3</code> (answers to optional dependent dropdowns based on the respective <code>psrChoiceMain1|2|3</code>), <code>psrCustomAnswer1</code>, and <code>psrCustomAnswer2</code>. You can see a live example at work on our own site, energylinx.co.uk:</p>\n<p><img src=\"https://www.energylinx.co.uk/postman-docs/psr-questions.png\" alt=\"PSR Section Screenshot\" /></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>psrShowSection</td>\n<td>boolean</td>\n<td>whether to show the PSR question section or not</td>\n</tr>\n<tr>\n<td>psrMainQuestionPrompt</td>\n<td>string</td>\n<td>custom statement text of any length (overridden by the defaults <code>psrMainQuestionPrompt</code> field if blank)</td>\n</tr>\n<tr>\n<td>psrMainMenusCount</td>\n<td>integer</td>\n<td>should 0, 1, or 3 PSR main dropdown menus be displayed?</td>\n</tr>\n<tr>\n<td>psrShowSubMenus</td>\n<td>boolean</td>\n<td>whether secondary PSR dropdown is presented on choice of particular main dropdown options</td>\n</tr>\n<tr>\n<td>psrCustomQuestionType1</td>\n<td>string (\"yes-no\", \"freeform\", \"\")</td>\n<td>no question if blank</td>\n</tr>\n<tr>\n<td>psrCustomQuestionMandatory1</td>\n<td>string (\"no\", \"yes\", \"yes-if-psr-chosen\")</td>\n<td></td>\n</tr>\n<tr>\n<td>psrCustomQuestionPrompt1</td>\n<td>string</td>\n<td>custom statement text of any length</td>\n</tr>\n<tr>\n<td>psrCustomQuestionType2</td>\n<td>string (\"yes-no\", \"freeform\", \"\")</td>\n<td>no question if blank</td>\n</tr>\n<tr>\n<td>psrCustomQuestionMandatory2</td>\n<td>string (\"no\", \"yes\", \"yes-if-psr-chosen\")</td>\n<td></td>\n</tr>\n<tr>\n<td>psrCustomQuestionPrompt2</td>\n<td>string</td>\n<td>custom statement text of any length</td>\n</tr>\n</tbody>\n</table>\n</div><p>Under the \"defaults\" dict, you will see the PSR menu options and prompt to use in your UI:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>  \"defaults\": {\n    \"psrMainQuestionPrompt\": The Priority Services Register (PSR) is a free service provided by suppliers and network operators to customers in need. Please select any need that reflects your own circumstances.\",\n    \"psrMainMenuList\":       /* this populates the 0, 1, or 3 main dropdowns */\n      [\n        {\n          \"groupName\": \"Medically Dependant\",\n          \"name\": \"Apnoea Monitor\",\n          \"value\": \"01.1\"\n        },\n        {\n          \"groupName\": \"Medically Dependant\",\n          \"name\": \"Automated Medication\",\n          \"value\": \"03.1\"\n        },\n        ...\n      ],\n    \"psrSubMenuList\":        /* this only appears dependent on certain psrMainMenuList items chosen */\n      [\n        {\n          \"mainValue\": \"22\",   /* this sub-list item to appear if 22 is selected from Main list dropdown */\n          \"name\": \"Asthma\",\n          \"value\": \"d\"\n        },\n        {\n          \"mainValue\": \"22\",   /* this sub-list item to appear if 22 is selected from Main list dropdown */\n          \"name\": \"Cancer\",\n          \"value\": \"a\"\n        },\n        ...\n      ]\n  }\n</code></pre><h2 id=\"psr-fields-in-signups-endpoint-to-accompany-the-above\">PSR fields in /signups endpoint, to accompany the above:</h2>\n<p>The signup API must allow these questions to be received and stored. The new field names are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>field</th>\n<th>type</th>\n<th></th>\n<th>length</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>psrChoiceMain1</td>\n<td>string</td>\n<td>optional</td>\n<td>5</td>\n<td>PSR main dropdown choice #1</td>\n</tr>\n<tr>\n<td>psrChoiceSub1</td>\n<td>string</td>\n<td>optional</td>\n<td>5</td>\n<td>PSR dependent choice #1</td>\n</tr>\n<tr>\n<td>psrChoiceMain2</td>\n<td>string</td>\n<td>optional</td>\n<td>5</td>\n<td>PSR main dropdown choice #2</td>\n</tr>\n<tr>\n<td>psrChoiceSub2</td>\n<td>string</td>\n<td>optional</td>\n<td>5</td>\n<td>PSR dependent choice #2</td>\n</tr>\n<tr>\n<td>psrChoiceMain3</td>\n<td>string</td>\n<td>optional</td>\n<td>5</td>\n<td>PSR main dropdown choice #3</td>\n</tr>\n<tr>\n<td>psrChoiceSub3</td>\n<td>string</td>\n<td>optional</td>\n<td>5</td>\n<td>PSR dependent choice #3</td>\n</tr>\n<tr>\n<td>psrCustomAnswer1</td>\n<td>string / boolean</td>\n<td>optional*</td>\n<td>any</td>\n<td>PSR main dropdown choice #1</td>\n</tr>\n<tr>\n<td>psrCustomAnswer2</td>\n<td>string / boolean</td>\n<td>optional*</td>\n<td>any</td>\n<td>PSR main dropdown choice #1</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>[*]</strong> REQUIRED if <code>psrCustomQuestionMandatory1</code> (resp. <code>psrCustomQuestionMandatory2</code>) is \"yes\" or \"yes-if-psr-chosen\" and <code>psrChoiceMain1</code> was sent.</p>\n<p>Some examples of a variety of PSR conditions, as of Oct. 2018:</p>\n<ul>\n<li>All suppliers have <code>psrShowSection</code> set to true.</li>\n<li>No supplier has <code>psrCustomQuestionType1|2</code> of \"freeform\".</li>\n<li>British Gas allows selections from up to three PSR dropdowns, and one custom yes/no question</li>\n<li>ScottishPower allows only one PSR selection (also with a yes/no question)</li>\n<li>npower doesn't allow any PSR selection but has two custom yes/no questions</li>\n<li>The SSE suppliers only show the <code>psrMainQuestionPrompt</code>, but don't ask the user to choose or input ANYTHING</li>\n<li>Many smaller suppliers just ask for one PSR dropdown option and no custom questions, e.g. OVO Energy.</li>\n</ul>\n<h2 id=\"supplier-details-fields-which-affect-signups\">/supplier-details fields which affect /signups</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>psr*</td>\n<td>various</td>\n<td>see above section for details on these</td>\n</tr>\n<tr>\n<td>titleChoices</td>\n<td>array</td>\n<td>comma-separated list of all customer titles allowed by this supplier, to be passed in <code>title</code> field</td>\n</tr>\n<tr>\n<td>directDebitEnabled</td>\n<td>boolean</td>\n<td>when signing up to Direct Debit payment types '1', '2', '8', '9', and '14', does this supplier collect Direct Debit info in fields <code>bankSortCode</code>, <code>bankAccountNumber</code>, <code>bankAccountName</code>, <code>bankAccountAuthorized</code>? (Example: Pure Planet will be false here and return an error if bank data is supplied; it does NOT accept any Direct Debit info.)</td>\n</tr>\n<tr>\n<td>directDebitDates</td>\n<td>array</td>\n<td>(integer list) if a list is provided, <code>bankDirectDebitDate</code> must contain a number from the list; if list is empty, <code>bankDirectDebitDate</code> must NOT be provided (this field is not new to v3.2)</td>\n</tr>\n<tr>\n<td>addressHistoryEnabled</td>\n<td>boolean</td>\n<td>should <code>previous1*</code> and <code>previous2*</code> fields be collected?</td>\n</tr>\n<tr>\n<td>addressHistoryMandatory</td>\n<td>boolean</td>\n<td>should <code>previous1*</code> and <code>previous2*</code> fields be mandatory?</td>\n</tr>\n<tr>\n<td>residentialStatusEnabled</td>\n<td>boolean</td>\n<td>should <code>residentialStatus</code> field be collected?</td>\n</tr>\n<tr>\n<td>residentialStatusMandatory</td>\n<td>boolean</td>\n<td>should <code>residentialStatus</code> field be mandatory?</td>\n</tr>\n<tr>\n<td>employmentStatusEnabled</td>\n<td>boolean</td>\n<td>should <code>employmentStatus</code> field be collected?</td>\n</tr>\n<tr>\n<td>employmentStatusMandatory</td>\n<td>boolean</td>\n<td>should <code>employmentStatus</code> field be mandatory?</td>\n</tr>\n<tr>\n<td>employmentStatusConfig</td>\n<td>string</td>\n<td>contains suggested <code>promptText</code> for user display</td>\n</tr>\n<tr>\n<td>consentSupplierServicingEnabled</td>\n<td>boolean</td>\n<td>should <code>consentSupplierServicing</code> field be collected? (currently only E.ON)</td>\n</tr>\n<tr>\n<td>consentSupplierServicingMandatory</td>\n<td>boolean</td>\n<td>should <code>consentSupplierServicing</code> be mandatory? (currently only E.ON)</td>\n</tr>\n<tr>\n<td>consentSupplierServicingConfig</td>\n<td>string</td>\n<td>contains suggested <code>promptText</code> for user display; contains <code>contactMethods</code>, e.g. if <code>email</code> is listed, then <code>consentSupplierServicingEmail</code> should be collected</td>\n</tr>\n<tr>\n<td>consentPriceAlertsEnabled</td>\n<td>boolean</td>\n<td>should <code>consentPriceAlerts</code> be collected? (currently only E.ON)</td>\n</tr>\n<tr>\n<td>consentPriceAlertsMandatory</td>\n<td>boolean</td>\n<td>should <code>consentPriceAlerts</code> be mandatory? (currently only E.ON)</td>\n</tr>\n<tr>\n<td>consentPriceAlertsConfig</td>\n<td>string</td>\n<td>contains suggested <code>promptText</code> for user display; does NOT contain <code>contactMethods</code></td>\n</tr>\n<tr>\n<td>consentSupplierCreditCheckEnabled</td>\n<td>boolean</td>\n<td>should <code>consentSupplierCreditCheck</code> be collected?</td>\n</tr>\n<tr>\n<td>consentSupplierCreditCheckMandatory</td>\n<td>boolean</td>\n<td>should <code>consentSupplierCreditCheck</code> be mandatory?</td>\n</tr>\n<tr>\n<td>consentSupplierCreditCheckConfig</td>\n<td>string</td>\n<td>contains suggested <code>promptText</code> for user display; contains <code>mandatoryResponseValue</code>: if true, customer must answer Yes to a credit check</td>\n</tr>\n<tr>\n<td>consentSupplierMarketingEnabled</td>\n<td>boolean</td>\n<td>should <code>consentSupplierMarketing</code> be collected?</td>\n</tr>\n<tr>\n<td>consentSupplierMarketingMandatory</td>\n<td>boolean</td>\n<td>should <code>consentSupplierMarketing</code> be mandatory?</td>\n</tr>\n<tr>\n<td>consentSupplierMarketingConfig</td>\n<td>string</td>\n<td>GDPR consent config; <code>contactMethods</code> of \"email\", \"sms\", \"phone\", \"post\", or \"ftf\" are collected in <code>consentSupplierMarketingEmail</code>, <code>consentSupplierMarketingSms</code>, etc. fields; see below for further details</td>\n</tr>\n<tr>\n<td>consentSupplierMarketingPartnerMandatory</td>\n<td>boolean</td>\n<td>should <code>consentSupplierMarketingPartner</code> be mandatory?</td>\n</tr>\n<tr>\n<td>consentSupplierMarketingPartnerConfig</td>\n<td>string</td>\n<td>GDPR consent config; <code>contactMethods</code> of \"email\", \"sms\", \"phone\", \"post\", or \"ftf\" are collected in <code>consentSupplierMarketingPartnerEmail</code>, <code>consentSupplierMarketingPartnerSms</code>, etc. fields; see below for further details</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"essential-notes\">ESSENTIAL NOTES:</h3>\n<ul>\n<li><p>OUTSIDE of the /supplier-details \"records\" dict is a \"defaults\" dict. This specifies settings across all suppliers if they have not overridden them (left them blank):</p>\n<ul>\n<li><code>consentSupplierCreditCheckConfig</code></li>\n<li><code>consentSupplierMarketingConfig</code></li>\n<li><code>consentSupplierMarketingPartnerConfig</code></li>\n</ul>\n</li>\n<li><p><code>promptText</code> in the supplier-details \"defaults\" dict may contain <code>{{supplierName}}</code> (a Handlebars-style variable to be filled in with the supplier's name) and may contain HTML links.</p>\n</li>\n</ul>\n<h3 id=\"gdpr-consent-fields-notes\">GDPR consent* FIELDS NOTES</h3>\n<ul>\n<li><p>Fields <code>consentSupplierMarketingConfig</code> and <code>consentSupplierMarketingPartnerConfig</code> contain display-related info regarding GDPR consents.</p>\n</li>\n<li><p>Key to this design is a \"Yes\" or \"No\" question MUST be positively selected by a user action (neither can be selected by default). If \"Yes\" is selected, then the specific contact methods listed (email/phone/post/etc.) can be chosen from.</p>\n</li>\n<li><p>If <code>contactMethods</code> is empty, <code>contactMethodIfNone</code> will be populated. This removes the choice among contact methods and just leaves a Yes/No option. If <code>contactMethodIfNone</code> is \"email\", the API will expect to store the Yes/No answer in the relevant *email field.</p>\n</li>\n</ul>\n<p>Example JSON:</p>\n<p><code>consentSupplierMarketingConfig</code>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>  {\n    \"headerText\": \"Stay in the loop\",\n    \"introText\": \"Nearly one million customers count on us to help save them money on their household bills and make running their home easier. You can benefit too. Be the first to hear from First Utility about:\",\n    \"bulletText1\": \"New deals on home products\",\n    \"bulletText2\": \"Discounts, offers and new products\",\n    \"bulletText3\": \"Advice and competitions via our newsletter\",\n    \"bulletText4\": \"\",\n    \"promptText\": \"If you're happy to receive this information from First Utility please tell us how you'd like to hear from them:\",\n    \"contactMethods\": [\"email\", \"sms\", \"phone\"],\n    \"contactMethodIfNone\": \"\",\n    \"footerText\": \"\"\n  }\n</code></pre><p><br /><code>consentSupplierMarketingPartnerConfig</code>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>  {\n    \"headerText\": \"Offers from trusted partners\",\n    \"introText\": \"We want you to know that we never sell your data to third parties for marketing purposes. We work with selected third parties to bring you extras, from smart home cameras to smart thermostats and more. Would you like to hear about these  products and exclusives?\",\n    \"promptText\": \"\",\n    \"contactMethodIfNone\": \"email\",\n    \"footerText\": \"You will be able to change your preferences at any time. First Utility will provide you with details of your \\\"My Account\\\" as part of their onboarding pack\"\n  }\n</code></pre><p><br />This should then be rendered as:</p>\n<p><img src=\"https://www.energylinx.co.uk/postman-docs/supplier-consent-questions.png\" alt=\"GDPR Consents Section Screenshot\" /></p>\n<h2 id=\"accompanying-fields-in-signups-api\">Accompanying fields in /signups API</h2>\n<ul>\n<li>consentCreditCheck</li>\n<li>consentPriceAlerts</li>\n<li>consentSupplierServicingEmail</li>\n<li>consentSupplierServicingSms</li>\n<li>consentSupplierServicingPhone</li>\n<li>consentSupplierServicingFtf</li>\n<li>consentSupplierServicingPost</li>\n<li>consentSupplierMarketingEmail</li>\n<li>consentSupplierMarketingSms</li>\n<li>consentSupplierMarketingPhone</li>\n<li>consentSupplierMarketingFtf</li>\n<li>consentSupplierMarketingPost</li>\n<li>consentSupplierMarketingPartnerEmail</li>\n<li>consentSupplierMarketingPartnerSms</li>\n<li>consentSupplierMarketingPartnerPhone</li>\n<li>consentSupplierMarketingPartnerFtf</li>\n<li>consentSupplierMarketingPartnerPost</li>\n</ul>\n<h2 id=\"supplier-details-fields-which-do-not-affect-signups\">/supplier-details fields which do NOT affect /signups</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>supplierId</td>\n<td>integer</td>\n<td>unique supplier identifier, typically an integer between 1 and 500</td>\n</tr>\n<tr>\n<td>supplierName</td>\n<td>string</td>\n<td>the energy supplier name</td>\n</tr>\n<tr>\n<td>supplierSlug</td>\n<td>string</td>\n<td>supplier slug</td>\n</tr>\n<tr>\n<td>supplierGroupName</td>\n<td>string</td>\n<td>supplier group name</td>\n</tr>\n<tr>\n<td>homePageUrl</td>\n<td>string</td>\n<td>supplier’s home page</td>\n</tr>\n<tr>\n<td>whoAreYouText</td>\n<td>string</td>\n<td>short bit of marketing description of the supplier</td>\n</tr>\n<tr>\n<td>whoAreYouTextHtml</td>\n<td>string</td>\n<td>HTML markup version of whoAreYouText</td>\n</tr>\n<tr>\n<td>confirmationWhatHappensText</td>\n<td>string</td>\n<td>text to explain to the customer what to expect once they sign up for this supplier</td>\n</tr>\n<tr>\n<td>supplierImageUrls</td>\n<td>array[ImgixEntrySerializer]</td>\n<td>a variety of sizes of supplier logo images</td>\n</tr>\n<tr>\n<td>tilSupplierNameGas</td>\n<td>string</td>\n<td>supplier's TIL name for gas</td>\n</tr>\n<tr>\n<td>tilSupplierNameElec</td>\n<td>string</td>\n<td>supplier's TIL name for electricity</td>\n</tr>\n<tr>\n<td>energySwitchingGuarantee</td>\n<td>boolean</td>\n<td>does the supplier participate in the Energy Switching Guarantee (does not affect our quotes)</td>\n</tr>\n<tr>\n<td>warmHomeDiscount</td>\n<td>boolean</td>\n<td>does the supplier offer a Warm Home Discount (does not affect our quotes)</td>\n</tr>\n<tr>\n<td>directDebitServiceUserNumber</td>\n<td>string</td>\n<td>for display of Direct Debit Mandate text</td>\n</tr>\n<tr>\n<td>directDebitOriginatorNameFull</td>\n<td>string</td>\n<td>for display of Direct Debit Mandate text</td>\n</tr>\n<tr>\n<td>directDebitOriginatorNameShort</td>\n<td>string</td>\n<td>for display of Direct Debit Mandate text</td>\n</tr>\n<tr>\n<td>directDebitOriginatorAddress</td>\n<td>string</td>\n<td>for display of Direct Debit Mandate text</td>\n</tr>\n</tbody>\n</table>\n</div><p><br /><code>supplierImageUrls</code> (array[ImgixEntrySerializer]):</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>string</td>\n</tr>\n<tr>\n<td>url</td>\n<td>string</td>\n</tr>\n<tr>\n<td>imgixTransformParams</td>\n<td>string</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"supplier-details-supplier-rating-fields\">/supplier-details supplier rating fields</h2>\n<p>Eight weeks after a customer switches energy through the Energylinx.co.uk web site or one of our white labels, they are sent an e-mail and requested to rate their supplier. </p>\n<p>The results of these are available through the /supplier-details endpoint. Ratings data are kept over the last five years on a rolling basis. The fields include:</p>\n<ul>\n<li>an average rating value: a float ranging between 1 (lowest) to 5 (highest)</li>\n<li>a count (integer) of the rating records over that period</li>\n</ul>\n<p>These ratings will appear as null unless you have requested they be enabled. Please contact your account manager to have them enabled.</p>\n<p>Once enabled, a call to v3.3 /supplier-details will show you these ratings fields, for example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>  \"ratingOverall\": 4.12849,\n  \"ratingOverallCount\": 179,\n  \"ratingSwitchingEase\": 4.12571,\n  \"ratingSwitchingEaseCount\": 175,\n  \"ratingTariffPricing\": 4.09357,\n  \"ratingTariffPricingCount\": 171,\n  \"ratingSupplierCommunication\": 3.62644,\n  \"ratingSupplierCommunicationCount\": 174,\n  \"ratingSupplierInformation\": 3.73714,\n  \"ratingSupplierInformationCount\": 175\n</code></pre><p>(If there are no ratings, the count fields can be 0 and the non-count fields can be null)</p>\n<h2 id=\"functionality-not-included-in-supplier-details\">Functionality NOT included in /supplier-details</h2>\n<p>There are only two per-supplier rules which are <strong>not</strong> encapsulated by supplier-details:</p>\n<ul>\n<li><p>Some tariffs require a mobile phone number. Since this is not supplier-level information, you can determine this by checking the phoneMobileMandatory field returned for each tariff within the response of the /quotes API.</p>\n</li>\n<li><p>OVO Energy requires a securityAnswer (free-form), and a securityQuestionCode (menu choice). securityQuestionCode choices are:</p>\n<ul>\n<li>'ELX-SQ-1001': 'What would be your superpower if you had one?'</li>\n<li>'ELX-SQ-1002': 'If you could meet a famous person who would it be?'</li>\n<li>'ELX-SQ-1003': 'What was your favourite place to visit as a child?'</li>\n<li>'ELX-SQ-1004': 'Who is your greatest hero of all time?'</li>\n<li>'ELX-SQ-1005': 'What was your dream job as a child?'</li>\n<li>'ELX-SQ-1006': 'What was the name of your first pet?'</li>\n<li>'ELX-SQ-1007': \"What is your Mother's maiden name?\"</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","supplier-details",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0d783f70-c0f7-4a8f-bc02-c78ab3047dfb"}],"id":"f439e3a2-ecee-46ec-9f9c-f8a5d43c4f00","event":[{"listen":"prerequest","script":{"id":"644a6a2c-3e3e-412f-9ac5-9fdfccc84a47","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"b1b0aba2-cdb9-4495-9d4e-74dc89997ea5","type":"text/javascript","exec":[""]}}],"_postman_id":"f439e3a2-ecee-46ec-9f9c-f8a5d43c4f00","description":""},{"name":"MPAS","item":[{"name":"MPAN signup data","id":"850a1a2a-c684-4b44-a4db-13d4b8292bb4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"supplySubb\": \"\",\n\t\"supplyBnam\": \"\",\n\t\"supplyBnum\": \"36\",\n\t\"supplyPcod\": \"HP108EB\"\n}"},"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/mpas/mpan-signup-data/","description":"<p>This method will get MPAN signup data (MPAN, electric meter serial numbers) for the input supply address from 'energylinx' data source.</p>\n<p><code>supplyPcod</code> is required.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mpanLower\": \"\",\n  \"mpanTopLine\": \"\",\n  \"meterSerialElec\": \"\"\n}\n</code></pre>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","mpas","mpan-signup-data",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"850a1a2a-c684-4b44-a4db-13d4b8292bb4"},{"name":"MPRN signup data","id":"2c49c093-e7ca-448d-aa30-79beb82786c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"supplySubb\": \"\",\n\t\"supplyBnam\": \"\",\n\t\"supplyBnum\": \"36\",\n\t\"supplyPcod\": \"HP108EB\"\n}","options":{"raw":{"language":"json"}}},"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/mpas/mprn-signup-data/","description":"<p>This method will get MPRN signup data (MPRN, gas meter serial number) for the input supply address from 'energylinx' data source.</p>\n<p><code>supplyPcod</code> is required.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mprn\": \"\",\n  \"meterSerialGas\": \"\"\n}\n</code></pre>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","mpas","mprn-signup-data",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2c49c093-e7ca-448d-aa30-79beb82786c2"}],"id":"c80b804c-32f8-4512-99a3-2683c9b42764","_postman_id":"c80b804c-32f8-4512-99a3-2683c9b42764","description":""},{"name":"Signups v3.3","item":[{"name":"Get Signup Tag","event":[{"listen":"test","script":{"id":"2798bc46-4f42-44ed-a692-f9772509695a","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable('signup_tag', jsonData.data.signupTag);"],"type":"text/javascript"}}],"id":"63222b30-e2f8-4d17-8529-5b1598852c8f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/signups/tag/","description":"<p>This method will generate a unique signupId to associate with partial updates of input fields into the temporary store.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"signupTag\": \"\"\n}\n</code></pre>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","signups","tag",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"63222b30-e2f8-4d17-8529-5b1598852c8f"},{"name":"Get Signup","id":"77dcbe8c-477a-4e3e-899e-38d831ef378b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/signups/{{signup_tag}}/","description":"<p>This method read all the input fields saved into the temporary store for the given signupId.</p>\n<h2 id=\"response\">Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>quoteKey</td>\n<td>string</td>\n<td>quoteKey field in response to v1 <code>search/</code> and v2 <code>quotes/</code> endpoints which identifies the quote issued in Energylinx system</td>\n</tr>\n<tr>\n<td>priceId</td>\n<td>integer</td>\n<td>priceId field of the tariff selected by customer for signup</td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td>['Dr' or 'Miss' or 'Mr' or 'Mrs' or 'Ms' or 'Prof' or 'Rev' or 'Sir']: Title of customer</td>\n</tr>\n<tr>\n<td>forename</td>\n<td>string</td>\n<td>Forename of customer</td>\n</tr>\n<tr>\n<td>surname</td>\n<td>string</td>\n<td>Surname of customer</td>\n</tr>\n<tr>\n<td>birthDate</td>\n<td>string</td>\n<td>Date of birth of customer who should be over the age of 18 and under the age of 101</td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>Customer's email address</td>\n</tr>\n<tr>\n<td>IPAddressCustomer</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>phoneMobile</td>\n<td>string</td>\n<td>UK mobile phone number of the customer</td>\n</tr>\n<tr>\n<td>phoneLandline</td>\n<td>string</td>\n<td>UK landline number of the customer</td>\n</tr>\n<tr>\n<td>employmentStatus</td>\n<td>string</td>\n<td>['Employed Full Time' or 'Employed Part Time' or 'Self Employed' or 'Unemployed' or 'Retired' or 'Homemaker' or 'Student']: Employment status of the customer</td>\n</tr>\n<tr>\n<td>residentialStatus</td>\n<td>string</td>\n<td>['Home Owner' or 'Private Tenant' or 'Local Authority Tenant' or 'Landlord']: Residential status of the customer</td>\n</tr>\n<tr>\n<td>landlordPermission</td>\n<td>boolean</td>\n<td>If customer is a Private Tenant, does customer have the landlord's permission to switch suppliers</td>\n</tr>\n<tr>\n<td>hasSmartMeterElec</td>\n<td>boolean</td>\n<td>Does customer have an electric smart meter?</td>\n</tr>\n<tr>\n<td>hasSmartMeterGas</td>\n<td>boolean</td>\n<td>Does customer have a gas smart meter?</td>\n</tr>\n<tr>\n<td>consentSmartMeter</td>\n<td>boolean</td>\n<td>Does customer agree to loss of any non-standard smart metering functionality provided by previous supplier and new meter readings?</td>\n</tr>\n<tr>\n<td>specialNeedsText</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>specialNeeds1</td>\n<td>string</td>\n<td>database value of special needs text</td>\n</tr>\n<tr>\n<td>specialNeeds2</td>\n<td>string</td>\n<td>database value of special needs text</td>\n</tr>\n<tr>\n<td>specialNeeds3</td>\n<td>string</td>\n<td>database value of special needs text</td>\n</tr>\n<tr>\n<td>consentCreditCheck</td>\n<td>boolean</td>\n<td>does customer consent for supplier to perform a credit check?</td>\n</tr>\n<tr>\n<td>billingSameAsSupply</td>\n<td>boolean</td>\n<td>is customer's billing address same as her supply address?</td>\n</tr>\n<tr>\n<td>supplySubb</td>\n<td>string</td>\n<td>Subb of address</td>\n</tr>\n<tr>\n<td>supplyBnam</td>\n<td>string</td>\n<td>Bnam of address</td>\n</tr>\n<tr>\n<td>supplyBnum</td>\n<td>string</td>\n<td>Bnum of address</td>\n</tr>\n<tr>\n<td>supplyDpth</td>\n<td>string</td>\n<td>Dpth of address</td>\n</tr>\n<tr>\n<td>supplyThor</td>\n<td>string</td>\n<td>Thor of address</td>\n</tr>\n<tr>\n<td>supplyDdlo</td>\n<td>string</td>\n<td>Ddlo of address</td>\n</tr>\n<tr>\n<td>supplyDplo</td>\n<td>string</td>\n<td>Dplo of address</td>\n</tr>\n<tr>\n<td>supplyTown</td>\n<td>string</td>\n<td>Town of address</td>\n</tr>\n<tr>\n<td>supplyCnty</td>\n<td>string</td>\n<td>Cnty of address</td>\n</tr>\n<tr>\n<td>supplyPcod</td>\n<td>string</td>\n<td>UK Postcode (excluding Northern Ireland) with or without space and can have both upper and lower case characters</td>\n</tr>\n<tr>\n<td>billingSubb</td>\n<td>string</td>\n<td>Subb of address</td>\n</tr>\n<tr>\n<td>billingBnam</td>\n<td>string</td>\n<td>Bnam of address</td>\n</tr>\n<tr>\n<td>billingBnum</td>\n<td>string</td>\n<td>Bnum of address</td>\n</tr>\n<tr>\n<td>billingDpth</td>\n<td>string</td>\n<td>Dpth of address</td>\n</tr>\n<tr>\n<td>billingThor</td>\n<td>string</td>\n<td>Thor of address</td>\n</tr>\n<tr>\n<td>billingDdlo</td>\n<td>string</td>\n<td>Ddlo of address</td>\n</tr>\n<tr>\n<td>billingDplo</td>\n<td>string</td>\n<td>Dplo of address</td>\n</tr>\n<tr>\n<td>billingTown</td>\n<td>string</td>\n<td>Town of address</td>\n</tr>\n<tr>\n<td>billingCnty</td>\n<td>string</td>\n<td>Cnty of address</td>\n</tr>\n<tr>\n<td>billingPcod</td>\n<td>string</td>\n<td>UK Postcode (excluding Northern Ireland) with or without space and can have both upper and lower case characters</td>\n</tr>\n<tr>\n<td>previous1Subb</td>\n<td>string</td>\n<td>Subb of address</td>\n</tr>\n<tr>\n<td>previous1Bnam</td>\n<td>string</td>\n<td>Bnam of address</td>\n</tr>\n<tr>\n<td>previous1Bnum</td>\n<td>string</td>\n<td>Bnum of address</td>\n</tr>\n<tr>\n<td>previous1Dpth</td>\n<td>string</td>\n<td>Dpth of address</td>\n</tr>\n<tr>\n<td>previous1Thor</td>\n<td>string</td>\n<td>Thor of address</td>\n</tr>\n<tr>\n<td>previous1Ddlo</td>\n<td>string</td>\n<td>Ddlo of address</td>\n</tr>\n<tr>\n<td>previous1Dplo</td>\n<td>string</td>\n<td>Dplo of address</td>\n</tr>\n<tr>\n<td>previous1Town</td>\n<td>string</td>\n<td>Town of address</td>\n</tr>\n<tr>\n<td>previous1Cnty</td>\n<td>string</td>\n<td>Cnty of address</td>\n</tr>\n<tr>\n<td>previous1Pcod</td>\n<td>string</td>\n<td>UK Postcode (excluding Northern Ireland) with or without space and can have both upper and lower case characters</td>\n</tr>\n<tr>\n<td>previous2Subb</td>\n<td>string</td>\n<td>Subb of address</td>\n</tr>\n<tr>\n<td>previous2Bnam</td>\n<td>string</td>\n<td>Bnam of address</td>\n</tr>\n<tr>\n<td>previous2Bnum</td>\n<td>string</td>\n<td>Bnum of address</td>\n</tr>\n<tr>\n<td>previous2Dpth</td>\n<td>string</td>\n<td>Dpth of address</td>\n</tr>\n<tr>\n<td>previous2Thor</td>\n<td>string</td>\n<td>Thor of address</td>\n</tr>\n<tr>\n<td>previous2Ddlo</td>\n<td>string</td>\n<td>Ddlo of address</td>\n</tr>\n<tr>\n<td>previous2Dplo</td>\n<td>string</td>\n<td>Dplo of address</td>\n</tr>\n<tr>\n<td>previous2Town</td>\n<td>string</td>\n<td>Town of address</td>\n</tr>\n<tr>\n<td>previous2Cnty</td>\n<td>string</td>\n<td>Cnty of address</td>\n</tr>\n<tr>\n<td>previous2Pcod</td>\n<td>string</td>\n<td>UK Postcode (excluding Northern Ireland) with or without space and can have both upper and lower case characters</td>\n</tr>\n<tr>\n<td>supplyMonths</td>\n<td>integer</td>\n<td>Number of months for which customer is resident in supply address</td>\n</tr>\n<tr>\n<td>previous1Months</td>\n<td>integer</td>\n<td>Number of months for which customer is resident in previous address if resident in supply address for less than 36 months</td>\n</tr>\n<tr>\n<td>previous2Months</td>\n<td>integer</td>\n<td>Number of months for which customer is resident in previous to previous address if resident in supply address and previous address for less than 36 months</td>\n</tr>\n<tr>\n<td>bankSortCode</td>\n<td>string</td>\n<td>UK bank sort code, digit-only string with 6 chars</td>\n</tr>\n<tr>\n<td>bankAccountNumber</td>\n<td>string</td>\n<td>UK bank account number, digit only string with 1 to 8 chars</td>\n</tr>\n<tr>\n<td>bankAccountName</td>\n<td>string</td>\n<td>name of bank account holder</td>\n</tr>\n<tr>\n<td>bankAccountAuthorized</td>\n<td>boolean</td>\n<td>flag to indicate if bank account holder has authority to set up direct debit</td>\n</tr>\n<tr>\n<td>bankDirectDebitDate</td>\n<td>integer</td>\n<td>1-28</td>\n</tr>\n<tr>\n<td>consentSupplierTerms</td>\n<td>boolean</td>\n<td></td>\n</tr>\n<tr>\n<td>contactMethod</td>\n<td>string</td>\n<td>['email' or 'post' or 'sms']: Choice of contact method</td>\n</tr>\n<tr>\n<td>consentPriceAlerts</td>\n<td>boolean</td>\n<td>For <code>signupGroup</code> C (ScottishPower and E.ON), provide <code>true/false</code> for consent of customer to receiving price alerts</td>\n</tr>\n<tr>\n<td>dpaPartnerEmail</td>\n<td>boolean</td>\n<td>permission to make marketing contact by email</td>\n</tr>\n<tr>\n<td>dpaPartnerSms</td>\n<td>boolean</td>\n<td>permission to make marketing contact by SMS</td>\n</tr>\n<tr>\n<td>dpaPartnerPhone</td>\n<td>boolean</td>\n<td>permission to make marketing contact by phone</td>\n</tr>\n<tr>\n<td>dpaEnergylinxEmail</td>\n<td>boolean</td>\n<td>permission to make marketing contact by email</td>\n</tr>\n<tr>\n<td>dpaEnergylinxSms</td>\n<td>boolean</td>\n<td>permission to make marketing contact by SMS</td>\n</tr>\n<tr>\n<td>dpaEnergylinxPhone</td>\n<td>boolean</td>\n<td>permission to make marketing contact by phone</td>\n</tr>\n<tr>\n<td>hasGreenDeal</td>\n<td>boolean</td>\n<td>does customer have green deal?</td>\n</tr>\n<tr>\n<td>hasWarmHomeDiscount</td>\n<td>boolean</td>\n<td>does customer have warm home discount?</td>\n</tr>\n<tr>\n<td>paperlessBillingChoice</td>\n<td>boolean</td>\n<td>has customer chosen paper less billing?</td>\n</tr>\n<tr>\n<td>securityPassword</td>\n<td>string</td>\n<td>Password type information to keep the customer's account secure when calling customer service</td>\n</tr>\n<tr>\n<td>securityAnswer</td>\n<td>string</td>\n<td>Answer to security question to be asked when calling customer service</td>\n</tr>\n<tr>\n<td>securityQuestionText</td>\n<td>string</td>\n<td>Security question to be asked when calling customer service</td>\n</tr>\n<tr>\n<td>securityQuestionCode</td>\n<td>string</td>\n<td>['ELX-SQ-1006' or 'ELX-SQ-1007' or 'ELX-SQ-1005' or 'ELX-SQ-1001' or 'ELX-SQ-1004' or 'ELX-SQ-1002' or 'ELX-SQ-1003']: Please contact developer support for help</td>\n</tr>\n<tr>\n<td>existingSupplierNameGas</td>\n<td>string</td>\n<td>Name of existing gas supplier</td>\n</tr>\n<tr>\n<td>existingSupplierNameElec</td>\n<td>string</td>\n<td>Name of existing electric supplier</td>\n</tr>\n<tr>\n<td>fuelType</td>\n<td>string</td>\n<td>['elec' or 'gas' or 'elecgas']: One of elec, gas, elecgas</td>\n</tr>\n<tr>\n<td>mpanDataProvided</td>\n<td>boolean</td>\n<td></td>\n</tr>\n<tr>\n<td>mprnDataProvided</td>\n<td>boolean</td>\n<td></td>\n</tr>\n<tr>\n<td>mpanDataSource</td>\n<td>string</td>\n<td>['' or 'energylinx' or 'ecoes' or 'gbdata' or 'applicant' or 'other']: Source of mpan data; one of energylinx, ecoes, gbdata, applicant, other</td>\n</tr>\n<tr>\n<td>mprnDataSource</td>\n<td>string</td>\n<td>['' or 'energylinx' or 'xoserve' or 'gbdata' or 'applicant' or 'other']: Source of mprn data; one of energylinx, xoserve, gbdata, applicant, other</td>\n</tr>\n<tr>\n<td>mpanData</td>\n<td>MpanDataSerializer</td>\n<td>mpan data as per definition</td>\n</tr>\n<tr>\n<td>mprnData</td>\n<td>MprnDataSerializer</td>\n<td>mprn data as per definition</td>\n</tr>\n<tr>\n<td>supplierAccountNumber</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>affiliateCustomerId</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>dpaSupplierEmail</td>\n<td>boolean</td>\n<td>permission to make marketing contact by email</td>\n</tr>\n<tr>\n<td>dpaSupplierSms</td>\n<td>boolean</td>\n<td>permission to make marketing contact by SMS</td>\n</tr>\n<tr>\n<td>dpaSupplierPhone</td>\n<td>boolean</td>\n<td>permission to make marketing contact by phone</td>\n</tr>\n<tr>\n<td>dpaSupplierFtf</td>\n<td>boolean</td>\n<td>permission to make marketing contact face to face</td>\n</tr>\n<tr>\n<td>dpaSupplierPost</td>\n<td>boolean</td>\n<td>permission to make marketing contact by post</td>\n</tr>\n<tr>\n<td>consentSupplierServicingEmail</td>\n<td>boolean</td>\n<td>permission for supplier to email customer for account servicing</td>\n</tr>\n<tr>\n<td>consentSupplierServicingSms</td>\n<td>boolean</td>\n<td>permission for supplier to SMS customer for account servicing</td>\n</tr>\n</tbody>\n</table>\n</div><p><br /><code>mpanData</code> (MpanDataSerializer) format:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>mpanLower</td>\n<td>string</td>\n<td>UK lower MPAN</td>\n</tr>\n<tr>\n<td>mpanTopLine</td>\n<td>string</td>\n<td>MPAN top line which includes MPAN profile class (2 digits), MPAN meter time-switch code (3 digits), MPAN line loss factor (3 digits)</td>\n</tr>\n<tr>\n<td>meterSerialElec</td>\n<td>string</td>\n<td>UK electric meter serial number</td>\n</tr>\n</tbody>\n</table>\n</div><p><br /><code>mprnData</code> (MprnDataSerializer) format:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>mprn</td>\n<td>string</td>\n<td>UK MPRN number for gas supply without leading M</td>\n</tr>\n<tr>\n<td>meterSerialGas</td>\n<td>string</td>\n<td>UK gas meter serial number</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","signups","{{signup_tag}}",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"77dcbe8c-477a-4e3e-899e-38d831ef378b"},{"name":"Write into a temporary store","id":"ec3d06b8-ef6c-4d58-8743-cc9b9d656c01","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{partner_auth}}","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/signups/{{signup_tag}}/","description":"<p>This method will write the input fields (even if only a subset of them are supplied) into a temporary store to be committed into the resultsTable later.</p>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","signups","{{signup_tag}}",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ec3d06b8-ef6c-4d58-8743-cc9b9d656c01"},{"name":"Commit signup input fields","event":[{"listen":"test","script":{"id":"6e30e9b5-aed2-4f75-af84-57531ecbe961","exec":["tests['Status code is 200'] = responseCode.code === 200;","var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable('signup_id', JSON.stringify(jsonData.data.signupId));"],"type":"text/javascript"}}],"id":"77f82147-4112-452f-87fc-87b0b3c13370","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/signups/commit/{{signup_tag}}/","description":"<p>This method will commit all the input fields for the given signupId from the temporary store into the resultsTable database.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"signupId\": 123456\n}\n</code></pre>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","signups","commit","{{signup_tag}}",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"77f82147-4112-452f-87fc-87b0b3c13370"},{"name":"Signup Cancel","id":"8f2ac9f2-0240-4eb0-b4a4-7bd7b29610f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"signupId\": 123456,\n\t\"postcode\": \"HP108EB\",\n\t\"test\": true,\n\t\"testToEmail\": \"youremail@youremail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/signups/cancel/","description":"<p>View to cancel signups given a list of signup ids as input. Cancellation is a complex transaction which involves updating several tables in the database and cancellation notices sent to applicant, energylinx staff and supplier. In case of cancellation failure, you can assume that email to supplier was not sent because it is the last part of the transaction. But you might have to follow up with applicant and energylinx admin team to prevent confusion.</p>\n<h2 id=\"response\">Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>name</th>\n<th>type</th>\n<th>values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>affiliateId</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>fuelType</td>\n<td>string</td>\n<td>\"elec\" or \"gas\" or \"elecgas\"</td>\n</tr>\n<tr>\n<td>signupId</td>\n<td>integer</td>\n<td></td>\n</tr>\n<tr>\n<td>forename</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>surname</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>statusConditionSlug</td>\n<td>string</td>\n<td>\"application-awaiting-confirmation\" or \"application-awaiting-export\" or \"registered-for-collective-switch\" or \"mpan-and-mprn-not-found\" or \"mpan-not-found\" or \"mprn-not-found\" or \"supplier-invoiced\" or \"elx-approved-for-payment\" or \"commission-paid-by-supplier\" or \"commission-partially-paid-by-supplier\" or \"application-exported\" or \"registration-accepted\" or \"registration-objected\" or \"registration-queried\" or \"registration-rejected\" or \"account-number-missing\" or \"cancelled-by-supplier\" or \"cancelled-direct-by-customer\" or \"clawback\" or \"duplicate-application\" or \"erroneous-transfer\" or \"profanity\" or \"time-expired\" or \"time-expired-without-mpas\" or \"test-signup\"</td>\n</tr>\n<tr>\n<td>statusConditionSlugElec</td>\n<td>string</td>\n<td>\"application-awaiting-confirmation\" or \"application-awaiting-export\" or \"registered-for-collective-switch\" or \"mpan-and-mprn-not-found\" or \"mpan-not-found\" or \"mprn-not-found\" or \"supplier-invoiced\" or \"elx-approved-for-payment\" or \"commission-paid-by-supplier\" or \"commission-partially-paid-by-supplier\" or \"application-exported\" or \"registration-accepted\" or \"registration-objected\" or \"registration-queried\" or \"registration-rejected\" or \"account-number-missing\" or \"cancelled-by-supplier\" or \"cancelled-direct-by-customer\" or \"clawback\" or \"duplicate-application\" or \"erroneous-transfer\" or \"profanity\" or \"time-expired\" or \"time-expired-without-mpas\" or \"test-signup\"</td>\n</tr>\n<tr>\n<td>statusConditionSlugGas</td>\n<td>string</td>\n<td>\"application-awaiting-confirmation\" or \"application-awaiting-export\" or \"registered-for-collective-switch\" or \"mpan-and-mprn-not-found\" or \"mpan-not-found\" or \"mprn-not-found\" or \"supplier-invoiced\" or \"elx-approved-for-payment\" or \"commission-paid-by-supplier\" or \"commission-partially-paid-by-supplier\" or \"application-exported\" or \"registration-accepted\" or \"registration-objected\" or \"registration-queried\" or \"registration-rejected\" or \"account-number-missing\" or \"cancelled-by-supplier\" or \"cancelled-direct-by-customer\" or \"clawback\" or \"duplicate-application\" or \"erroneous-transfer\" or \"profanity\" or \"time-expired\" or \"time-expired-without-mpas\" or \"test-signup\"</td>\n</tr>\n<tr>\n<td>title</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>supplierName</td>\n<td>string</td>\n<td></td>\n</tr>\n<tr>\n<td>tariffName</td>\n<td>string</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><br />\n\n<h2 id=\"parameters\">Parameters</h2>\n<p><code>signupId</code> and <code>postcode</code> are required.</p>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","signups","cancel",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8f2ac9f2-0240-4eb0-b4a4-7bd7b29610f6"},{"name":"Delete from the temporary store","id":"72bf7eee-642f-4e63-a3ff-979622e2234c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"{{partner_auth}}","type":"text"}],"url":"{{host}}/v3.3/partner-resources/{{partner_affiliate_id}}/signups/{{signup_tag}}/","description":"<p>This method will delete all the input fields for the giving signupId from the temporary store.</p>\n","urlObject":{"path":["v3.3","partner-resources","{{partner_affiliate_id}}","signups","{{signup_tag}}",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"72bf7eee-642f-4e63-a3ff-979622e2234c"}],"id":"7b8ed748-3fd1-4c2e-a401-1d4533dad296","_postman_id":"7b8ed748-3fd1-4c2e-a401-1d4533dad296","description":""},{"name":"SVT Tariffs","item":[{"name":"E.ON","event":[{"listen":"test","script":{"id":"1e665d4a-c64c-464e-9129-48e856783f25","exec":["tests['Status code is 200'] = responseCode.code === 200;","","var jsonData = JSON.parse(responseBody);","","tests['Response body contains msg'] = jsonData.hasOwnProperty('message');","tests['Response body contains statusCode'] = jsonData.hasOwnProperty('statusCode');","tests['StatusCode is 1034'] = jsonData.statusCode === 1034;","tests['Response body contains data'] = jsonData.hasOwnProperty('data');","","tests['Data contains standardTariffs'] = jsonData.data.hasOwnProperty('standardTariffs');","tests['standardTariffs has at least 1 element'] = jsonData.data.standardTariffs.length >= 1;","","allowedFuelTypes = ['gas', 'elec', 'elecgas'];","allowedPayTypes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];","tuplesSeen = [];","","for (i = 0; i < jsonData.data.standardTariffs.length; ++i) {","    ","    tests['standardTariffs[i] contains fuelType'] = jsonData.data.standardTariffs[i].hasOwnProperty('fuelType');","    fuelType = jsonData.data.standardTariffs[i].fuelType;","    tests['standardTariffs[i] fuelType is one of elec, gas, elecgas'] = allowedFuelTypes.includes(fuelType);","    ","    tests['standardTariffs[i] contains payType'] = jsonData.data.standardTariffs[i].hasOwnProperty('payType');","    payType = jsonData.data.standardTariffs[i].payType;","    tests['standardTariffs[i] fuelType is one of 1 to 13 inclusive'] = allowedPayTypes.includes(payType);","    ","    tuple = fuelType + payType.toString();","    ","    tests['standardTariffs[i] fuelType, payTypes tuple not seen before'] = !tuplesSeen.includes(tuple);","    ","    tuplesSeen.push(tuple);","}","",""],"type":"text/javascript"}}],"id":"106692ef-a7fa-4b1b-b8a0-a33080c5bffe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}"}],"body":{"mode":"raw","raw":"{\n    \"supplierName\": \"E.ON\"\n}"},"url":"{{host}}/v3/partner-resources/{{partner_affiliate_id}}/tariffs-standard-by-supplier-name/","urlObject":{"path":["v3","partner-resources","{{partner_affiliate_id}}","tariffs-standard-by-supplier-name",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"106692ef-a7fa-4b1b-b8a0-a33080c5bffe"},{"name":"EDF Energy","event":[{"listen":"test","script":{"type":"text/javascript","exec":["tests['Status code is 200'] = responseCode.code === 200;","","var jsonData = JSON.parse(responseBody);","","tests['Response body contains msg'] = jsonData.hasOwnProperty('message');","tests['Response body contains statusCode'] = jsonData.hasOwnProperty('statusCode');","tests['StatusCode is 1034'] = jsonData.statusCode === 1034;","tests['Response body contains data'] = jsonData.hasOwnProperty('data');","","tests['Data contains standardTariffs'] = jsonData.data.hasOwnProperty('standardTariffs');","tests['standardTariffs has at least 1 element'] = jsonData.data.standardTariffs.length >= 1;","","allowedFuelTypes = ['gas', 'elec', 'elecgas'];","allowedPayTypes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];","tuplesSeen = [];","","for (i = 0; i < jsonData.data.standardTariffs.length; ++i) {","    ","    tests['standardTariffs[i] contains fuelType'] = jsonData.data.standardTariffs[i].hasOwnProperty('fuelType');","    fuelType = jsonData.data.standardTariffs[i].fuelType;","    tests['standardTariffs[i] fuelType is one of elec, gas, elecgas'] = allowedFuelTypes.includes(fuelType);","    ","    tests['standardTariffs[i] contains payType'] = jsonData.data.standardTariffs[i].hasOwnProperty('payType');","    payType = jsonData.data.standardTariffs[i].payType;","    tests['standardTariffs[i] fuelType is one of 1 to 13 inclusive'] = allowedPayTypes.includes(payType);","    ","    tuple = fuelType + payType.toString();","    ","    tests['standardTariffs[i] fuelType, payTypes tuple not seen before'] = !tuplesSeen.includes(tuple);","    ","    tuplesSeen.push(tuple);","}","",""]}}],"id":"54b74b5d-aafd-44f6-89a9-25b06a03667f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}"}],"body":{"mode":"raw","raw":"{\n    \"supplierName\": \"EDF Energy\"\n}"},"url":"{{host}}/v3/partner-resources/{{partner_affiliate_id}}/tariffs-standard-by-supplier-name/","urlObject":{"path":["v3","partner-resources","{{partner_affiliate_id}}","tariffs-standard-by-supplier-name",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"54b74b5d-aafd-44f6-89a9-25b06a03667f"},{"name":"ScottishPower","event":[{"listen":"test","script":{"id":"794001e6-50d1-4db5-a602-1b6b8daae219","exec":["tests['Status code is 200'] = responseCode.code === 200;","","var jsonData = JSON.parse(responseBody);","","tests['Response body contains msg'] = jsonData.hasOwnProperty('message');","tests['Response body contains statusCode'] = jsonData.hasOwnProperty('statusCode');","tests['StatusCode is 1034'] = jsonData.statusCode === 1034;","tests['Response body contains data'] = jsonData.hasOwnProperty('data');","","tests['Data contains standardTariffs'] = jsonData.data.hasOwnProperty('standardTariffs');","tests['standardTariffs has at least 1 element'] = jsonData.data.standardTariffs.length >= 1;","","allowedFuelTypes = ['gas', 'elec', 'elecgas'];","allowedPayTypes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];","tuplesSeen = [];","","for (i = 0; i < jsonData.data.standardTariffs.length; ++i) {","    ","    tests['standardTariffs[i] contains fuelType'] = jsonData.data.standardTariffs[i].hasOwnProperty('fuelType');","    fuelType = jsonData.data.standardTariffs[i].fuelType;","    tests['standardTariffs[i] fuelType is one of elec, gas, elecgas'] = allowedFuelTypes.includes(fuelType);","    ","    tests['standardTariffs[i] contains payType'] = jsonData.data.standardTariffs[i].hasOwnProperty('payType');","    payType = jsonData.data.standardTariffs[i].payType;","    tests['standardTariffs[i] fuelType is one of 1 to 13 inclusive'] = allowedPayTypes.includes(payType);","    ","    tuple = fuelType + payType.toString();","    ","    tests['standardTariffs[i] fuelType, payTypes tuple not seen before'] = !tuplesSeen.includes(tuple);","    ","    tuplesSeen.push(tuple);","}","",""],"type":"text/javascript"}}],"id":"a5817101-b3ad-4341-8110-b93b34676ce8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"{{partner_auth}}"}],"body":{"mode":"raw","raw":"{\n    \"supplierName\": \"ScottishPower\"\n}"},"url":"{{host}}/v3/partner-resources/{{partner_affiliate_id}}/tariffs-standard-by-supplier-name/","urlObject":{"path":["v3","partner-resources","{{partner_affiliate_id}}","tariffs-standard-by-supplier-name",""],"host":["{{host}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a5817101-b3ad-4341-8110-b93b34676ce8"}],"id":"229c6239-9ff3-4678-9593-3c23182b789f","event":[{"listen":"prerequest","script":{"id":"41308ebe-eec6-493b-954e-4675bf585c6f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5f96f135-88cf-4443-a25a-791d2355e874","type":"text/javascript","exec":[""]}}],"_postman_id":"229c6239-9ff3-4678-9593-3c23182b789f","description":""}],"event":[{"listen":"prerequest","script":{"id":"b48d9309-6dd4-49e1-b891-870e6a450611","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"f6ae5f77-5899-4bce-8a00-1c634b49b916","type":"text/javascript","exec":[""]}}]}