Graphiant · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the Graphiant Portal REST API
6 actions
6 updates
documentation
extends
openapi/graphiant-portal-openapi-original.json
Generated by API Evangelist
Written by API Evangelist tooling for Graphiant's API. It is a proposal applied on top of the contract, not a document Graphiant publishes.
What the actions change
x-apievangelist-slugx-apievangelist-enrichedx-apievangelist-sourcex-api-bundle-versionx-contact-docsx-api-referencex-status-pagex-sla
Targets 3
$.info
$.servers[0]
$.components.securitySchemes.jwtAuth
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the Graphiant Portal REST API
version: 1.0.0
extends: openapi/graphiant-portal-openapi-original.json
x-provenance:
generated: '2026-08-01'
method: generated
source: openapi/graphiant-portal-openapi-original.json
note: >-
Captures the API Evangelist enrichment pass over the harvested Graphiant bundle
without mutating it. The harvested spec is verbatim from
Graphiant-Inc/graphiant-sdk-python@main api/graphiant_api_docs_v26.7.0.json. This
overlay records catalog metadata, the runtime semantics Graphiant documents in prose
but does not encode in the contract, and the three structural gaps the enrichment
pass found — no operationIds, no tags, no operation summaries. It deliberately does
NOT synthesise 525 operationIds or tag every operation: those are provider decisions,
and inventing them here would create identifiers the provider does not honour.
actions:
- target: $.info
update:
x-apievangelist-slug: graphiant
x-apievangelist-enriched: '2026-08-01'
x-apievangelist-source: https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/api/graphiant_api_docs_v26.7.0.json
x-api-bundle-version: 26.7.0
x-contact-docs: https://docs.graphiant.com/docs/graphiant-portal-rest-api
x-api-reference: https://docs.graphiant.com/apidocs
x-status-page: https://status.graphiant.io/
x-sla: https://docs.graphiant.com/docs/graphiant-service-level-agreements-sla
x-trust-center: https://trust.graphiant.com/
x-changelog: https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/CHANGELOG.md
- target: $.info
update:
x-apievangelist-artifacts:
authentication: authentication/graphiant-authentication.yml
conventions: conventions/graphiant-conventions.yml
errors: errors/graphiant-problem-types.yml
lifecycle: lifecycle/graphiant-lifecycle.yml
changelog: changelog/graphiant-changelog.yml
data_model: data-model/graphiant-data-model.yml
conformance: conformance/graphiant-conformance.yml
packages: packages/graphiant-packages.yml
cli: cli/graphiant-cli.yml
webhooks: asyncapi/graphiant-notifications-webhooks.yml
mcp: mcp/graphiant-mcp.yml
tool_crosswalk: mcp/graphiant-tool-crosswalk.yml
skills: skills/_index.yml
- target: $.info
update:
x-runtime-semantics:
auth_model: opaque bearer token in the `authorization` header
token_endpoint: POST /v1/auth/login
token_lifetime_seconds: 1800
token_refresh_endpoint: GET /v1/auth/refresh
token_revocation_endpoint: POST /v1/auth/logout
idempotency: none — no Idempotency-Key contract on any unsafe method
pagination: none — list operations return the full collection
rate_limit_signalling: none documented
request_id_header: none
error_envelope: 'proprietary: {errorCode, displayError, detailedError}'
timestamp_encoding: protobuf Timestamp objects {seconds, nanos}, UTC — not RFC 3339
async_writes: device configuration returns {jobId}; HTTP 200 means accepted, not
applied
tenancy: session-scoped enterprise context switched via GET /v1/auth/session
- target: $.info
update:
x-contract-gaps:
operation_ids: 0 of 525 operations declare an operationId
tags: 0 of 525 operations declare a tag; the document declares an empty tags array
summaries: 0 of 525 operations declare a summary
descriptions: 340 of 525 operations declare a description
error_responses: only 24 of 525 operations declare any 4xx or 5xx response
error_schemas: only 4 error responses reference a schema
examples: no request or response examples at the operation level
impact: >-
Without operationIds the generated SDKs fall back to path-derived method names
(v1_edges_summary_get), which become the de-facto operation identifiers used by
the CLI, the SDKs, this catalog and any tool layer built on top. They are stable
only while the path and method are stable.
remediation_for_graphiant: >-
Adding operationId, tags and summary to the source bundle would improve every
downstream generated artifact at once — SDK method names, docs navigation, MCP
tool naming — without any behavioural change to the API.
- target: $.servers[0]
update:
description: Graphiant Portal production API. Returns 403 to every anonymous
request, including /.well-known/* paths.
- target: $.components.securitySchemes.jwtAuth
update:
x-token-endpoint: POST /v1/auth/login
x-token-lifetime-seconds: 1800
x-token-refresh: GET /v1/auth/refresh
x-token-revocation: POST /v1/auth/logout
x-token-format: opaque, `gr-auth-` prefix followed by two UUIDs
x-single-header-warning: >-
send exactly one Authorization header; the generated clients warn that setting
both Configuration.api_key and the per-call authorization argument produces
duplicate headers that some gateways reject with 400