--- layout: docs page_title: 'Commands: Namespace Write' sidebar_title: write --- # Consul Namespace Write Command: `consul namespace write` This `namespace write` command creates or updates a namespace's configuration from its full definition. This was added in Consul Enterprise 1.7.0. ## Usage Usage: `consul namespace write ` The `` must either be a file path or `-` to indicate that the definition should be read from stdin. The definition can be in either JSON or HCL format. See [here](/docs/enterprise/namespaces#namespace-definition) for a description of the namespace definition. #### API Options @include 'http_api_options_client.mdx' @include 'http_api_options_server.mdx' #### Command Options - `-format=` - How to output the results. The choices are: pretty or json - `-meta` - Indicates that namespace metadata such as the raft indices should be shown for the namespace ## Examples Create a new Namespace: ```shell $ consul namespace write - <<< 'Name = "team-1"' Name: team-1 Description: ``` Showing Raft Metadata: ```shell $ consul namespace write -meta - <<< 'Name = "team-1"' Name: team-1 Description: Create Index: 339 Modify Index: 344 ``` JSON Format: ```shell $ cat ns.hcl Name = "foo" Description = "Example Namespace" Meta { team-id = "574407f3-8b26-4c84-8e51-028bb8cbdd37" } $ consul namespace write -format=json ns.hcl { "Name": "foo", "Description": "Example Namespace", "Meta": { "team-id": "574407f3-8b26-4c84-8e51-028bb8cbdd37" }, "CreateIndex": 352, "ModifyIndex": 352 } ```