---
title: "Map volume to server"
method: POST
path: "/storage/volumes/{id}/map"
tags: ["Block Storage"]
---

# Map volume to server

`POST /storage/volumes/{id}/map`

Maps a high performance volume to a server over NVMe-TCP.

## Path parameters

- `id` string, required

## Request body

- object
  - `data` object, required
    - `type` 'volumes', required
    - `attributes` object, required
      - `server_id` string, required — ID of the server that will access the volume. The server must belong to the same project and location as the volume, and must be eligible for bonding.

## Response `202`

Accepted

- object
  - `data` VolumeData
    - `id` string
    - `type` 'volumes'
    - `attributes` object
      - `name` string
      - `size_in_gb` integer
      - `created_at` string, date-time, nullable
      - `namespace_id` string, nullable
      - `connector_id` string, nullable
      - `initiators` object[], nullable
        - `nqn` string
      - `block` object, nullable — NVMe-TCP block mapping of a high performance volume. Null for volumes that are not mapped to a server.
        - `status` string, nullable — Mapping lifecycle state: "mapping" while the mapping is being applied, "mapped" once the server can access the volume, or "failed". Mapping is asynchronous, so poll the volume until this reaches a terminal state.
        - `nqn` string, nullable — NVMe Qualified Name of the mapped server.
        - `nsid` integer, nullable — NVMe namespace ID of the mapping.
        - `server_id` string, nullable — ID of the server the volume is mapped to.
      - `keyring` string, nullable — Keyring secret used to connect to the volume. Returned only for dashboard-origin requests; null until the volume is provisioned.
      - `cluster_user` string, nullable — Cluster user used to connect to the volume. Returned only for dashboard-origin requests; null until the volume is provisioned.
      - `volume_path` string, nullable — Path of the volume inside the cluster. Returned only for dashboard-origin requests; null until the volume is provisioned.
      - `region` object, nullable
        - `city` string, nullable
        - `country` string, nullable
        - `site` object, nullable
          - `id` string
          - `name` string
          - `slug` string
          - `facility` string
      - `project` ProjectInclude
        - `id` string
        - `name` string
        - `slug` string
        - `description` string, nullable
        - `billing_type` string, nullable
        - `provisioning_type` string, nullable
        - `billing_method` string, nullable
        - `bandwidth_alert` boolean
        - `environment` string, nullable
        - `billing` object
          - `subscription_id` string, nullable
          - `type` string
          - `method` string
        - `stats` object
          - `databases` integer
          - `ip_addresses` integer
          - `prefixes` integer
          - `servers` integer
          - `storages` integer
          - `virtual_machines` integer
          - `vlans` integer
      - `team` TeamInclude
        - `id` string
        - `name` string
        - `slug` string
        - `description` string, nullable
        - `address` string, nullable
        - `currency` object
          - `id` string
          - `code` string
          - `name` string
          - `currency_id` integer, nullable
        - `status` string, nullable
        - `feature_flags` string[]
        - `limits` object
          - `bare_metal` integer, nullable
          - `bare_metal_gpu` integer, nullable
          - `virtual_machine` integer, nullable
          - `virtual_machine_gpu` integer, nullable
          - `elastic_ip` integer, nullable
          - `bgp_session_per_ip` integer, nullable
          - `public_network` integer, nullable
          - `virtual_network` integer, nullable
          - `database` integer, nullable
          - `filesystem` integer, nullable
          - `block_storage` integer, nullable
  - `meta` object

## Changes

- **2026-09-01** `6eea9810c7b6` — 1 breaking, 1 info
  - removed the success response with the status `200`
  - added the success response with the status `202`
- **2026-08-28** `3801b2bc7b02` — 1 info
  - added the optional property `data/attributes/block/status` to the response with the `200` status
- **2026-08-27** `d564cb4aa86e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/latitude/apis/latitude-sh-api/changes/storage/volumes/:id/map/post.md)

---

[API](https://skmtc.dev/latitude/apis/latitude-sh-api.md) · [All operations](https://skmtc.dev/latitude/apis/latitude-sh-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/latitude/latitude-sh-api/revisions/6eea9810c7b6/schema)
