# exo storage metadata add
### Description

This command adds key/value metadata to an object.

Example:

    exo storage metadata add sos://my-bucket/object-a \
        k1=v1 \
        k2=v2

Notes:

  * Adding an already existing key will overwrite its value.
  * The following characters are not allowed in keys: ( ) < > @ , ; ! : \ \ ' & " / [ ] ? _ = { }  

Supported output template annotations: .Path, .Bucket, .LastModified, .Size, .ACL, .Metadata, .Headers, .URL, .ReplicationStatus

```
exo storage metadata add sos://BUCKET/(OBJECT|PREFIX/) KEY=VALUE... [flags]
```

### Options

| Option | Description |
|---------|------------|
|`--help, -h` | help for add |
|`--recursive, -r` | add metadata recursively (with object prefix only) |


### Options inherited from parent commands

| Option | Description |
|---------|------------|
|`--config, -C` | Specify an alternate config file [env EXOSCALE_CONFIG] |
|`--output-format, -O` | Output format (table\|json\|text), see &#34;exo output --help&#34; for more information |
|`--output-template` | Template to use if output format is &#34;text&#34; |
|`--quiet, -Q` | Quiet mode (disable non-essential command output) |
|`--timeout` | Per-zone timeout for list operations; -1s disables timeout [env EXOSCALE_TIMEOUT] |
|`--use-account, -A` | Account to use in config file [env EXOSCALE_ACCOUNT] |


### Related Commands

* [metadata]({{< ref "../metadata">}})	 - Manage objects metadata


