Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS Direct Connect

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

Direct Connect links your internal network to an Direct Connect location over a standard Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an Direct Connect router. With this connection in place, you can create virtual interfaces directly to the Amazon Web Services Cloud (for example, to Amazon EC2 and Amazon S3) and to Amazon VPC, bypassing Internet service providers in your network path. A connection provides access to all Amazon Web Services Regions ex

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST AcceptDirectConnectGatewayAssociationProposal

Accepts a proposal request to attach a virtual private gateway or transit gateway to a Direct Connect gateway.

https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AcceptDirectConnectGatewayAssociationProposal

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target OvertureService.AcceptDirectConnectGatewayAssociationProposal
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AcceptDirectConnectGatewayAssociationProposal" \
  -H "X-Amz-Target: OvertureService.AcceptDirectConnectGatewayAssociationProposal"
import requests
headers = {
    "X-Amz-Target": "OvertureService.AcceptDirectConnectGatewayAssociationProposal"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AcceptDirectConnectGatewayAssociationProposal",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AcceptDirectConnectGatewayAssociationProposal';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'OvertureService.AcceptDirectConnectGatewayAssociationProposal'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AcceptDirectConnectGatewayAssociationProposal"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "OvertureService.AcceptDirectConnectGatewayAssociationProposal")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AcceptDirectConnectGatewayAssociationProposal")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "OvertureService.AcceptDirectConnectGatewayAssociationProposal"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AcceptDirectConnectGatewayAssociationProposal";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: OvertureService.AcceptDirectConnectGatewayAssociationProposal"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST AllocateHostedConnection

Creates a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects. Allocates a VLAN number and a specified amount of capacity (bandwidth) for use by a hosted connection on the specified interconnect or LAG of interconnects. Amazon Web Services pol

https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocateHostedConnection

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target OvertureService.AllocateHostedConnection
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocateHostedConnection" \
  -H "X-Amz-Target: OvertureService.AllocateHostedConnection"
import requests
headers = {
    "X-Amz-Target": "OvertureService.AllocateHostedConnection"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocateHostedConnection",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocateHostedConnection';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'OvertureService.AllocateHostedConnection'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocateHostedConnection"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "OvertureService.AllocateHostedConnection")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocateHostedConnection")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "OvertureService.AllocateHostedConnection"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocateHostedConnection";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: OvertureService.AllocateHostedConnection"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST AllocatePrivateVirtualInterface

Provisions a private virtual interface to be owned by the specified Amazon Web Services account. Virtual interfaces created using this action must be confirmed by the owner using ConfirmPrivateVirtualInterface . Until then, the virtual interface is in the Confirming stat

https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocatePrivateVirtualInterface

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target OvertureService.AllocatePrivateVirtualInterface
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocatePrivateVirtualInterface" \
  -H "X-Amz-Target: OvertureService.AllocatePrivateVirtualInterface"
import requests
headers = {
    "X-Amz-Target": "OvertureService.AllocatePrivateVirtualInterface"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocatePrivateVirtualInterface",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocatePrivateVirtualInterface';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'OvertureService.AllocatePrivateVirtualInterface'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocatePrivateVirtualInterface"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "OvertureService.AllocatePrivateVirtualInterface")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocatePrivateVirtualInterface")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "OvertureService.AllocatePrivateVirtualInterface"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/directconnect/2012-10-25/#X-Amz-Target=OvertureService.AllocatePrivateVirtualInterface";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: OvertureService.AllocatePrivateVirtualInterface"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with AWS Direct Connect?

AWS Direct Connect is a Cloud API. Developers commonly use cloud APIs for:

  • provisioning and managing cloud infrastructure
  • automating deployments and container orchestration
  • monitoring uptime and performance metrics
  • managing storage buckets and databases
  • setting up auto-scaling and load balancing

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. AWS Direct Connect is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