> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.nibtravelinsurance.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.nibtravelinsurance.com/_mcp/server.

# Policy Summary with Brand Code

GET https://api-staging.nibtravelinsurance.com/policies/v1/{brandCode}/policies/{policyNumber}

Reference: https://developer.nibtravelinsurance.com/reference/policies-api/policy/policy-summary-with-brand-code

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `brandCode` (enum, required)
  - Allowed values: `nibau`, `nibnz`, `tidau`, `wn`
- `policyNumber` (string, required) — Policy number to retrieve summary information for.

## Response

### 200

Success

- `brandCode` (enum, optional)
  - Allowed values: `nibau`, `nibnz`, `tidau`, `wn`
- `policyDetailId` (long, optional, default: 0)
- `policyHeaderId` (long, optional, default: 0)
- `policyNumber` (string, optional) — Policy number.
- `sequenceNumber` (integer, optional) — This is a numeric sequence number that is the latest version of the policy.
- `policyStatusId` (long, optional, default: 0)
- `policyStatus` (string, optional) — Status of the policy - For example indicating whether the policy is active or cancelled.
- `detailStatusId` (long, optional, default: 0)
- `detailStatus` (string, optional) — Detailed status of the policy transaction, this is mainly used if a policy has entered manual workflow requiring authorisation..
- `policyActionTypeId` (long, optional, default: 0)
- `policyActionType` (enum, optional) — Action type of the policy transaction - Indicates last action performed on the policy.
  - Allowed values: `Purchase`, `Amendment`, `Cancellation`
- `plan` (PlanShortSummary, optional) — Product information associated with the policy.
- `destinationRegion` (string, optional)
- `destinationCountries` (string, optional) — List of destination country and region names
- `destinationCountryCodes` (string, optional) — List of destination country and region codes in extended ISO-3166 Alpha-3 format.
- `referencePolicyWordingId` (long, optional, default: 0) — Reference ID to the policy wording document.
- `regulatoryWordingTranslationName` (string, optional)
- `displayDestinationDescription` (string, optional)
- `currency` (Currency, optional) — This is currency for the policy. All financial transactions are in this currency.
- `presentationTimeZoneCode` (string, optional)
- `policyIssuedAt` (string, optional) — Policy issue date timestamp in UTC time ISO 8601 format.
- `policyIssuedLocalDateTime` (string, optional)
- `detailIssuedAt` (string, optional) — Latest policy transaction issue date timestamp in UTC time ISO 8601 format.
- `detailIssuedLocalDateTime` (string, optional)
- `departureAt` (string, optional) — Departure date timestamp in UTC time ISO 8601 format.
- `departureLocalDateTime` (string, optional)
- `coverEndAt` (string, optional) — Cover end date timestamp in UTC time ISO 8601 format.
- `coverEndLocalDateTime` (string, optional)
- `address` (Address, optional) — Address recorded against the policy.
- `policyAudit` (Audit, optional)
- `detailAudit` (Audit, optional)
- `customerId` (long, optional, default: 0)
- `travellers` (list of TravellerShortSummary, optional) — List of travellers associated with the policy.
- `dependents` (list of DependentShortSummary, optional) — List of dependents associated with the policy.
- `transactionValueAggregateAmount` (PolicyFinancialValue, optional)
- `displayTransactionValueAggregateAmount` (string, optional)
- `authorizationPolicy` (AuthorizationPolicy, optional)
- `policyDocumentAccessGuid` (string, optional)
- `externalMemberships` (list of ExternalMembership, optional) — External membership information associated with the policy.
- `excess` (double, optional) — Excess amount recorded against the policy in policy currency.
- `binderId` (long, optional, default: 0) — Binder ID associated with the policy.

## Types

### PlanShortSummary

