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

# Get MBS Changes

GET https://api.rebateright.com.au/MBSChanges

Compares the two most recent MBS releases RebateRight holds — the previous schedule and the current one — and returns every difference: items added, items removed, and items modified field by field. RebateRight keeps both releases current, so you can see exactly what a release changed without parsing the Services Australia files yourself.

The response gives three views of the same release:

| Field | What it gives you |
|---|---|
| `ChangedCounts` | How many items changed — in total, and per field. |
| `ChangedItemNumbers` | The item numbers behind those counts, grouped the same way. |
| `ChangedItems` | The full detail — added and removed items in full, plus a field-by-field old/new for every modified item. |

> 🔍 **Sample only** — the example truncates the long item-number arrays and the longest item descriptions. The live API returns the complete lists, and `ChangedCounts` reflects the real totals.


Reference: https://docs.rebateright.com.au/api-reference/mbs/get-mbs-changes

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /MBSChanges:
    get:
      operationId: get-mbs-changes
      summary: Get MBS Changes
      description: >
        Compares the two most recent MBS releases RebateRight holds — the
        previous schedule and the current one — and returns every difference:
        items added, items removed, and items modified field by field.
        RebateRight keeps both releases current, so you can see exactly what a
        release changed without parsing the Services Australia files yourself.


        The response gives three views of the same release:


        | Field | What it gives you |

        |---|---|

        | `ChangedCounts` | How many items changed — in total, and per field. |

        | `ChangedItemNumbers` | The item numbers behind those counts, grouped
        the same way. |

        | `ChangedItems` | The full detail — added and removed items in full,
        plus a field-by-field old/new for every modified item. |


        > 🔍 **Sample only** — the example truncates the long item-number arrays
        and the longest item descriptions. The live API returns the complete
        lists, and `ChangedCounts` reflects the real totals.
      tags:
        - subpackage_mbs
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK — the differences between the previous and current MBS releases.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MBS_Get MBS Changes_Response_200'
servers:
  - url: https://api.rebateright.com.au
  - url: https://test-api.rebateright.com.au
