Graphiant Pvif API

The Pvif API from Graphiant — 4 operation(s) for pvif.

Operations 5

POST /v1/pvif
DELETE /v1/pvif/{id}
PUT /v1/pvif/{id}
GET /v1/pvif/{id}/details
GET /v1/pvif/summary

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/graphiant-pvif-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

graphiant-pvif-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Graphiant Pvif API
  version: 1.0.0
  description: Graphiant API documentation.
servers:
- url: https://api.graphiant.com
security:
- jwtAuth: []
tags:
- name: Pvif
paths:
  /v1/pvif:
    post:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1PvifPostRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PvifPostResponse'
      description: Create a gateway Public VIF service
      tags:
      - Pvif
  /v1/pvif/{id}:
    delete:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: path
        required: true
        description: Producer service id
        schema:
          type: integer
          format: int64
          example: 1234567891011
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PvifIdDeleteResponse'
      description: Delete a gateway Public VIF service
      tags:
      - Pvif
    put:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: path
        required: true
        description: Producer service id
        schema:
          type: integer
          format: int64
          example: 1234567891011
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1PvifIdPutRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PvifIdPutResponse'
      description: Update a gateway Public VIF service
      tags:
      - Pvif
  /v1/pvif/{id}/details:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      - name: id
        in: path
        required: true
        description: Producer service id
        schema:
          type: integer
          format: int64
          example: 1234567891011
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PvifIdDetailsGetResponse'
      description: Get a gateway Public VIF service
      tags:
      - Pvif
  /v1/pvif/summary:
    get:
      security:
      - jwtAuth: []
      parameters:
      - in: header
        name: Authorization
        required: true
        schema:
          type: string
        description: 'Bearer token. Format: Bearer <your_token_here>'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1PvifSummaryGetResponse'
      description: List gateway Public VIF services
      tags:
      - Pvif
