---
title: "Create a new commit for pending changes to the Cribl configuration"
method: POST
path: "/version/commit"
tags: ["versioning"]
---

# Create a new commit for pending changes to the Cribl configuration

`POST /version/commit`

Create a new commit for pending changes to the Cribl configuration. Any merge conflicts indicated in the response must be resolved using Git.<br/><br/>To commit only a subset of configuration changes, specify the files to include in the commit in the <code>files</code> array.

## Request body

- GitCommitBody
  - `effective` boolean — If <code>true</code>, apply the commit to the group's effective configuration. Requires a group context.
  - `files` string[] — Array of file paths to include in the commit, relative to the configuration root. If omitted, all pending changes are committed.
  - `message` string, required — Commit message to use for the new Git commit.

## Response `200`

The created GitCommitSummary object in a single-item list.

- CountedGitCommitSummary
  - `count` integer, required — number of items present in the items array
  - `items` GitCommitSummary[], required — List of items in this response.
    - `author` object — Author of the Git commit, including email and display name.
      - `email` string, required — Email address of the commit author.
      - `name` string, required — Display name of the commit author.
    - `branch` string, required — Name of the Git branch the commit was made on.
    - `commit` string, required — Full SHA-1 hash of the new commit.
    - `files` object — Files affected by the commit, grouped by change type.
      - `created` string[] — Array of file paths that were created in the commit.
      - `deleted` string[] — Array of file paths that were deleted in the commit.
      - `modified` string[] — Array of file paths that were modified in the commit.
      - `renamed` GitFileRename[] — Array of file rename operations, each containing the original path and the new path.
        - `from` string, required — Original file path before the rename.
        - `to` string, required — New file path after the rename.
    - `summary` object, required — Summary of line changes in the commit.
      - `changes` integer, required — Total number of lines changed (insertions plus deletions).
      - `deletions` integer, required — Number of lines deleted.
      - `insertions` integer, required — Number of lines inserted.

## Other responses

- `400` — When <code>effective: true</code> is provided without a group context.
- `401` — Authentication failed (missing or invalid credentials or Bearer token).
- `500` — Unexpected server error.

---

[API](https://skmtc.dev/criblio/apis/cribl-api-reference.md) · [All operations](https://skmtc.dev/criblio/apis/cribl-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/criblio/cribl-api-reference/revisions/56cb25079271/schema)