- `planId` (long, optional, default: 0) — Unique plan id for the policy. You can utilise the [Plans API](/reference/products-api/plan/configuration-by-id) to retrieve the plan details.
- `productId` (long, optional, default: 0) — Unique product id for the policy. Plans are part of product families.
- `planDisplayGroupId` (long, optional, default: 0)
- `saleCurrencyId` (long, optional, default: 0)
- `code` (string, optional) — Unique plan code - This stays the same across different versions of the product.
- `shortDescription` (string, optional) — Short description of the plan as it appears in the purchase path.
- `longDescription` (string, optional) — Long description of the plan.
- `underwriterCode` (string, optional) — Underwriter code for the plan.
- `isAnnualMultiTrip` (boolean, optional, default: false) — True if this is an Annual multi-trip plan, otherwise it is a single trip.
- `quotePanelTypeId` (long, optional, default: 0)

### Currency

- `id` (long, optional, default: 0)
- `symbol` (string, optional)
- `code` (string, optional)
- `description` (string, optional)
- `hasMinorUnits` (boolean, optional, default: false)

### Address

Address information stored against the policy

- `addressLine1` (string, optional)
- `addressLine2` (string, optional)
- `addressLine3` (string, optional)
- `addressLine4` (string, optional)
- `postalCode` (string, optional)
- `provinceId` (long, optional, default: 0)
- `provinceName` (string, optional)
- `countryId` (long, optional, default: 0)
- `countryName` (string, optional)

### Audit

- `createdAt` (string, optional)
- `updatedAt` (string, optional)
- `createdByUserId` (long, optional, default: 0)
- `updatedByUserId` (long, optional, default: 0)

### TravellerShortSummary

- `travellerId` (long, optional, default: 0)
- `guid` (string, optional)
- `displayOrder` (integer, optional)
- `isPrimary` (boolean, optional, default: false)
- `title` (string, optional)
- `firstName` (string, optional)
- `surname` (string, optional)
- `age` (integer, optional)
- `emailAddress` (string, optional)
- `landLinePhoneNumber` (string, optional)
- `mobileNumber` (string, optional)
- `dateOfBirth` (LocalDate, optional)
- `travelClear` (TravelClearSummary, optional)
- `authorizationPolicy` (AuthorizationPolicy, optional)

### DependentShortSummary

- `dependentId` (long, optional, default: 0)
- `guid` (string, optional)
- `displayOrder` (integer, optional)
- `title` (string, optional)
- `firstName` (string, optional)
- `surname` (string, optional)
- `age` (integer, optional)
- `dateOfBirth` (LocalDate, optional)
- `travelClear` (TravelClearSummary, optional)

### PolicyFinancialValue

- `policyHeaderId` (long, optional, default: 0)
- `transactionTypeId` (long, optional, default: 0)
- `amount` (double, optional)
- `optionTypeId` (long, optional, default: 0)
- `travellerSurrogateKey` (string, optional)
- `dependentSurrogateKey` (string, optional)

### AuthorizationPolicy

- `planId` (long, optional, default: 0)
- `partnerId` (long, optional, default: 0)
- `customerUserId` (long, optional, default: 0)

### ExternalMembership

- `name` (string, optional)
- `code` (string, optional)
- `number` (string, optional)

### LocalDate

- `calendar` (CalendarSystem, optional)
- `year` (integer, optional)
- `month` (integer, optional)
- `day` (integer, optional)
- `dayOfWeek` (enum, optional)
  - Allowed values: `None`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, `Sunday`
- `yearOfEra` (integer, optional)
- `era` (Era, optional)
- `dayOfYear` (integer, optional)

### TravelClearSummary

- `tamisReferenceNumber` (string, optional)
- `screeningDate` (string, optional)
- `authorizedPerson` (AuthorizedPerson, optional)
- `isCovered` (boolean, optional, default: false)
- `excess` (double, optional)

### CalendarSystem

- `id` (string, optional)
- `name` (string, optional)
- `minYear` (integer, optional)
- `maxYear` (integer, optional)
- `eras` (list of Era, optional)

### Era

- `name` (string, optional)

### AuthorizedPerson

- `firstName` (string, optional)
- `surname` (string, optional)
- `dateOfBirth` (LocalDate, optional)
- `email` (string, optional)
- `phone` (string, optional)

## Examples

**Response**

