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

# Get the active pathway for a member location

GET https://staging.cail.health/v1/plan-definitions/active

Resolves the currently-active pathway for a member’s location. Supply either coordinates (latitude + longitude) or a postcode; the server normalises the postcode and reverses the boundary lookup to find the operating organisation. Returns the published pathway, the operating organisation identifier, and the boundary centroid the request resolved to. Supports cache validation: pass the client’s cached versionId; when the server pathway matches, the response is 304 Not Modified with no body so the client can keep using its cached copy. Returns 404 when the location is outside any served jurisdiction.

Reference: https://docs.cail.health/api-references/api-reference/understand-coverage/get-active

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: cail-api
  version: 1.0.0
paths:
  /v1/plan-definitions/active:
    get:
      operationId: get-active
      summary: Get the active pathway for a member location
      description: >-
        Resolves the currently-active pathway for a member’s location. Supply
        either coordinates (latitude + longitude) or a postcode; the server
        normalises the postcode and reverses the boundary lookup to find the
        operating organisation. Returns the published pathway, the operating
        organisation identifier, and the boundary centroid the request resolved
        to. Supports cache validation: pass the client’s cached versionId; when
        the server pathway matches, the response is 304 Not Modified with no
        body so the client can keep using its cached copy. Returns 404 when the
        location is outside any served jurisdiction.
      tags:
        - subpackage_understandCoverage
      parameters:
        - name: latitude
          in: query
          description: >-
            Latitude (WGS84). Combine with longitude to resolve the active
            pathway by location. Both coordinates are required together; the
            postcode path is mutually exclusive.
          required: false
          schema:
            type: number
            format: double
        - name: longitude
          in: query
          description: Longitude (WGS84). See latitude.
          required: false
          schema:
            type: number
            format: double
        - name: postcode
          in: query
          description: >-
            Full postcode for the location. Server-normalised (spaces stripped,
            uppercased). Used when coordinates are not provided.
          required: false
          schema:
            type: string
        - name: versionId
          in: query
          description: >-
            Client’s cached pathway versionId. When supplied and matching the
            server version, the response is 304 Not Modified with no body. Use
            this for efficient caching.
          required: false
          schema:
            type: number
            format: double
        - name: Authorization
          in: header
          description: Bearer authentication
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The active pathway and its resolution metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetActivePlanDefinitionResponse'
servers:
  - url: https://staging.cail.health
    description: https://staging.cail.health
components:
  schemas:
    GetActivePlanDefinitionResponse:
      type: object
      properties:
        planDefinitionId:
          type: string
          description: Stable identifier of the resolved active pathway.
        versionId:
          type: number
          format: double
          description: Monotonically-increasing version number of the resolved pathway.
        organizationId:
          type: string
          description: >-
            Stable identifier of the operating organisation that owns the
            pathway.
        resource:
          type: object
          additionalProperties:
            description: Any type
          description: >-
            The FHIR R4 PlanDefinition resource as published, with the
            decision-tree extension flattened to the request locale.
        publishedAt:
          type: string
          description: ISO 8601 timestamp at which the pathway was published.
        centroidLatitude:
          type: number
          format: double
          description: Latitude of the boundary centroid the request resolved to (WGS84).
        centroidLongitude:
          type: number
          format: double
          description: Longitude of the boundary centroid the request resolved to (WGS84).
      required:
        - planDefinitionId
        - versionId
        - organizationId
        - resource
        - publishedAt
        - centroidLatitude
        - centroidLongitude
      title: GetActivePlanDefinitionResponse
  securitySchemes:
    firebaseBearer:
      type: http
      scheme: bearer

```

## Examples



**Response**

```json
{
  "planDefinitionId": "a1b2c3d4-e5f6-4789-9abc-def012345678",
  "versionId": 7,
  "organizationId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "resource": {
    "resourceType": "PlanDefinition",
    "id": "a1b2c3d4-e5f6-4789-9abc-def012345678",
    "status": "active",
    "title": "Acute respiratory triage"
  },
  "publishedAt": "2026-05-08T09:14:00.000Z",
  "centroidLatitude": 51.5074,
  "centroidLongitude": -0.1278
}
```

**SDK Code**

```python Active pathway resolved by coordinates
import requests

url = "https://staging.cail.health/v1/plan-definitions/active"

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

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

print(response.json())
```

```javascript Active pathway resolved by coordinates
const url = 'https://staging.cail.health/v1/plan-definitions/active';
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 Active pathway resolved by coordinates
package main

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

func main() {

	url := "https://staging.cail.health/v1/plan-definitions/active"

	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 Active pathway resolved by coordinates
require 'uri'
require 'net/http'

url = URI("https://staging.cail.health/v1/plan-definitions/active")

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 Active pathway resolved by coordinates
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://staging.cail.health/v1/plan-definitions/active")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Active pathway resolved by coordinates
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://staging.cail.health/v1/plan-definitions/active', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

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

```csharp Active pathway resolved by coordinates
using RestSharp;

var client = new RestClient("https://staging.cail.health/v1/plan-definitions/active");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Active pathway resolved by coordinates
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://staging.cail.health/v1/plan-definitions/active")! 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()
```