> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# algolia compositions upsert

> Create or update a composition.

```txt Usage theme={"system"}
algolia compositions upsert <composition-id> [flags]
```

## Examples

Upsert a composition from a JSON file:

```sh icon=square-terminal theme={"system"}
algolia compositions upsert my-comp --file body.json
```

Upsert from stdin:

```sh icon=square-terminal theme={"system"}
cat body.json | algolia compositions upsert my-comp --file -
```

## Flags

<ParamField body="-f, --file">
  JSON file path (use - for stdin)
</ParamField>

## Output formatting flags

<ParamField body="--allow-missing-template-keys">
  If true, ignore errors in templates due to missing fields or map keys. This only applies to golang and jsonpath output formats.
</ParamField>

<ParamField body="-o, --output">
  Output format. One of: (json, jsonl, ndjson, jsonpath, jsonpath-as-json, jsonpath-file).
</ParamField>

<ParamField body="--template">
  Template string or path to a template file to use when --output=jsonpath, --output=jsonpath-file.
</ParamField>