components:
  schemas:
    MbsChangesGetResponsesContentApplicationJsonSchemaChangedCounts:
      type: object
      properties:
        OldTotalItems:
          type: integer
          description: Total MBS items in the previous release.
        NewTotalItems:
          type: integer
          description: Total MBS items in the current release.
        AddedItems:
          type: integer
          description: Items present in the current release but not the previous one.
        RemovedItems:
          type: integer
          description: Items present in the previous release but not the current one.
        ModifiedItems:
          type: integer
          description: Items present in both releases with at least one changed field.
        ModifiedItemsByEachField:
          type: object
          additionalProperties:
            type: integer
          description: >-
            Count of modified items broken down by field. Keyed by field name —
            for example `ScheduleFee`, `ScheduleFeeStartDate`, `Description`,
            `DerivedFee`, `BenefitType`, `ClaimHistoryLimitation`.
      description: How many items changed between the two releases.
      title: MbsChangesGetResponsesContentApplicationJsonSchemaChangedCounts
    MbsChangesGetResponsesContentApplicationJsonSchemaChangedItemNumbers:
      type: object
      properties:
        AddedItems:
          type: array
          items:
            type: string
          description: Item numbers added in the current release.
        RemovedItems:
          type: array
          items:
            type: string
          description: Item numbers removed in the current release.
        ModifiedItems:
          type: array
          items:
            type: string
          description: Item numbers with at least one changed field.
        ModifiedItemsByEachField:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Modified item numbers broken down by field, keyed by field name.
      description: The item numbers behind `ChangedCounts`, grouped the same way.
      title: MbsChangesGetResponsesContentApplicationJsonSchemaChangedItemNumbers
    MbsItem:
      type: object
      properties:
        ItemNumber:
          type: string
          description: MBS item number (the integrator-facing identifier).
        Description:
          type: string
          description: Official MBS item description text.
        Category:
          type: string
          description: >-
            MBS category (top-level grouping, e.g. `1` for Professional
            Attendances).
        Group:
          type: string
          description: MBS group within the category (e.g. `A1`).
        SubGroup:
          type:
            - string
            - 'null'
          description: >-
            MBS sub-group within the group; `null` when the item is not
            sub-grouped.
        BenefitType:
          type: string
          description: Benefit tier for the item (for example `_100`, `_85`, `_75_85`).
        ScheduleFee:
          type:
            - string
            - 'null'
          description: >-
            Schedule fee in dollars as a decimal string (e.g. `489.90`); `null`
            for items priced via `DerivedFee`.
        ScheduleFeeStartDate:
          type:
            - string
            - 'null'
          format: date
          description: Date the current `ScheduleFee` took effect.
        DerivedFee:
          type:
            - string
            - 'null'
          description: >-
            Derivation formula used when the fee is derived from another item;
            present instead of `ScheduleFee` for such items.
        ClaimHistoryLimitation:
          type:
            - string
            - 'null'
          description: >-
            Claim-frequency limitation RebateRight derives from the description;
            `null` when the item has none.
        EligiblePatientSex:
          type:
            - string
            - 'null'
          description: >-
            Patient sex the item is restricted to, when applicable; `null` when
            unrestricted.
        EligibleAgeRange:
          type:
            - string
            - 'null'
          description: >-
            Patient age range the item is restricted to, in plain English;
            `null` when unrestricted.
        ReferralRequirements:
          type:
            - string
            - 'null'
          description: >-
            Referral requirement RebateRight derives from the description;
            `null` when the item needs no referral.
        ItemStartDate:
          type: string
          format: date
          description: Date the MBS item was introduced.
      required:
        - ItemNumber
        - Description
      description: A full MBS item record.
      title: MbsItem
    FieldChange:
      type: object
      properties:
        FieldName:
          type: string
          description: >-
            The field that changed (for example `ScheduleFee`, `Description`,
            `ClaimHistoryLimitation`).
        OldValue:
          type: string
          description: >-
            The value in the previous release. An empty string when the field
            was previously unset.
        NewValue:
          type: string
          description: The value in the current release.
      required:
        - FieldName
        - OldValue
        - NewValue
      description: One field's old and new value.
      title: FieldChange
    ModifiedItem:
      type: object
      properties:
        ItemNumber:
          type: string
          description: MBS item number that changed.
        Changes:
          type: array
          items:
            $ref: '#/components/schemas/FieldChange'
          description: One entry per field that changed on this item.
      required:
        - ItemNumber
        - Changes
      description: A single item that changed between releases.
      title: ModifiedItem
    MbsChangesGetResponsesContentApplicationJsonSchemaChangedItems:
      type: object
      properties:
        AddedItems:
          type: array
          items:
            $ref: '#/components/schemas/MbsItem'
          description: Items added in the current release, in full.
        RemovedItems:
          type: array
          items:
            $ref: '#/components/schemas/MbsItem'
          description: >-
            Items removed in the current release, in full, as they appeared in
            the previous release.
        ModifiedItems:
          type: array
          items:
            $ref: '#/components/schemas/ModifiedItem'
          description: >-
            Items changed between releases, each with a field-by-field old/new
            list.
      description: The full detail behind the comparison.
      title: MbsChangesGetResponsesContentApplicationJsonSchemaChangedItems
    MBS_Get MBS Changes_Response_200:
      type: object
      properties:
        Title:
          type: string
          description: >-
            Human-readable summary line naming the release this comparison
            describes.
        ChangedCounts:
          $ref: >-
            #/components/schemas/MbsChangesGetResponsesContentApplicationJsonSchemaChangedCounts
          description: How many items changed between the two releases.
        ChangedItemNumbers:
          $ref: >-
            #/components/schemas/MbsChangesGetResponsesContentApplicationJsonSchemaChangedItemNumbers
          description: The item numbers behind `ChangedCounts`, grouped the same way.
        ChangedItems:
          $ref: >-
            #/components/schemas/MbsChangesGetResponsesContentApplicationJsonSchemaChangedItems
          description: The full detail behind the comparison.
      required:
        - Title
        - ChangedCounts
        - ChangedItemNumbers
        - ChangedItems
      title: MBS_Get MBS Changes_Response_200
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    minorId:
      type: apiKey
      in: header
      name: x-minor-id

```

## SDK Code Examples

```python 1 July 2026 release
import requests

url = "https://api.rebateright.com.au/MBSChanges"

headers = {"x-api-key": "<apiKey>"}

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

print(response.json())
```

```javascript 1 July 2026 release
const url = 'https://api.rebateright.com.au/MBSChanges';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

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

```go 1 July 2026 release
package main

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

func main() {

	url := "https://api.rebateright.com.au/MBSChanges"

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

	req.Header.Add("x-api-key", "<apiKey>")

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

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

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

}
```

```ruby 1 July 2026 release
require 'uri'
require 'net/http'

url = URI("https://api.rebateright.com.au/MBSChanges")

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

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

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

```java 1 July 2026 release
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.rebateright.com.au/MBSChanges")
  .header("x-api-key", "<apiKey>")
  .asString();
```

```php 1 July 2026 release
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.rebateright.com.au/MBSChanges', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

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

```csharp 1 July 2026 release
using RestSharp;

var client = new RestClient("https://api.rebateright.com.au/MBSChanges");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift 1 July 2026 release
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.rebateright.com.au/MBSChanges")! 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()
```