components:
  schemas:
    v1PvifPostRequest:
      type: object
      properties:
        advertisement:
          $ref: '#/components/schemas/manaV2SiteInformation'
        consumerLanSegments:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2PublicVifGatewayConsumerLanDevices'
        coveringPrefixes:
          type: array
          items:
            type: string
            example: example string
            description: Prefixes monitored for this service; empty means 0.0.0.0/0
        gatewayBgpNeighbors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2BgpNeighborConfig'
        lanSegmentId:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer LAN segment (VRF) on gateway appliances (required)
        natPrefixStrategy:
          $ref: '#/components/schemas/manaV2PublicVifGatewayNatPrefixStrategy'
        regionId:
          type: integer
          format: int32
          example: 123
          description: Graphiant region for gateway appliances (required)
        serviceName:
          type: string
          example: example string
          description: Service display name (required)
        storageProvider:
          type: string
          example: ENUM_VALUE
          description: Storage provider; each gateway appliance must match region and provider (required)
      additionalProperties: false
      required:
      - consumerLanSegments
      - gatewayBgpNeighbors
      - lanSegmentId
      - natPrefixStrategy
      - regionId
      - serviceName
      - storageProvider
    manaV2NullableAllowAsIn:
      type: object
      properties:
        count:
          type: integer
          format: int32
          example: 123
          minimum: 0
      additionalProperties: false
    manaV2NullableMaxPrefix:
      type: object
      properties:
        maxPrefix:
          type: integer
          format: int32
          example: 123
          minimum: 0
      additionalProperties: false
    manaV2BfdInstanceConfig:
      type: object
      properties:
        enabled:
          type: boolean
          example: true
        localMultiplier:
          type: integer
          format: int32
          example: 123
          minimum: 0
        minimumInterval:
          type: integer
          format: int32
          example: 123
          minimum: 0
      additionalProperties: false
    manaV2BfdNeighbor:
      type: object
      properties:
        desiredMinimumTxInterval:
          type: integer
          format: int32
          example: 123
          minimum: 0
        ifIndex:
          type: integer
          format: int32
          example: 123
          minimum: 0
        interface:
          type: string
          example: example string
        lastUpdated:
          $ref: '#/components/schemas/googleProtobufTimestamp'
        localDiag:
          type: string
          example: ENUM_VALUE
        peerAddress:
          type: string
          example: example string
        remoteDiag:
          type: string
          example: ENUM_VALUE
        requiredMinimumRxInterval:
          type: integer
          format: int32
          example: 123
          minimum: 0
        segmentName:
          type: string
          example: example string
        sourceAddress:
          type: string
          example: example string
        state:
          type: string
          example: ENUM_VALUE
        timeInState:
          $ref: '#/components/schemas/googleProtobufDuration'
        up:
          type: boolean
          example: true
      additionalProperties: false
    manaV2NullableHoldTimer:
      type: object
      properties:
        timer:
          type: integer
          format: int32
          example: 123
          minimum: 0
      additionalProperties: false
    manaV2PublicVifGatewayWriteRequest:
      type: object
      properties:
        advertisement:
          $ref: '#/components/schemas/manaV2SiteInformation'
        consumerLanSegments:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2PublicVifGatewayConsumerLanDevices'
        coveringPrefixes:
          type: array
          items:
            type: string
            example: example string
            description: Prefixes monitored for this service; empty means 0.0.0.0/0
        gatewayBgpNeighbors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2BgpNeighborConfig'
        lanSegmentId:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer LAN segment (VRF) on gateway appliances (required)
        natPrefixStrategy:
          $ref: '#/components/schemas/manaV2PublicVifGatewayNatPrefixStrategy'
        regionId:
          type: integer
          format: int32
          example: 123
          description: Graphiant region for gateway appliances (required)
        serviceName:
          type: string
          example: example string
          description: Service display name (required)
        storageProvider:
          type: string
          example: ENUM_VALUE
          description: Storage provider; each gateway appliance must match region and provider (required)
      additionalProperties: false
      required:
      - consumerLanSegments
      - gatewayBgpNeighbors
      - lanSegmentId
      - natPrefixStrategy
      - regionId
      - serviceName
      - storageProvider
    googleProtobufTimestamp:
      type: object
      properties:
        nanos:
          type: integer
          format: int32
          example: 123
        seconds:
          type: integer
          format: int64
          example: 1234567891011
      additionalProperties: false
    manaV2PublicVifGatewayCentralizedNat:
      type: object
      properties:
        consumerPrefix:
          type: object
          additionalProperties:
            type: string
            example: example string
      additionalProperties: false
      required:
      - consumerPrefix
    manaV2BgpDynamicNeighborOperPeer:
      type: object
      properties:
        lastOperStatusChange:
          $ref: '#/components/schemas/googleProtobufTimestamp'
        localAddress:
          type: string
          example: example string
          description: Local address used for this peer session, if known from oper
        operStatus:
          type: boolean
          example: true
          description: True when the BGP session to this peer is operationally up (e.g. established)
        peerAsn:
          type: integer
          format: int32
          example: 123
          minimum: 0
          description: Peer ASN from oper, if reported
        remoteAddress:
          type: string
          example: example string
          description: Peer address from device oper state (IPv4/IPv6; may include IPv6 zone id)
        state:
          type: string
          example: ENUM_VALUE
          description: BGP FSM state for this peer session
      additionalProperties: false
    manaV2NullableMd5Password:
      type: object
      properties:
        md5Password:
          type: string
          example: example string
      additionalProperties: false
    manaV2BgpNeighborAddressFamilyConfig:
      type: object
      properties:
        addressFamily:
          type: string
          example: ENUM_VALUE
        inboundPolicy:
          $ref: '#/components/schemas/manaV2NullablePolicyName'
        outboundPolicy:
          $ref: '#/components/schemas/manaV2NullablePolicyName'
      additionalProperties: false
    manaV2BgpNeighborAddressFamily:
      type: object
      properties:
        addressFamily:
          type: string
          example: ENUM_VALUE
        id:
          type: integer
          format: int64
          example: 1234567891011
        inboundPolicy:
          type: string
          example: example string
        outboundPolicy:
          type: string
          example: example string
      additionalProperties: false
    v1PvifIdPutRequest:
      type: object
      properties:
        configuration:
          $ref: '#/components/schemas/manaV2PublicVifGatewayWriteRequest'
      additionalProperties: false
      required:
      - configuration
    v1PvifSummaryGetResponse:
      type: object
      properties:
        summary:
          type: array
          items:
            $ref: '#/components/schemas/manaV2PublicVifSummary'
      additionalProperties: false
    manaV2SiteInformation:
      type: object
      properties:
        siteLists:
          type: array
          items:
            type: integer
            format: int64
            example: 1234567891011
        sites:
          type: array
          items:
            type: integer
            format: int64
            example: 1234567891011
      additionalProperties: false
    manaV2BgpNeighbor:
      type: object
      properties:
        addressFamilies:
          type: array
          items:
            $ref: '#/components/schemas/manaV2BgpNeighborAddressFamily'
        allowAsIn:
          type: integer
          format: int32
          example: 123
          minimum: 0
        asOverride:
          type: boolean
          example: true
        bfd:
          $ref: '#/components/schemas/manaV2BfdInstance'
        bfdNeighbor:
          $ref: '#/components/schemas/manaV2BfdNeighbor'
        bgpType:
          type: string
          example: ENUM_VALUE
        defaultOriginate:
          type: string
          example: ENUM_VALUE
          description: Set when default route needs to be advertised in BGP domain
        dynamicNeighborPeers:
          type: array
          items:
            $ref: '#/components/schemas/manaV2BgpDynamicNeighborOperPeer'
        enabled:
          type: boolean
          example: true
        holdTimer:
          type: integer
          format: int32
          example: 123
          minimum: 0
        id:
          type: integer
          format: int64
          example: 1234567891011
        keepaliveTimer:
          type: integer
          format: int32
          example: 123
          minimum: 0
        localAddress:
          type: string
          example: example string
        localInterface:
          type: string
          example: example string
        maxPrefix:
          type: integer
          format: int32
          example: 10000
          minimum: 0
          description: Maximum number of prefixes that can be received from neighbor
        md5Password:
          type: string
          example: example string
        multiHop:
          type: integer
          format: int32
          example: 5
          minimum: 0
          description: Set when EBGP multi-hop functionality is enabled
        peerAsn:
          type: integer
          format: int32
          example: 123
          minimum: 0
        remoteAddress:
          type: string
          example: example string
        removePrivateAs:
          type: boolean
          example: true
        sendCommunity:
          type: boolean
          example: true
          description: Flag for sending standard, extended, and large communities
        state:
          type: string
          example: ENUM_VALUE
        timeSinceLastOperChange:
          $ref: '#/components/schemas/googleProtobufDuration'
        up:
          type: boolean
          example: true
      additionalProperties: false
    manaV2NullableKeepAliveTimer:
      type: object
      properties:
        timer:
          type: integer
          format: int32
          example: 123
          minimum: 0
      additionalProperties: false
    manaV2PublicVifGatewayDecentralizedPrefixes:
      type: object
      properties:
        prefixes:
          type: object
          additionalProperties:
            type: string
            example: example string
      additionalProperties: false
      required:
      - prefixes
    v1PvifIdPutResponse:
      type: object
      properties:
        advertiseAllSites:
          type: boolean
          example: true
          description: True when consumer scope is all symmetric sites (snapshotted on create and update); false when advertisement lists explicit sites or site lists
        advertisement:
          $ref: '#/components/schemas/manaV2SiteInformation'
        consumerLanSegments:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2PublicVifGatewayConsumerLanDevices'
        coveringPrefixes:
          type: array
          items:
            type: string
            example: example string
            description: Prefixes monitored for this service
        gatewayBgpNeighbors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2BgpNeighbor'
        id:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer service id
        lanSegmentId:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer LAN segment (VRF) id
        natPrefixStrategy:
          $ref: '#/components/schemas/manaV2PublicVifGatewayNatPrefixStrategy'
        regionId:
          type: integer
          format: int32
          example: 123
          description: Graphiant region for gateway appliances
        serviceName:
          type: string
          example: example string
          description: Service display name
        storageProvider:
          type: string
          example: ENUM_VALUE
          description: Storage provider for gateway appliances
      additionalProperties: false
    manaV2NullableBfdInstanceConfig:
      type: object
      properties:
        bfd:
          $ref: '#/components/schemas/manaV2BfdInstanceConfig'
      additionalProperties: false
    manaV2PublicVifGatewayConsumerLanDevices:
      type: object
      properties:
        consumerPrefixes:
          type: array
          items:
            type: string
            example: example string
            description: Allow prefixes for this consumer LAN; empty means 0.0.0.0/0
      additionalProperties: false
    v1PvifIdDeleteResponse:
      type: object
      properties: {}
      additionalProperties: false
    manaV2NullableInterfaceName:
      type: object
      properties:
        interface:
          type: string
          example: example string
      additionalProperties: false
    manaV2PublicVifSummary:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1234567891011
          description: id of this Public VIF
        serviceName:
          type: string
          example: example string
          description: name of this Public VIF
        updatedAt:
          $ref: '#/components/schemas/googleProtobufTimestamp'
        userName:
          type: string
          example: example string
          description: creator of this Public VIF
      additionalProperties: false
    manaV2PublicVifGatewayNatPrefixStrategy:
      type: object
      properties:
        centralized:
          $ref: '#/components/schemas/manaV2PublicVifGatewayCentralizedNat'
        decentralized:
          $ref: '#/components/schemas/manaV2PublicVifGatewayDecentralizedPrefixes'
      additionalProperties: false
    manaV2BgpNeighborConfig:
      type: object
      properties:
        addressFamilies:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2NullableBgpNeighborAddressFamilyConfig'
        allowAsIn:
          $ref: '#/components/schemas/manaV2NullableAllowAsIn'
        asOverride:
          type: boolean
          example: true
        bfd:
          $ref: '#/components/schemas/manaV2NullableBfdInstanceConfig'
        defaultOriginate:
          type: string
          example: ENUM_VALUE
        ebgpMultihopTtl:
          $ref: '#/components/schemas/manaV2NullableEbgpConfig'
        enabled:
          type: boolean
          example: true
        holdTimer:
          type: integer
          format: int32
          example: 123
          minimum: 0
        holdTimerValue:
          $ref: '#/components/schemas/manaV2NullableHoldTimer'
        keepaliveTimer:
          type: integer
          format: int32
          example: 123
          minimum: 0
        keepaliveTimerValue:
          $ref: '#/components/schemas/manaV2NullableKeepAliveTimer'
        localAddress:
          type: string
          example: example string
        localInterface:
          $ref: '#/components/schemas/manaV2NullableInterfaceName'
        maxPrefixValue:
          $ref: '#/components/schemas/manaV2NullableMaxPrefix'
        md5Password:
          $ref: '#/components/schemas/manaV2NullableMd5Password'
        peerAsn:
          type: integer
          format: int32
          example: 123
          minimum: 0
        remoteAddress:
          type: string
          example: example string
        removePrivateAs:
          type: boolean
          example: true
        sendCommunity:
          type: boolean
          example: true
      additionalProperties: false
    v1PvifPostResponse:
      type: object
      properties:
        advertiseAllSites:
          type: boolean
          example: true
          description: True when consumer scope is all symmetric sites (snapshotted on create and update); false when advertisement lists explicit sites or site lists
        advertisement:
          $ref: '#/components/schemas/manaV2SiteInformation'
        consumerLanSegments:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2PublicVifGatewayConsumerLanDevices'
        coveringPrefixes:
          type: array
          items:
            type: string
            example: example string
            description: Prefixes monitored for this service
        gatewayBgpNeighbors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2BgpNeighbor'
        id:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer service id
        lanSegmentId:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer LAN segment (VRF) id
        natPrefixStrategy:
          $ref: '#/components/schemas/manaV2PublicVifGatewayNatPrefixStrategy'
        regionId:
          type: integer
          format: int32
          example: 123
          description: Graphiant region for gateway appliances
        serviceName:
          type: string
          example: example string
          description: Service display name
        storageProvider:
          type: string
          example: ENUM_VALUE
          description: Storage provider for gateway appliances
      additionalProperties: false
    v1PvifIdDetailsGetResponse:
      type: object
      properties:
        advertiseAllSites:
          type: boolean
          example: true
          description: True when consumer scope is all symmetric sites (snapshotted on create and update); false when advertisement lists explicit sites or site lists
        advertisement:
          $ref: '#/components/schemas/manaV2SiteInformation'
        consumerLanSegments:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2PublicVifGatewayConsumerLanDevices'
        coveringPrefixes:
          type: array
          items:
            type: string
            example: example string
            description: Prefixes monitored for this service
        gatewayBgpNeighbors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/manaV2BgpNeighbor'
        id:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer service id
        lanSegmentId:
          type: integer
          format: int64
          example: 1234567891011
          description: Producer LAN segment (VRF) id
        natPrefixStrategy:
          $ref: '#/components/schemas/manaV2PublicVifGatewayNatPrefixStrategy'
        regionId:
          type: integer
          format: int32
          example: 123
          description: Graphiant region for gateway appliances
        serviceName:
          type: string
          example: example string
          description: Service display name
        storageProvider:
          type: string
          example: ENUM_VALUE
          description: Storage provider for gateway appliances
      additionalProperties: false
    googleProtobufDuration:
      type: object
      properties:
        nanos:
          type: integer
          format: int32
          example: 123
        seconds:
          type: integer
          format: int64
          example: 1234567891011
      additionalProperties: false
    manaV2BfdInstance:
      type: object
      properties:
        enabled:
          type: boolean
          example: true
        minimumInterval:
          type: integer
          format: int32
          example: 123
          minimum: 0
        multiplier:
          type: integer
          format: int32
          example: 123
          minimum: 0
      additionalProperties: false
    manaV2NullableBgpNeighborAddressFamilyConfig:
      type: object
      properties:
        family:
          $ref: '#/components/schemas/manaV2BgpNeighborAddressFamilyConfig'
      additionalProperties: false
    manaV2NullableEbgpConfig:
      type: object
      properties:
        multiHop:
          type: integer
          format: int32
          example: 123
          minimum: 0
      additionalProperties: false
    manaV2NullablePolicyName:
      type: object
      properties:
        policy:
          type: string
          example: example string
      additionalProperties: false
  securitySchemes:
    jwtAuth:
      type: apiKey
      in: header
      name: authorization
      description: Use `Bearer <token>`