---
title: "Ship Experiment Variant Endpoint"
method: POST
path: "/api/v1/gm/experiment/variant/{variant_id}/ship"
tags: ["gm", "gm"]
---

# Ship Experiment Variant Endpoint

`POST /api/v1/gm/experiment/variant/{variant_id}/ship`

## Request

- Base URL: `https://app.goodleads.club` (the document declares no server; this is the origin it was published from)
- URL: `https://app.goodleads.club/api/v1/gm/experiment/variant/{variant_id}/ship`
- Auth: API key in header `X-API-Key`

Ship a winning variant by writing its diff to vendor_config.

Sprint 12 supports vendor_config artifacts only. The new row carries
the experiment_id; any prior active row for the same (vendor, key) is
superseded (active=False, reverted_at stamped). PR 5 wires the
auto-rollback path that flips active=False on experiment failure.

## Path parameters

- `variant_id` string, required

## Response `201`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/goodleads/apis/formation-gtm-api.md) · [All operations](https://skmtc.dev/goodleads/apis/formation-gtm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/goodleads/apis/formation-gtm-api/revisions/2068d13a82cf?raw)