```json
{
  "brandCode": "nibau",
  "policyDetailId": 1000000,
  "policyHeaderId": 1000000,
  "policyNumber": "policyNumber",
  "sequenceNumber": 1,
  "policyStatusId": 1000000,
  "policyStatus": "Active",
  "detailStatusId": 1000000,
  "detailStatus": "Completed",
  "policyActionTypeId": 1000000,
  "policyActionType": "Purchase",
  "plan": {
    "planId": 100,
    "productId": 50,
    "planDisplayGroupId": 1000000,
    "saleCurrencyId": 1000000,
    "code": "code",
    "shortDescription": "shortDescription",
    "longDescription": "longDescription",
    "underwriterCode": "underwriterCode",
    "isAnnualMultiTrip": true,
    "quotePanelTypeId": 1000000
  },
  "destinationRegion": "destinationRegion",
  "destinationCountries": "destinationCountries",
  "destinationCountryCodes": "destinationCountryCodes",
  "referencePolicyWordingId": 1000000,
  "regulatoryWordingTranslationName": "regulatoryWordingTranslationName",
  "displayDestinationDescription": "displayDestinationDescription",
  "currency": {
    "id": 1000000,
    "symbol": "symbol",
    "code": "code",
    "description": "description",
    "hasMinorUnits": true
  },
  "presentationTimeZoneCode": "presentationTimeZoneCode",
  "policyIssuedAt": "policyIssuedAt",
  "policyIssuedLocalDateTime": "policyIssuedLocalDateTime",
  "detailIssuedAt": "detailIssuedAt",
  "detailIssuedLocalDateTime": "detailIssuedLocalDateTime",
  "departureAt": "departureAt",
  "departureLocalDateTime": "departureLocalDateTime",
  "coverEndAt": "coverEndAt",
  "coverEndLocalDateTime": "coverEndLocalDateTime",
  "address": {
    "addressLine1": "addressLine1",
    "addressLine2": "addressLine2",
    "addressLine3": "addressLine3",
    "addressLine4": "addressLine4",
    "postalCode": "postalCode",
    "provinceId": 1000000,
    "provinceName": "provinceName",
    "countryId": 1000000,
    "countryName": "countryName"
  },
  "policyAudit": {
    "createdAt": "createdAt",
    "updatedAt": "updatedAt",
    "createdByUserId": 1000000,
    "updatedByUserId": 1000000
  },
  "detailAudit": {
    "createdAt": "createdAt",
    "updatedAt": "updatedAt",
    "createdByUserId": 1000000,
    "updatedByUserId": 1000000
  },
  "customerId": 1000000,
  "travellers": [
    {
      "travellerId": 1000000,
      "guid": "guid",
      "displayOrder": 1,
      "isPrimary": true,
      "title": "title",
      "firstName": "firstName",
      "surname": "surname",
      "age": 1,
      "emailAddress": "emailAddress",
      "landLinePhoneNumber": "landLinePhoneNumber",
      "mobileNumber": "mobileNumber"
    }
  ],
  "dependents": [
    {
      "dependentId": 1000000,
      "guid": "guid",
      "displayOrder": 1,
      "title": "title",
      "firstName": "firstName",
      "surname": "surname",
      "age": 1
    }
  ],
  "transactionValueAggregateAmount": {
    "policyHeaderId": 1000000,
    "transactionTypeId": 1000000,
    "amount": 1.1,
    "optionTypeId": 1000000,
    "travellerSurrogateKey": "travellerSurrogateKey",
    "dependentSurrogateKey": "dependentSurrogateKey"
  },
  "displayTransactionValueAggregateAmount": "displayTransactionValueAggregateAmount",
  "authorizationPolicy": {
    "planId": 1000000,
    "partnerId": 1000000,
    "customerUserId": 1000000
  },
  "policyDocumentAccessGuid": "policyDocumentAccessGuid",
  "externalMemberships": [
    {
      "name": "name",
      "code": "code",
      "number": "number"
    }
  ],
  "excess": 1.1,
  "binderId": 1000000
}
```

**SDK Code**

```python
import requests

url = "https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api-staging.nibtravelinsurance.com/policies/v1/nibau/policies/policyNumber")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```