diff --git a/openstack/blockstorage/v1/volumes/requests.go b/openstack/blockstorage/v1/volumes/requests.go
new file mode 100644
index 0000000..b1f45cd
--- /dev/null
+++ b/openstack/blockstorage/v1/volumes/requests.go
@@ -0,0 +1,23 @@
+package volumes
+
+import (
+	"github.com/racker/perigee"
+	blockstorage "github.com/rackspace/gophercloud/openstack/blockstorage/v1"
+)
+
+func Create(c *blockstorage.Client, opts CreateOpts) (Volume, error) {
+	var v Volume
+	h, err := c.GetHeaders()
+	if err != nil {
+		return v, err
+	}
+	url := c.GetVolumeURL()
+	_, err = perigee.Request("POST", url, perigee.Options{
+		Results: &v,
+		ReqBody: map[string]interface{}{
+			"volume": opts,
+		},
+		MoreHeaders: h,
+	})
+	return v, err
+}
diff --git a/openstack/blockstorage/v1/volumes/volumes.go b/openstack/blockstorage/v1/volumes/volumes.go
new file mode 100644
index 0000000..35c416b
--- /dev/null
+++ b/openstack/blockstorage/v1/volumes/volumes.go
@@ -0,0 +1,16 @@
+package volumes
+
+type Volume map[string]interface{}
+
+type CreateOpts struct {
+	Availability_zone   string            `json:"size"`
+	Source_volid        string            `json:"source_volid"`
+	Display_description string            `json:"display_description"`
+	Snapshot_id         string            `json:"snapshot_id"`
+	Size                int               `json:"size"`
+	Display_name        string            `json:"display_name"`
+	ImageRef            string            `json:"imageRef"`
+	Volume_type         string            `json:"volume_type"`
+	Bootable            bool              `json:"bootable"`
+	Metadata            map[string]string `json:"metadata"`
+}
