Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,33 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]

## [26.7.0] - 2026-07-27

### Added
- **API spec:** `graphiant_api_docs_v26.7.0.json`
- **B2B extranet — new API paths (`/v1/extranet/b2b/...`):** Comprehensive new endpoint set alongside the existing `/v1/extranets/b2b/...` paths:
- **Consumers:** **`GET /v1/extranet/b2b/consumers/{customerId}`**, **`GET`/`PUT`/`DELETE /v1/extranet/b2b/consumers/{id}`**, **`GET /v1/extranet/b2b/consumers/{id}/device-status`**, **`PUT /v1/extranet/b2b/consumers/{id}/prefixes`**; models **`V1ExtranetB2bConsumers*`**, **`ManaV2ExtranetConsumerLanPrefixes`**
- **Customers:** **`POST /v1/extranet/b2b/customers`**, **`GET /v1/extranet/b2b/customers/summary`**, **`GET`/`PUT`/`DELETE /v1/extranet/b2b/customers/{id}`**, **`GET /v1/extranet/b2b/customers/{id}/details`**, **`GET /v1/extranet/b2b/customers/{id}/matches/summary`**, **`POST /v1/extranet/b2b/customers/{id}/retry`**; models **`V1ExtranetB2bCustomers*`**
- **Matches:** **`POST /v1/extranet/b2b/matches`**, **`GET`/`PUT`/`DELETE /v1/extranet/b2b/matches/{matchId}`**, **`GET /v1/extranet/b2b/matches/{matchId}/details`**, **`POST /v1/extranet/b2b/matches/{matchId}/consumer`**, **`POST /v1/extranet/b2b/matches/{matchId}/consumer/check`**, **`PUT /v1/extranet/b2b/matches/{matchId}/status`**, **`PUT /v1/extranet/b2b/matches/pause`**, **`POST /v1/extranet/b2b/matches/review`**, **`POST /v1/extranet/b2b/matches/customers`**; models **`V1ExtranetB2bMatches*`**, **`ManaV2B2bExtranetMatch`**, **`ManaV2B2bExtranetMatchConsumerDetails`**, **`ManaV2B2BExtranetMatchConsumerDetailsCustomer`**, **`ManaV2B2BExtranetMatchConsumerDetailsProducerPrefix`**, **`ManaV2B2BExtranetMatchConsumerDetailsService`**
- **Producer:** **`POST /v1/extranet/b2b/producer`**, **`GET`/`PUT`/`DELETE /v1/extranet/b2b/producer/{id}`**, **`GET /v1/extranet/b2b/producer/{id}/customers`**, **`GET /v1/extranet/b2b/producer/{id}/device-status`**, **`PUT /v1/extranet/b2b/producer/{id}/status`**, **`POST /v1/extranet/b2b/producer/review`**; models **`V1ExtranetB2bProducer*`**
- **Services:** **`GET /v1/extranet/b2b/services/summary`**; model **`V1ExtranetB2bServicesSummaryGetResponse`**
- **Shared extranet models:** **`ManaV2ExtranetNatTranslationCentralized`**, **`ManaV2ExtranetNatTranslationDecentralized`**, **`ManaV2ExtranetNatTranslationDevicePrefixes`**, **`ManaV2ExtranetNatTranslationMode`**, **`ManaV2ExtranetNatTranslationPeerToPeer`**, **`ManaV2ExtranetNatTranslationPeerToPeerPrefix`**, **`ManaV2ExtranetServiceConsumerPolicy`**, **`ManaV2ExtranetServiceCustomerInvite`**, **`ManaV2ExtranetServiceCustomerMatchSummary`**, **`ManaV2ExtranetServiceCustomerSummary`**, **`ManaV2ExtranetServicePolicyResponse`**, **`ManaV2ExtranetServiceProducerCustomer`**, **`ManaV2ExtranetServiceProducerPolicy`**, **`ManaV2ExtranetServiceSummary`**
- **OSPF authentication:** **`ManaV2OspfAuthentication`**, **`ManaV2NullableOspfAuthenticationConfig`**; **`ManaV2OspfInterface`** and **`ManaV2OspfInterfaceConfig`** extended with `authentication` field
- **Auth error response models:** **`V1AuthLoginCallbackPost500Response`**, **`V1AuthLoginSamlGet401Response`**, **`V1AuthLoginSamlGet500Response`**, **`V1AuthRefreshGet403Response`**, **`V1AuthRefreshGet422Response`**, **`V1AuthSessionGet403Response`**, **`V1AuthSessionGet422Response`**

