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

# Create a new network connection

> Initiates a new network connection.
**Note:** This API call is subject to Flexible Routing Schemes.

Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each asset type:
  - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
  - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
  - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"

Default Workspace Presets:
  - Network Profile Crypto → **Custom**
  - Network Profile FIAT → **None**
  - Network Connection Crypto → **Default**
  - Network Connection FIAT → **Default**

Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`

    - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).




## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /network_connections
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /network_connections:
    post:
      tags:
        - Network connections
      summary: Create a new network connection
      description: >
        Initiates a new network connection.

        **Note:** This API call is subject to Flexible Routing Schemes.


        Your routing policy defines how your transactions are routed.

        You can choose 1 of the 3 different schemes mentioned below for each
        asset type:
          - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
          - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
          - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"

        Default Workspace Presets:
          - Network Profile Crypto → **Custom**
          - Network Profile FIAT → **None**
          - Network Connection Crypto → **Default**
          - Network Connection FIAT → **Default**

        Supported asset groups for routing police can be found at
        `/network_ids/routing_policy_asset_groups`

            - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
      operationId: createNetworkConnection
      parameters:
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkConnection'
      responses:
        '201':
          description: A Network Connection object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkConnectionResponse'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response:
            Promise<FireblocksResponse<NetworkConnectionResponse>> =
            fireblocks.networkConnections.createNetworkConnection(networkConnectionsApiCreateNetworkConnectionRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<NetworkConnectionResponse>> response =
            fireblocks.networkConnections().createNetworkConnection(networkConnection,
            idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.network_connections.create_network_connection(network_connection,
            idempotency_key);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        A unique identifier for the request. If the request is sent multiple
        times with the same idempotency key, the server will return the same
        response as the first request. The idempotency key is valid for 24
        hours.
      required: false
      schema:
        type: string
  schemas:
    NetworkConnection:
      type: object
      properties:
        localNetworkId:
          type: string
          description: The network ID of the profile trying to create the connection.
        remoteNetworkId:
          type: string
          description: The network ID the profile is attempting to connect to.
        routingPolicy:
          $ref: '#/components/schemas/NetworkConnectionRoutingPolicy'
      required:
        - localNetworkId
        - remoteNetworkId
    NetworkConnectionResponse:
      type: object
      properties:
        id:
          type: string
        localChannel:
          allOf:
            - $ref: '#/components/schemas/NetworkChannel'
          deprecated: true
          description: Deprecated - Replaced by `localNetworkId`
        remoteChannel:
          allOf:
            - $ref: '#/components/schemas/NetworkChannel'
          deprecated: true
          description: Deprecated - Replaced by `remoteNetworkId`
        status:
          $ref: '#/components/schemas/NetworkConnectionStatus'
        localNetworkId:
          $ref: '#/components/schemas/NetworkId'
        remoteNetworkId:
          $ref: '#/components/schemas/NetworkId'
        routingPolicy:
          $ref: '#/components/schemas/NetworkConnectionRoutingPolicy'
      required:
        - id
        - localNetworkId
        - remoteNetworkId
        - routingPolicy
        - status
    NetworkConnectionRoutingPolicy:
      type: object
      additionalProperties:
        oneOf:
          - $ref: '#/components/schemas/CustomRoutingDest'
          - $ref: '#/components/schemas/DefaultNetworkRoutingDest'
          - $ref: '#/components/schemas/NoneNetworkRoutingDest'
    NetworkChannel:
      deprecated: true
      description: Deprecated in the only used reference - NetworkConnectionResponse
      type: object
      properties:
        networkId:
          type: string
        name:
          type: string
    NetworkConnectionStatus:
      type: string
      enum:
        - WAITING_FOR_APPROVAL
        - WAITING_FOR_PEER_APPROVAL
        - APPROVED
        - CANCELLED
        - FAILED
        - REJECTED
        - REJECTED_BY_PEER
        - REMOVED
        - REMOVED_BY_PEER
    NetworkId:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    CustomRoutingDest:
      type: object
      properties:
        scheme:
          description: The network routing logic.
          type: string
          enum:
            - CUSTOM
        dstType:
          type: string
          description: The account the funds are being sent to.
          enum:
            - FIAT_ACCOUNT
            - VAULT
            - EXCHANGE
        dstId:
          type: string
          description: The ID of the account the funds are being sent to.
      required:
        - scheme
        - dstType
        - dstId
    DefaultNetworkRoutingDest:
      type: object
      properties:
        scheme:
          type: string
          description: The network routing logic.
          enum:
            - DEFAULT
      required:
        - scheme
    NoneNetworkRoutingDest:
      type: object
      properties:
        scheme:
          type: string
          description: No network routing logic.
          enum:
            - NONE
      required:
        - scheme
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````