Home
Version 3
Security Groups API

Security Groups API

Creating a Security Group

POST /v2/security_groups/

Fields

Name Description Default Valid Values Example Values
name The name of the security group.
  • my_super_sec_group
rules The egress rules for apps that belong to this security group. A rule consists of a protocol (tcp,icmp,udp,all), destination CIDR or destination range, port or port range (tcp,udp,all), type (control signal for icmp), code (control signal for icmp), log (enables logging for the egress rule) []
  • [
      {
        "protocol": "icmp",
        "destination": "0.0.0.0/0",
        "type": 0,
        "code": 1
      },
      {
        "protocol": "tcp",
        "destination": "0.0.0.0/0",
        "ports": "2048-3000",
        "log": true
      },
      {
        "protocol": "udp",
        "destination": "0.0.0.0/0",
        "ports": "53, 5353"
      },
      {
        "protocol": "all",
        "destination": "0.0.0.0/0"
      }
    ]
space_guids The list of associated spaces. []

Request

Headers

Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTExNiIsImVtYWlsIjoiZW1haWwtNzhAc29tZWRvbWFpbi5jb20iLCJzY29wZSI6WyJjbG91ZF9jb250cm9sbGVyLmFkbWluIl0sImF1ZCI6WyJjbG91ZF9jb250cm9sbGVyIl0sImV4cCI6MTQyNDQ3MTY5MH0.6mmTrHU1en5TUyv0ch9StxKeO8wMAgc5aP_SOmcI6J0
Host: example.org
Content-Type: application/x-www-form-urlencoded
Cookie: 

Route

POST /v2/security_groups

Body

{
  "name": "my_super_sec_group",
  "rules": [
    {
      "protocol": "icmp",
      "destination": "0.0.0.0/0",
      "type": 0,
      "code": 1
    },
    {
      "protocol": "tcp",
      "destination": "0.0.0.0/0",
      "ports": "2048-3000",
      "log": true
    },
    {
      "protocol": "udp",
      "destination": "0.0.0.0/0",
      "ports": "53, 5353"
    },
    {
      "protocol": "all",
      "destination": "0.0.0.0/0"
    }
  ]
}

cURL

curl "https://api.[your-domain.com]/v2/security_groups" -d '{
  "name": "my_super_sec_group",
  "rules": [
    {
      "protocol": "icmp",
      "destination": "0.0.0.0/0",
      "type": 0,
      "code": 1
    },
    {
      "protocol": "tcp",
      "destination": "0.0.0.0/0",
      "ports": "2048-3000",
      "log": true
    },
    {
      "protocol": "udp",
      "destination": "0.0.0.0/0",
      "ports": "53, 5353"
    },
    {
      "protocol": "all",
      "destination": "0.0.0.0/0"
    }
  ]
}' -X POST \
	-H "Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTExNiIsImVtYWlsIjoiZW1haWwtNzhAc29tZWRvbWFpbi5jb20iLCJzY29wZSI6WyJjbG91ZF9jb250cm9sbGVyLmFkbWluIl0sImF1ZCI6WyJjbG91ZF9jb250cm9sbGVyIl0sImV4cCI6MTQyNDQ3MTY5MH0.6mmTrHU1en5TUyv0ch9StxKeO8wMAgc5aP_SOmcI6J0" \
	-H "Host: example.org" \
	-H "Content-Type: application/x-www-form-urlencoded" \
	-H "Cookie: "

Response

Headers

Content-Type: application/json;charset=utf-8
Location: /v2/security_groups/9ff92745-0465-47aa-9e83-ce3a6d7c071d
X-VCAP-Request-ID: 9005ba48-411f-43b5-a235-bab147120fc6
Content-Length: 864
X-Content-Type-Options: nosniff

Status

201 Created

Body

{
  "metadata": {
    "guid": "9ff92745-0465-47aa-9e83-ce3a6d7c071d",
    "url": "/v2/security_groups/9ff92745-0465-47aa-9e83-ce3a6d7c071d",
    "created_at": "2015-02-13T22:34:50Z",
    "updated_at": null
  },
  "entity": {
    "name": "my_super_sec_group",
    "rules": [
      {
        "protocol": "icmp",
        "destination": "0.0.0.0/0",
        "type": 0,
        "code": 1
      },
      {
        "protocol": "tcp",
        "destination": "0.0.0.0/0",
        "ports": "2048-3000",
        "log": true
      },
      {
        "protocol": "udp",
        "destination": "0.0.0.0/0",
        "ports": "53, 5353"
      },
      {
        "protocol": "all",
        "destination": "0.0.0.0/0"
      }
    ],
    "running_default": false,
    "staging_default": false,
    "spaces_url": "/v2/security_groups/9ff92745-0465-47aa-9e83-ce3a6d7c071d/spaces"
  }
}