### Changed
- **Version:** Package **26.7.0**; OpenAPI bundle **`graphiant_api_docs_v26.7.0.json`** (replaces **26.6.0** bundle in-repo).
- **Schemas / docs (updated):**
- **`AssuranceKpiMetric`**: added `token_usage` field (AI adoption token usage value)
- **`AssuranceUserDefinition`**: `data_sent` description updated ("tokens sent"); added `tokens_usage` and `tokens_usage_days` fields
- **`ManaV2GatewayDetails`**: added `ipsec_gateway_peers` field (**`ManaV2IPsecGatewayPeersConfig`**)
- **`V1InvitationEmailPostRequest`**: added `service_type` field (extranet service type URL segment)
- **`DefaultApi`**, README, and generated **`docs/`** model pages refreshed.
- **SDK (generated):** Refreshed **`default_api`**, model exports, and **`docs/`** to match the **26.7.0** spec.

### Removed
- **API spec:** removed **`graphiant_api_docs_v26.6.0.json`** (superseded by **26.7.0** bundle).

## [26.6.0] - 2026-07-08

### Added
Expand Down
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@ More product and platform context: [Graphiant Docs](https://docs.graphiant.com).

## Documentation & links

| Resource | Link |
|----------|------|
| **SDK guide** | [Graphiant SDK Python](https://docs.graphiant.com/docs/graphiant-sdk-python) |
| **Automation** | [Graphiant Automation](https://docs.graphiant.com/docs/automation) |
| **REST API** | [Graphiant Portal REST API](https://docs.graphiant.com/docs/graphiant-portal-rest-api) |
| **Method index (repo)** | [DefaultApi.md](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/docs/DefaultApi.md) |
| **OpenAPI bundle (this build)** | [`api/graphiant_api_docs_v26.6.0.json`](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/api/graphiant_api_docs_v26.6.0.json) — source for generated paths and models |
| **Model docs (`*.md`)** | [`docs/`](https://github.com/Graphiant-Inc/graphiant-sdk-python/tree/main/docs) (same names as Python classes, e.g. `V1EdgesSummaryGetResponse.md`) |
| **PyPI** | [graphiant-sdk](https://pypi.org/project/graphiant-sdk) |
| **Changelog** | [CHANGELOG.md](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/CHANGELOG.md) |
| Resource | Link |
|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **SDK guide** | [Graphiant SDK Python](https://docs.graphiant.com/docs/graphiant-sdk-python) |
| **Automation** | [Graphiant Automation](https://docs.graphiant.com/docs/automation) |
| **REST API** | [Graphiant Portal REST API](https://docs.graphiant.com/docs/graphiant-portal-rest-api) |
| **Method index (repo)** | [DefaultApi.md](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/docs/DefaultApi.md) |
| **OpenAPI bundle (this build)** | [`api/graphiant_api_docs_v26.7.0.json`](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/api/graphiant_api_docs_v26.7.0.json) — source for generated paths and models |
| **Model docs (`*.md`)** | [`docs/`](https://github.com/Graphiant-Inc/graphiant-sdk-python/tree/main/docs) (same names as Python classes, e.g. `V1EdgesSummaryGetResponse.md`) |
| **PyPI** | [graphiant-sdk](https://pypi.org/project/graphiant-sdk) |
| **Changelog** | [CHANGELOG.md](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/CHANGELOG.md) |

## Features

Expand Down Expand Up @@ -477,12 +477,12 @@ To regenerate the SDK from the latest API specification:
make generate

# Or run the script directly (supports OPENAPI_SPEC override)
OPENAPI_SPEC=api/graphiant_api_docs_v26.6.0.json bash scripts/generate.sh
OPENAPI_SPEC=api/graphiant_api_docs_v26.7.0.json bash scripts/generate.sh
```

`scripts/generate.sh` wraps the full `openapi-generator-cli generate` invocation (requires OpenAPI Generator **>= 7.23.0**). It auto-detects `openapi-generator` (Homebrew) or `openapi-generator-cli` (npm), reads the current version from `pyproject.toml`, and passes `--git-user-id`/`--git-repo-id` so generated docs never contain `GIT_USER_ID` placeholders.

> **Note:** Download the latest API bundle from the Graphiant portal under **Support Hub** → **Developer Tools** and place it in `api/`. The versioned JSON bundle (`api/graphiant_api_docs_v26.6.0.json`) is the snapshot used for this release; `api/openapi.yaml` is the primary YAML spec. Hand-written files listed in `.openapi-generator-ignore` (`graphiant_cli/`, `graphiant_sdk/api_client.py`, `configuration.py`, etc.) are never overwritten by the generator.
> **Note:** Download the latest API bundle from the Graphiant portal under **Support Hub** → **Developer Tools** and place it in `api/`. The versioned JSON bundle (`api/graphiant_api_docs_v26.7.0.json`) is the snapshot used for this release; `api/openapi.yaml` is the primary YAML spec. Hand-written files listed in `.openapi-generator-ignore` (`graphiant_cli/`, `graphiant_sdk/api_client.py`, `configuration.py`, etc.) are never overwritten by the generator.

### Testing

Expand All @@ -498,7 +498,7 @@ pytest tests/ --cov=graphiant_sdk --cov-report=html

### Source of truth (this release)

Operations and schemas are generated from **`api/graphiant_api_docs_v26.6.0.json`** (in `api/` and bundled in the PyPI wheel). For a newer portal/API, download the current bundle (Support Hub → Developer Tools) and diff paths before relying on URLs here.
Operations and schemas are generated from **`api/graphiant_api_docs_v26.7.0.json`** (in `api/` and bundled in the PyPI wheel). For a newer portal/API, download the current bundle (Support Hub → Developer Tools) and diff paths before relying on URLs here.

| How to explore | Where |
|----------------|-------|
Expand Down Expand Up @@ -529,7 +529,7 @@ REST query parameters use **camelCase** in URLs (`enterpriseId`). Generated Pyth
| **`V1GlobalSummaryPostRequest`**, **`V1GlobalSummaryPostResponse`** | **`POST /v1/global/summary`** |
| **`V2ParentalertlistPostRequest`**, **`V2ParentalertlistPostResponse`** | **`POST /v2/parentalertlist`** |

### Sample HTTP endpoints (from `graphiant_api_docs_v26.6.0.json`)
### Sample HTTP endpoints (from `graphiant_api_docs_v26.7.0.json`)

The API surface is large; this table lists **real** paths from the bundled spec. For the full set, use **`graphiant api list`** or **`DefaultApi.md`**.

Expand Down
19 changes: 10 additions & 9 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,17 @@

We actively support the following versions with security updates:

| Version | Supported | Notes |
| ------- | ------------------ | ---------------------------------------- |
| 26.6.x | :white_check_mark: | Current stable release (latest: **26.6.0**) |
| 26.5.x | :white_check_mark: | Previous release line (latest: **26.5.0**) |
| Version | Supported | Notes |
|---------| ------------------ |----------------------------------------------|
| 26.7.x | :white_check_mark: | Current stable release (latest: **26.7.0**) |
| 26.6.x | :white_check_mark: | Previous stable release (latest: **26.6.0**) |
| 26.5.x | :white_check_mark: | Older release line (latest: **26.5.0**) |
| 26.4.x | :white_check_mark: | Older supported release (latest: **26.4.0**) |
| 26.3.x | :white_check_mark: | Older supported release (latest: **26.3.3**) |
| 26.2.x | :white_check_mark: | Older supported release |
| 26.1.x | :white_check_mark: | Older supported release |
| 25.12.x | :white_check_mark: | Legacy release |
| < 25.12 | :x: | No longer supported |
| 26.2.x | :white_check_mark: | Older supported release |
| 26.1.x | :white_check_mark: | Older supported release |
| 25.12.x | :white_check_mark: | Legacy release |
| < 25.12 | :x: | No longer supported |

**Note:** We recommend always using the latest version to ensure you have the most recent security patches.

Expand Down Expand Up @@ -277,4 +278,4 @@ For security concerns, please contact: **security@graphiant.com**

---

**Last Updated**: 2026-07-08
**Last Updated**: 2026-07-27
Loading
Loading