CDR Banking Extension API

Banking

getProductDetail

Get Product Detail

Obtain detailed information on a single product offered openly to the market. Obsolete versions: [v1](includes/obsolete/get-product-detail-v1.html) [v2](includes/obsolete/get-product-detail-v2.html) [v3](includes/obsolete/get-product-detail-v3.html)


/banking/products/{productId}

Usage and SDK Samples

curl -X GET\
-H "Accept: application/json"\
"https://data.holder.com.au/cds-au/v1/banking/products/{productId}"
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.BankingApi;

import java.io.File;
import java.util.*;

public class BankingApiExample {

    public static void main(String[] args) {
        
        BankingApi apiInstance = new BankingApi();
        String productId = productId_example; // String | ID of the specific product requested
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductByIdV4 result = apiInstance.getProductDetail(productId, xV, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling BankingApi#getProductDetail");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.BankingApi;

public class BankingApiExample {

    public static void main(String[] args) {
        BankingApi apiInstance = new BankingApi();
        String productId = productId_example; // String | ID of the specific product requested
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductByIdV4 result = apiInstance.getProductDetail(productId, xV, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling BankingApi#getProductDetail");
            e.printStackTrace();
        }
    }
}
String *productId = productId_example; // ID of the specific product requested
String *xV = xV_example; // Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
String *xMinV = xMinV_example; // Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

BankingApi *apiInstance = [[BankingApi alloc] init];

// Get Product Detail
[apiInstance getProductDetailWith:productId
    xV:xV
    xMinV:xMinV
              completionHandler: ^(ResponseBankingProductByIdV4 output, NSError* error) {
                            if (output) {
                                NSLog(@"%@", output);
                            }
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var CdrBankingExtensionApi = require('cdr_banking_extension_api');

var api = new CdrBankingExtensionApi.BankingApi()
var productId = productId_example; // {{String}} ID of the specific product requested
var xV = xV_example; // {{String}} Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
var opts = { 
  'xMinV': xMinV_example // {{String}} Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
};
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.getProductDetail(productId, xV, opts, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class getProductDetailExample
    {
        public void main()
        {

            var apiInstance = new BankingApi();
            var productId = productId_example;  // String | ID of the specific product requested
            var xV = xV_example;  // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
            var xMinV = xMinV_example;  // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional) 

            try
            {
                // Get Product Detail
                ResponseBankingProductByIdV4 result = apiInstance.getProductDetail(productId, xV, xMinV);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling BankingApi.getProductDetail: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\ApiBankingApi();
$productId = productId_example; // String | ID of the specific product requested
$xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
$xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

try {
    $result = $api_instance->getProductDetail($productId, $xV, $xMinV);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling BankingApi->getProductDetail: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::BankingApi;

my $api_instance = WWW::SwaggerClient::BankingApi->new();
my $productId = productId_example; # String | ID of the specific product requested
my $xV = xV_example; # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
my $xMinV = xMinV_example; # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

eval { 
    my $result = $api_instance->getProductDetail(productId => $productId, xV => $xV, xMinV => $xMinV);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling BankingApi->getProductDetail: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.BankingApi()
productId = productId_example # String | ID of the specific product requested
xV = xV_example # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
xMinV = xMinV_example # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

try: 
    # Get Product Detail
    api_response = api_instance.get_product_detail(productId, xV, xMinV=xMinV)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling BankingApi->getProductDetail: %s\n" % e)

Parameters

Path parameters
Name Description
productId*
String
ID of the specific product requested
Required
Header parameters
Name Description
x-v*
String
Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
Required
x-min-v
String
Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

Responses

Status: 200 - Success

Name Type Format Description
x-v String

Status: 400 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>

Status: 404 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Resource](#error-404-resource-unavailable)</li><li>[404 - Invalid Resource](#error-404-resource-invalid)</li></ul>

Status: 406 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>


listProducts

Get Products

Obtain a list of products that are currently openly offered to the market Note that the results returned by this end point are expected to be ordered in descending order according to ``lastUpdated``. ### Conventions In the product reference payloads there are a number of recurring conventions that are explained here, in one place. #### Arrays Of Features In the product detail payload there are a number of arrays articulating generic features, constraints, prices, etc. The intent of these arrays is as follows: - Each element in an array has the same structure so that clients can reliably interpret the payloads - Each element as a type element that is an enumeration of the specific aspect of a product being described, such as types of fees. - Each element has a field name [additionalValue](#productfeaturetypedoc). This is a generic field with contents that will vary based on the type of object being described. The contents of this field for the ADDITIONAL_CARDS feature is the number of cards allowed while the contents of this field for the MAX_LIMIT constraint would be the maximum credit limit allowed for the product. - An element in these arrays of the same type may appear more than once. For instance, a product may offer two separate loyalty programs that the customer can select from. A fixed term mortgage may have different rates for different term lengths. - An element in these arrays may contain an additionalInfo and additionalInfoUri field. The additionalInfo field is used to provide displayable text clarifying the purpose of the element in some way when the product is presented to a customer. The additionalInfoUri provides a link to externally hosted information specifically relevant to that feature of the product. - Depending on the type of data being represented there may be additional specific fields. #### URIs To More Information As the complexities and nuances of a financial product can not easily be fully expressed in a data structure without a high degree of complexity it is necessary to provide additional reference information that a potential customer can access so that they are fully informed of the features and implications of the product. The payloads for product reference therefore contain numerous fields that are provided to allow the product holder to describe the product more fully using a web page hosted on their online channels. These URIs do not need to all link to different pages. If desired, they can all link to a single hosted page and use difference HTML anchors to focus on a specific topic such as eligibility or fees. #### Linkage To Accounts From the moment that a customer applies for a product and an account is created the account and the product that spawned it will diverge. Rates and features of the product may change and a discount may be negotiated for the account. For this reason, while productCategory is a common field between accounts and products, there is no specific ID that can be used to link an account to a product within the regime. Similarly, many of the fields and objects in the product payload will appear in the account detail payload but the structures and semantics are not identical as one refers to a product that can potentially be originated and one refers to an account that actually has been instantiated and created along with the associated decisions inherent in that process. #### Dates It is expected that data consumers needing this data will call relatively frequently to ensure the data they have is representative of the current offering from a bank. To minimise the volume and frequency of these calls the ability to set a lastUpdated field with the date and time of the last update to this product is included. A call for a list of products can then be filtered to only return products that have been updated since the last time that data was obtained using the updated-since query parameter. In addition, the concept of effective date and time has also been included. This allows for a product to be marked for obsolescence, or introduction, from a certain time without the need for an update to show that a product has been changed. The inclusion of these dates also removes the need to represent deleted products in the payload. Products that are no long offered can be marked not effective for a few weeks before they are then removed from the product set as an option entirely. Obsolete versions: [v1](includes/obsolete/get-products-v1.html) [v2](includes/obsolete/get-products-v2.html)


/banking/products

Usage and SDK Samples

curl -X GET\
-H "Accept: application/json"\
"https://data.holder.com.au/cds-au/v1/banking/products?effective=&updated-since=&brand=&product-category=&page=&page-size="
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.BankingApi;

import java.io.File;
import java.util.*;

public class BankingApiExample {

    public static void main(String[] args) {
        
        BankingApi apiInstance = new BankingApi();
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String effective = effective_example; // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
        String updatedSince = updatedSince_example; // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
        String brand = brand_example; // String | Filter results based on a specific brand
        String productCategory = productCategory_example; // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
        Integer page = 56; // Integer | Page of results to request (standard pagination)
        Integer pageSize = 56; // Integer | Page size to request. Default is 25 (standard pagination)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductListV2 result = apiInstance.listProducts(xV, effective, updatedSince, brand, productCategory, page, pageSize, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling BankingApi#listProducts");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.BankingApi;

public class BankingApiExample {

    public static void main(String[] args) {
        BankingApi apiInstance = new BankingApi();
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String effective = effective_example; // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
        String updatedSince = updatedSince_example; // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
        String brand = brand_example; // String | Filter results based on a specific brand
        String productCategory = productCategory_example; // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
        Integer page = 56; // Integer | Page of results to request (standard pagination)
        Integer pageSize = 56; // Integer | Page size to request. Default is 25 (standard pagination)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductListV2 result = apiInstance.listProducts(xV, effective, updatedSince, brand, productCategory, page, pageSize, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling BankingApi#listProducts");
            e.printStackTrace();
        }
    }
}
String *xV = xV_example; // Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
String *effective = effective_example; // Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT' (optional) (default to CURRENT)
String *updatedSince = updatedSince_example; // Only include products that have been updated after the specified date and time. If absent defaults to include all products (optional)
String *brand = brand_example; // Filter results based on a specific brand (optional)
String *productCategory = productCategory_example; // Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned. (optional)
Integer *page = 56; // Page of results to request (standard pagination) (optional) (default to 1)
Integer *pageSize = 56; // Page size to request. Default is 25 (standard pagination) (optional) (default to 25)
String *xMinV = xMinV_example; // Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

BankingApi *apiInstance = [[BankingApi alloc] init];

// Get Products
[apiInstance listProductsWith:xV
    effective:effective
    updatedSince:updatedSince
    brand:brand
    productCategory:productCategory
    page:page
    pageSize:pageSize
    xMinV:xMinV
              completionHandler: ^(ResponseBankingProductListV2 output, NSError* error) {
                            if (output) {
                                NSLog(@"%@", output);
                            }
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var CdrBankingExtensionApi = require('cdr_banking_extension_api');

var api = new CdrBankingExtensionApi.BankingApi()
var xV = xV_example; // {{String}} Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
var opts = { 
  'effective': effective_example, // {{String}} Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
  'updatedSince': updatedSince_example, // {{String}} Only include products that have been updated after the specified date and time. If absent defaults to include all products
  'brand': brand_example, // {{String}} Filter results based on a specific brand
  'productCategory': productCategory_example, // {{String}} Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
  'page': 56, // {{Integer}} Page of results to request (standard pagination)
  'pageSize': 56, // {{Integer}} Page size to request. Default is 25 (standard pagination)
  'xMinV': xMinV_example // {{String}} Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
};
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.listProducts(xV, opts, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class listProductsExample
    {
        public void main()
        {

            var apiInstance = new BankingApi();
            var xV = xV_example;  // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
            var effective = effective_example;  // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT' (optional)  (default to CURRENT)
            var updatedSince = updatedSince_example;  // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products (optional) 
            var brand = brand_example;  // String | Filter results based on a specific brand (optional) 
            var productCategory = productCategory_example;  // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned. (optional) 
            var page = 56;  // Integer | Page of results to request (standard pagination) (optional)  (default to 1)
            var pageSize = 56;  // Integer | Page size to request. Default is 25 (standard pagination) (optional)  (default to 25)
            var xMinV = xMinV_example;  // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional) 

            try
            {
                // Get Products
                ResponseBankingProductListV2 result = apiInstance.listProducts(xV, effective, updatedSince, brand, productCategory, page, pageSize, xMinV);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling BankingApi.listProducts: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\ApiBankingApi();
$xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
$effective = effective_example; // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
$updatedSince = updatedSince_example; // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
$brand = brand_example; // String | Filter results based on a specific brand
$productCategory = productCategory_example; // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
$page = 56; // Integer | Page of results to request (standard pagination)
$pageSize = 56; // Integer | Page size to request. Default is 25 (standard pagination)
$xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

try {
    $result = $api_instance->listProducts($xV, $effective, $updatedSince, $brand, $productCategory, $page, $pageSize, $xMinV);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling BankingApi->listProducts: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::BankingApi;

my $api_instance = WWW::SwaggerClient::BankingApi->new();
my $xV = xV_example; # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
my $effective = effective_example; # String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
my $updatedSince = updatedSince_example; # String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
my $brand = brand_example; # String | Filter results based on a specific brand
my $productCategory = productCategory_example; # String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
my $page = 56; # Integer | Page of results to request (standard pagination)
my $pageSize = 56; # Integer | Page size to request. Default is 25 (standard pagination)
my $xMinV = xMinV_example; # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

eval { 
    my $result = $api_instance->listProducts(xV => $xV, effective => $effective, updatedSince => $updatedSince, brand => $brand, productCategory => $productCategory, page => $page, pageSize => $pageSize, xMinV => $xMinV);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling BankingApi->listProducts: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.BankingApi()
xV = xV_example # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
effective = effective_example # String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT' (optional) (default to CURRENT)
updatedSince = updatedSince_example # String | Only include products that have been updated after the specified date and time. If absent defaults to include all products (optional)
brand = brand_example # String | Filter results based on a specific brand (optional)
productCategory = productCategory_example # String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned. (optional)
page = 56 # Integer | Page of results to request (standard pagination) (optional) (default to 1)
pageSize = 56 # Integer | Page size to request. Default is 25 (standard pagination) (optional) (default to 25)
xMinV = xMinV_example # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

try: 
    # Get Products
    api_response = api_instance.list_products(xV, effective=effective, updatedSince=updatedSince, brand=brand, productCategory=productCategory, page=page, pageSize=pageSize, xMinV=xMinV)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling BankingApi->listProducts: %s\n" % e)

Parameters

Header parameters
Name Description
x-v*
String
Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
Required
x-min-v
String
Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
Query parameters
Name Description
effective
String
Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
updated-since
String
Only include products that have been updated after the specified date and time. If absent defaults to include all products
brand
String
Filter results based on a specific brand
product-category
String
Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
page
Integer
Page of results to request (standard pagination)
page-size
Integer
Page size to request. Default is 25 (standard pagination)

Responses

Status: 200 - Success

Name Type Format Description
x-v String

Status: 400 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>

Status: 406 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>

Status: 422 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>


Products

getProductDetail

Get Product Detail

Obtain detailed information on a single product offered openly to the market. Obsolete versions: [v1](includes/obsolete/get-product-detail-v1.html) [v2](includes/obsolete/get-product-detail-v2.html) [v3](includes/obsolete/get-product-detail-v3.html)


/banking/products/{productId}

Usage and SDK Samples

curl -X GET\
-H "Accept: application/json"\
"https://data.holder.com.au/cds-au/v1/banking/products/{productId}"
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.ProductsApi;

import java.io.File;
import java.util.*;

public class ProductsApiExample {

    public static void main(String[] args) {
        
        ProductsApi apiInstance = new ProductsApi();
        String productId = productId_example; // String | ID of the specific product requested
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductByIdV4 result = apiInstance.getProductDetail(productId, xV, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling ProductsApi#getProductDetail");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.ProductsApi;

public class ProductsApiExample {

    public static void main(String[] args) {
        ProductsApi apiInstance = new ProductsApi();
        String productId = productId_example; // String | ID of the specific product requested
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductByIdV4 result = apiInstance.getProductDetail(productId, xV, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling ProductsApi#getProductDetail");
            e.printStackTrace();
        }
    }
}
String *productId = productId_example; // ID of the specific product requested
String *xV = xV_example; // Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
String *xMinV = xMinV_example; // Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

ProductsApi *apiInstance = [[ProductsApi alloc] init];

// Get Product Detail
[apiInstance getProductDetailWith:productId
    xV:xV
    xMinV:xMinV
              completionHandler: ^(ResponseBankingProductByIdV4 output, NSError* error) {
                            if (output) {
                                NSLog(@"%@", output);
                            }
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var CdrBankingExtensionApi = require('cdr_banking_extension_api');

var api = new CdrBankingExtensionApi.ProductsApi()
var productId = productId_example; // {{String}} ID of the specific product requested
var xV = xV_example; // {{String}} Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
var opts = { 
  'xMinV': xMinV_example // {{String}} Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
};
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.getProductDetail(productId, xV, opts, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class getProductDetailExample
    {
        public void main()
        {

            var apiInstance = new ProductsApi();
            var productId = productId_example;  // String | ID of the specific product requested
            var xV = xV_example;  // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
            var xMinV = xMinV_example;  // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional) 

            try
            {
                // Get Product Detail
                ResponseBankingProductByIdV4 result = apiInstance.getProductDetail(productId, xV, xMinV);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling ProductsApi.getProductDetail: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\ApiProductsApi();
$productId = productId_example; // String | ID of the specific product requested
$xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
$xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

try {
    $result = $api_instance->getProductDetail($productId, $xV, $xMinV);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling ProductsApi->getProductDetail: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::ProductsApi;

my $api_instance = WWW::SwaggerClient::ProductsApi->new();
my $productId = productId_example; # String | ID of the specific product requested
my $xV = xV_example; # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
my $xMinV = xMinV_example; # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

eval { 
    my $result = $api_instance->getProductDetail(productId => $productId, xV => $xV, xMinV => $xMinV);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling ProductsApi->getProductDetail: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.ProductsApi()
productId = productId_example # String | ID of the specific product requested
xV = xV_example # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
xMinV = xMinV_example # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

try: 
    # Get Product Detail
    api_response = api_instance.get_product_detail(productId, xV, xMinV=xMinV)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling ProductsApi->getProductDetail: %s\n" % e)

Parameters

Path parameters
Name Description
productId*
String
ID of the specific product requested
Required
Header parameters
Name Description
x-v*
String
Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
Required
x-min-v
String
Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

Responses

Status: 200 - Success

Name Type Format Description
x-v String

Status: 400 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>

Status: 404 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Resource](#error-404-resource-unavailable)</li><li>[404 - Invalid Resource](#error-404-resource-invalid)</li></ul>

Status: 406 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>


listProducts

Get Products

Obtain a list of products that are currently openly offered to the market Note that the results returned by this end point are expected to be ordered in descending order according to ``lastUpdated``. ### Conventions In the product reference payloads there are a number of recurring conventions that are explained here, in one place. #### Arrays Of Features In the product detail payload there are a number of arrays articulating generic features, constraints, prices, etc. The intent of these arrays is as follows: - Each element in an array has the same structure so that clients can reliably interpret the payloads - Each element as a type element that is an enumeration of the specific aspect of a product being described, such as types of fees. - Each element has a field name [additionalValue](#productfeaturetypedoc). This is a generic field with contents that will vary based on the type of object being described. The contents of this field for the ADDITIONAL_CARDS feature is the number of cards allowed while the contents of this field for the MAX_LIMIT constraint would be the maximum credit limit allowed for the product. - An element in these arrays of the same type may appear more than once. For instance, a product may offer two separate loyalty programs that the customer can select from. A fixed term mortgage may have different rates for different term lengths. - An element in these arrays may contain an additionalInfo and additionalInfoUri field. The additionalInfo field is used to provide displayable text clarifying the purpose of the element in some way when the product is presented to a customer. The additionalInfoUri provides a link to externally hosted information specifically relevant to that feature of the product. - Depending on the type of data being represented there may be additional specific fields. #### URIs To More Information As the complexities and nuances of a financial product can not easily be fully expressed in a data structure without a high degree of complexity it is necessary to provide additional reference information that a potential customer can access so that they are fully informed of the features and implications of the product. The payloads for product reference therefore contain numerous fields that are provided to allow the product holder to describe the product more fully using a web page hosted on their online channels. These URIs do not need to all link to different pages. If desired, they can all link to a single hosted page and use difference HTML anchors to focus on a specific topic such as eligibility or fees. #### Linkage To Accounts From the moment that a customer applies for a product and an account is created the account and the product that spawned it will diverge. Rates and features of the product may change and a discount may be negotiated for the account. For this reason, while productCategory is a common field between accounts and products, there is no specific ID that can be used to link an account to a product within the regime. Similarly, many of the fields and objects in the product payload will appear in the account detail payload but the structures and semantics are not identical as one refers to a product that can potentially be originated and one refers to an account that actually has been instantiated and created along with the associated decisions inherent in that process. #### Dates It is expected that data consumers needing this data will call relatively frequently to ensure the data they have is representative of the current offering from a bank. To minimise the volume and frequency of these calls the ability to set a lastUpdated field with the date and time of the last update to this product is included. A call for a list of products can then be filtered to only return products that have been updated since the last time that data was obtained using the updated-since query parameter. In addition, the concept of effective date and time has also been included. This allows for a product to be marked for obsolescence, or introduction, from a certain time without the need for an update to show that a product has been changed. The inclusion of these dates also removes the need to represent deleted products in the payload. Products that are no long offered can be marked not effective for a few weeks before they are then removed from the product set as an option entirely. Obsolete versions: [v1](includes/obsolete/get-products-v1.html) [v2](includes/obsolete/get-products-v2.html)


/banking/products

Usage and SDK Samples

curl -X GET\
-H "Accept: application/json"\
"https://data.holder.com.au/cds-au/v1/banking/products?effective=&updated-since=&brand=&product-category=&page=&page-size="
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.ProductsApi;

import java.io.File;
import java.util.*;

public class ProductsApiExample {

    public static void main(String[] args) {
        
        ProductsApi apiInstance = new ProductsApi();
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String effective = effective_example; // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
        String updatedSince = updatedSince_example; // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
        String brand = brand_example; // String | Filter results based on a specific brand
        String productCategory = productCategory_example; // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
        Integer page = 56; // Integer | Page of results to request (standard pagination)
        Integer pageSize = 56; // Integer | Page size to request. Default is 25 (standard pagination)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductListV2 result = apiInstance.listProducts(xV, effective, updatedSince, brand, productCategory, page, pageSize, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling ProductsApi#listProducts");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.ProductsApi;

public class ProductsApiExample {

    public static void main(String[] args) {
        ProductsApi apiInstance = new ProductsApi();
        String xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
        String effective = effective_example; // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
        String updatedSince = updatedSince_example; // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
        String brand = brand_example; // String | Filter results based on a specific brand
        String productCategory = productCategory_example; // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
        Integer page = 56; // Integer | Page of results to request (standard pagination)
        Integer pageSize = 56; // Integer | Page size to request. Default is 25 (standard pagination)
        String xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
        try {
            ResponseBankingProductListV2 result = apiInstance.listProducts(xV, effective, updatedSince, brand, productCategory, page, pageSize, xMinV);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling ProductsApi#listProducts");
            e.printStackTrace();
        }
    }
}
String *xV = xV_example; // Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
String *effective = effective_example; // Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT' (optional) (default to CURRENT)
String *updatedSince = updatedSince_example; // Only include products that have been updated after the specified date and time. If absent defaults to include all products (optional)
String *brand = brand_example; // Filter results based on a specific brand (optional)
String *productCategory = productCategory_example; // Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned. (optional)
Integer *page = 56; // Page of results to request (standard pagination) (optional) (default to 1)
Integer *pageSize = 56; // Page size to request. Default is 25 (standard pagination) (optional) (default to 25)
String *xMinV = xMinV_example; // Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

ProductsApi *apiInstance = [[ProductsApi alloc] init];

// Get Products
[apiInstance listProductsWith:xV
    effective:effective
    updatedSince:updatedSince
    brand:brand
    productCategory:productCategory
    page:page
    pageSize:pageSize
    xMinV:xMinV
              completionHandler: ^(ResponseBankingProductListV2 output, NSError* error) {
                            if (output) {
                                NSLog(@"%@", output);
                            }
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var CdrBankingExtensionApi = require('cdr_banking_extension_api');

var api = new CdrBankingExtensionApi.ProductsApi()
var xV = xV_example; // {{String}} Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
var opts = { 
  'effective': effective_example, // {{String}} Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
  'updatedSince': updatedSince_example, // {{String}} Only include products that have been updated after the specified date and time. If absent defaults to include all products
  'brand': brand_example, // {{String}} Filter results based on a specific brand
  'productCategory': productCategory_example, // {{String}} Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
  'page': 56, // {{Integer}} Page of results to request (standard pagination)
  'pageSize': 56, // {{Integer}} Page size to request. Default is 25 (standard pagination)
  'xMinV': xMinV_example // {{String}} Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
};
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.listProducts(xV, opts, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class listProductsExample
    {
        public void main()
        {

            var apiInstance = new ProductsApi();
            var xV = xV_example;  // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
            var effective = effective_example;  // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT' (optional)  (default to CURRENT)
            var updatedSince = updatedSince_example;  // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products (optional) 
            var brand = brand_example;  // String | Filter results based on a specific brand (optional) 
            var productCategory = productCategory_example;  // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned. (optional) 
            var page = 56;  // Integer | Page of results to request (standard pagination) (optional)  (default to 1)
            var pageSize = 56;  // Integer | Page size to request. Default is 25 (standard pagination) (optional)  (default to 25)
            var xMinV = xMinV_example;  // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional) 

            try
            {
                // Get Products
                ResponseBankingProductListV2 result = apiInstance.listProducts(xV, effective, updatedSince, brand, productCategory, page, pageSize, xMinV);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling ProductsApi.listProducts: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\ApiProductsApi();
$xV = xV_example; // String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
$effective = effective_example; // String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
$updatedSince = updatedSince_example; // String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
$brand = brand_example; // String | Filter results based on a specific brand
$productCategory = productCategory_example; // String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
$page = 56; // Integer | Page of results to request (standard pagination)
$pageSize = 56; // Integer | Page size to request. Default is 25 (standard pagination)
$xMinV = xMinV_example; // String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

try {
    $result = $api_instance->listProducts($xV, $effective, $updatedSince, $brand, $productCategory, $page, $pageSize, $xMinV);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling ProductsApi->listProducts: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::ProductsApi;

my $api_instance = WWW::SwaggerClient::ProductsApi->new();
my $xV = xV_example; # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
my $effective = effective_example; # String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
my $updatedSince = updatedSince_example; # String | Only include products that have been updated after the specified date and time. If absent defaults to include all products
my $brand = brand_example; # String | Filter results based on a specific brand
my $productCategory = productCategory_example; # String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
my $page = 56; # Integer | Page of results to request (standard pagination)
my $pageSize = 56; # Integer | Page size to request. Default is 25 (standard pagination)
my $xMinV = xMinV_example; # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

eval { 
    my $result = $api_instance->listProducts(xV => $xV, effective => $effective, updatedSince => $updatedSince, brand => $brand, productCategory => $productCategory, page => $page, pageSize => $pageSize, xMinV => $xMinV);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling ProductsApi->listProducts: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.ProductsApi()
xV = xV_example # String | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
effective = effective_example # String | Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT' (optional) (default to CURRENT)
updatedSince = updatedSince_example # String | Only include products that have been updated after the specified date and time. If absent defaults to include all products (optional)
brand = brand_example # String | Filter results based on a specific brand (optional)
productCategory = productCategory_example # String | Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned. (optional)
page = 56 # Integer | Page of results to request (standard pagination) (optional) (default to 1)
pageSize = 56 # Integer | Page size to request. Default is 25 (standard pagination) (optional) (default to 25)
xMinV = xMinV_example # String | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. (optional)

try: 
    # Get Products
    api_response = api_instance.list_products(xV, effective=effective, updatedSince=updatedSince, brand=brand, productCategory=productCategory, page=page, pageSize=pageSize, xMinV=xMinV)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling ProductsApi->listProducts: %s\n" % e)

Parameters

Header parameters
Name Description
x-v*
String
Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
Required
x-min-v
String
Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
Query parameters
Name Description
effective
String
Allows for the filtering of products based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
updated-since
String
Only include products that have been updated after the specified date and time. If absent defaults to include all products
brand
String
Filter results based on a specific brand
product-category
String
Used to filter results on the productCategory field applicable to accounts. Any one of the valid values for this field can be supplied. If absent then all accounts returned.
page
Integer
Page of results to request (standard pagination)
page-size
Integer
Page size to request. Default is 25 (standard pagination)

Responses

Status: 200 - Success

Name Type Format Description
x-v String

Status: 400 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li><li>[400 - Invalid Date](#error-400-field-invalid-date-time)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>

Status: 406 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>

Status: 422 - The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>