# GET products Get the list of certificate products available for order on a specified title, by providing a volume & folio number or encrypted title ID created by discovery APIs. The response will include important details about each product like the pricing, description, pre-requisites, responsible authority, turnaround time and more. Endpoint: GET /orders/v1/products Version: 1.11.1 Security: oauthClientCredentials ## Query parameters: - `titleId` (string) Title identifier, this can be either a volume/folio (eg: '10940/843') or an encrypted titleId as returned by operations on this API (eg: 'qp0gjuieZ5VzbNKtT/eZvqPryobRkEYxMA==' - this example is valid for the TEST environment only). The returned product listing will include products related to the requested titleId. A maximum of one of titleId, propertyPfi, or documentId is required. Example: "10940/843" - `propertyPfi` (string) Unique identifier for a property. The returned product listing will include products related to the requested propertyPfi. A maximum of one of titleId, propertyPfi, or documentId is required. Example: "208045633" - `documentId` (string) Unique identifier for a document. The returned product listing will include products related to the requested documentId. A maximum of one of titleId, propertyPfi, or documentId is required. Example: "AR122019D" ## Header parameters: - `customer-id` (string) Identifier of the customer this request is on behalf of. - `x-correlation-id` (string) Optional unique UUID which can assist with tracing / debugging requests. Example: "824993ab-7366-4faa-963d-c456dec227a5" ## Response 200 fields (application/json): - `products` (array, required) - `products.productCode` (string, required) Each product type offered has a unique productCode. The productCode together with productIds will uniquely specify a specific instance of a product that can be ordered. Example: "RegisterSearchStatement" - `products.productIds` (object, required) To place an order for a product these productIds need to be provided together with the productCode which uniquely specifies an instance of a product that can be ordered. Each product type can have different productIds. A couple of examples: - for productCode RegisterSearchStatement the productIds will include a titleId, eg: { "titleId": "10940/843" } - for productCode VicRoads productIds will include two fields, eg: { "propertyPfi": "5365126", "authorityId": 431 } Example: {"titleId":"10940/843"} - `products.productName` (string, required) Name of the product, suitable for display to customers. Example: "Register Search Statement (Copy of Title)" - `products.productDescription` (string) Text that appears under the product to describe it in more detail. Example: "PDF version of the copy of the Title, lists the current registered proprietors, any encumbrances, caveats or notices that apply to the land, but does not include a sketch of the plan." - `products.productInformation` (object) For some products additional product specific information is made available that may be useful in assisting users to understand if this is the product they wish to purchase. Example: {"documentType":"MORTGAGE"} - `products.productAvailability` (string, required) Indicate whether a product is available for purchase. Some products such as destroyed instruments are listed but are UNAVAILABLE and cannot be purchased. Enum: "AVAILABLE", "UNAVAILABLE" - `products.authorityName` (string, required) Name of Authority who is responsible for the information product Example: "Victorian Land Title Registry" - `products.price` (integer, required) The price (in cents) for this product (including gst). For example 891 refers to $8.91 Australian dollars and includes the GST in tht total. Example: 891 - `products.gst` (integer, required) The gst amount (in cents) for this product. Example: 89 - `products.turnaroundTime` (integer, required) How soon the product will be ready for delivery. This integer must be connected with the turnaroundTimeUnit to fully understand the time. Example: 5 - `products.turnaroundTimeUnit` (string, required) Unit of measure for turnaround time. Enum: "DAY", "MIN", "SEC" - `products.customerWarning` (string) Any warning content attached to the product. These must be shown to the customer and accepted before making a purchase. Example: "Please note that Commemorative Title Certificate is a decorative memento that celebrates property ownership and makes pride of ownership tangible. This cannot be used for any legal purpose." - `products.extraData` (array) Some products support (or require) extra data to be provided when they are ordered. What extra data is supported varies depending on the product. The elements in this array indicate which extra data types this product supports. Example: [{"key":"vendors"},{"key":"meterRead"}] - `products.extraData.key` (string) Key of the extra data type supported by a product. Example: "postalAddress" - `products.prerequisites` (array) - `products.prerequisites.previousOrder` (object) - `products.prerequisites.previousOrder.orderId` (string, required) If the product was previously ordered. Previous order must be made under the same account and within the last 120 days for them to be accepted as a pre-requisite. If there is more than one order that can satisfy the pre-requisite only the latest order will be shown. - `products.prerequisites.previousOrder.orderItemNumber` (integer, required) Identifier for the item previously ordered. - `products.prerequisites.previousOrder.orderDate` (string, required) Date and time the item was ordered. Example: "2023-07-14T00:00:00.000000+11:00" ## Response 400 fields (application/json): - `errorType` (string) Stable error code that can be used to decide how to hand an error. Example: "UNAUTHORIZED" - `errorMessage` (string) Invalid Authorization token. ## Response 401 fields (application/json): - `errorType` (string) Stable error code that can be used to decide how to hand an error. Example: "UNAUTHORIZED" - `errorMessage` (string) Invalid Authorization token. ## Response 403 fields (application/json): - `errorType` (string) Stable error code that can be used to decide how to hand an error. Example: "UNAUTHORIZED" - `errorMessage` (string) Invalid Authorization token. ## Response 404 fields (application/json): - `errorType` (string) Stable error code that can be used to decide how to hand an error. Example: "UNAUTHORIZED" - `errorMessage` (string) Invalid Authorization token. ## Response 500 fields (application/json): - `errorType` (string) Stable error code that can be used to decide how to hand an error. Example: "UNAUTHORIZED" - `errorMessage` (string) Invalid Authorization token.