> ## Documentation Index
> Fetch the complete documentation index at: https://docs.graphiant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /v1/extranets-b2b

> Create a new B2B extranet producer

## OpenAPI

````json POST /v1/extranets-b2b
{
  "openapi": "3.0.0",
  "info": {
    "title": "Graphiant APIs",
    "version": "1.0.0",
    "description": "Graphiant API documentation."
  },
  "servers": [
    {
      "url": "https://api.graphiant.com"
    }
  ],
  "security": [
    {
      "jwtAuth": []
    }
  ],
  "tags": [],
  "paths": {
    "/v1/extranets-b2b": {
      "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/v1ExtranetsB2bPostRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v1ExtranetsB2bPostResponse"
                }
              }
            }
          }
        },
        "description": "Create a new B2B extranet producer"
      }
    }
  },
  "components": {
    "schemas": {
      "v1ExtranetsB2bPostRequest": {
        "type": "object",
        "properties": {
          "policy": {
            "$ref": "#/components/schemas/manaV2B2bExtranetProducerPolicy"
          },
          "serviceName": {
            "type": "string",
            "example": "example string",
            "description": "Name of the service (required)"
          },
          "type": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Type of the service whether it is application or peering (required)"
          }
        },
        "additionalProperties": false,
        "required": [
          "policy",
          "serviceName",
          "type"
        ]
      },
      "v1ExtranetsB2bPostResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011
          },
          "policy": {
            "$ref": "#/components/schemas/manaV2B2bExtranetPolicyResponse"
          }
        },
        "additionalProperties": false
      },
      "manaV2B2bExtranetProducerPolicy": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "example": "example string",
            "description": "Description for the service"
          },
          "globalObjectDeviceSummaries": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/manaV2GlobalObjectServiceSummaries"
            }
          },
          "globalObjectSummaries": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/manaV2GlobalObjectServiceSummaries"
            }
          },
          "natPools": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "example string",
              "description": "NAT pools for the service (required)"
            }
          },
          "prefixTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2B2bExtranetPrefixTag"
            }
          },
          "profiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2ApplicationProfile"
            }
          },
          "serviceLanSegment": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011,
            "description": "LAN segment for the service (required)"
          },
          "servicePrefixes": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "example string",
              "description": "Prefixes advertised by the service (required)"
            }
          },
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2B2bSiteInformation"
            }
          },
          "sla": {
            "$ref": "#/components/schemas/manaV2SlaInformation"
          },
          "status": {
            "type": "string",
            "example": "ENUM_VALUE"
          },
          "type": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Type of the service whether it is application or peering (required)"
          },
          "unmatchedCustomers": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          }
        },
        "additionalProperties": false,
        "required": [
          "natPools",
          "serviceLanSegment",
          "servicePrefixes",
          "sites",
          "type"
        ]
      },
      "manaV2B2bExtranetPolicyResponse": {
        "type": "object",
        "properties": {
          "dnsName": {
            "type": "string",
            "example": "example string"
          },
          "inboundSecurityRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2SecurityPolicyRule"
            }
          },
          "policy": {
            "$ref": "#/components/schemas/manaV2B2bExtranetProducerPolicy"
          },
          "serviceName": {
            "type": "string",
            "example": "example string"
          },
          "trafficRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2TrafficPolicyRule"
            }
          }
        },
        "additionalProperties": false
      },
      "manaV2GlobalObjectServiceSummaries": {
        "type": "object",
        "properties": {
          "routingPolicies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/manaV2GlobalObjectSummary"
            }
          }
        },
        "additionalProperties": false
      },
      "manaV2B2bExtranetPrefixTag": {
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "example": "10.1.2.0/24",
            "description": "Prefix advertised by the service (required)"
          },
          "tag": {
            "type": "string",
            "example": "example string",
            "description": "Tag for the prefix"
          }
        },
        "additionalProperties": false,
        "required": [
          "prefix"
        ]
      },
      "manaV2ApplicationProfile": {
        "type": "object",
        "properties": {
          "portRange": {
            "type": "string",
            "example": "example string",
            "description": "Port Range"
          },
          "ports": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32",
              "example": 123,
              "description": "Ports for the application profile (required)"
            }
          },
          "protocol": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "description": "Protocol for the application profile (required)"
          }
        },
        "additionalProperties": false,
        "required": [
          "ports",
          "protocol"
        ]
      },
      "manaV2B2bSiteInformation": {
        "type": "object",
        "properties": {
          "bwAllocationSiteLists": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "description": "Total Bandwidth allocation for the service on these site lists"
          },
          "bwAllocationSites": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "description": "Total Bandwidth allocation for the service on these sites"
          },
          "policerSiteLists": {
            "$ref": "#/components/schemas/manaV2Policer"
          },
          "policerSites": {
            "$ref": "#/components/schemas/manaV2Policer"
          },
          "siteLists": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "example": 1234567891011,
              "description": "Site list IDs where the service is deployed"
            }
          },
          "sites": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "example": 1234567891011,
              "description": "Site IDs where the service is deployed"
            }
          }
        },
        "additionalProperties": false
      },
      "manaV2SlaInformation": {
        "type": "object",
        "properties": {
          "backupCircuit": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Backup circuit for the SLA information"
          },
          "class": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Class for the SLA information"
          },
          "primaryCircuit": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Primary circuit for the SLA information"
          }
        },
        "additionalProperties": false
      },
      "manaV2SecurityPolicyRule": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "example": "ENUM_VALUE"
          },
          "implicit": {
            "type": "boolean",
            "example": true
          },
          "match": {
            "$ref": "#/components/schemas/manaV2PolicyMatch"
          },
          "policyRuleIndex": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011
          },
          "seq": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "manaV2TrafficPolicyRule": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/manaV2TrafficPolicyAction"
          },
          "match": {
            "$ref": "#/components/schemas/manaV2PolicyMatch"
          },
          "policyRuleIndex": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011
          },
          "seq": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "manaV2GlobalObjectSummary": {
        "type": "object",
        "properties": {
          "attachPoint": {
            "type": "string",
            "example": "ENUM_VALUE"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011
          },
          "ipVersion": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "name": {
            "type": "string",
            "example": "example string"
          },
          "numAttachedDevices": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numAttachedSites": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numFailures": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numInSyncDevices": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numOverrideDevices": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numPolicies": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numPrefixes": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numRules": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "numStatements": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "trafficPolicyType": {
            "type": "string",
            "example": "ENUM_VALUE"
          }
        },
        "additionalProperties": false
      },
      "manaV2Policer": {
        "type": "object",
        "properties": {
          "burstSize": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "description": "Burst size for the policer (required)"
          },
          "bw": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "description": "Bandwidth for the policer (required)"
          }
        },
        "additionalProperties": false,
        "required": [
          "burstSize",
          "bw"
        ]
      },
      "manaV2PolicyMatch": {
        "type": "object",
        "properties": {
          "destinationPort": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "destinationPrefix": {
            "type": "string",
            "example": "example string"
          },
          "icmpType": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "protocol": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "sourcePort": {
            "type": "integer",
            "format": "int32",
            "example": 123,
            "minimum": 0
          },
          "sourcePrefix": {
            "type": "string",
            "example": "example string"
          }
        },
        "additionalProperties": false
      },
      "manaV2TrafficPolicyAction": {
        "type": "object",
        "properties": {
          "backup": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Backup circuit for the traffic policy action"
          },
          "class": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Class for the traffic policy action"
          },
          "primary": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Primary circuit for the traffic policy action"
          },
          "result": {
            "type": "string",
            "example": "ENUM_VALUE",
            "description": "Result for the traffic policy action"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "jwtAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "authorization",
        "description": "Use `Bearer <token>`"
      }
    }
  }
}
````

