---
title: "Mint a short-lived (max 72h) hub-signed break-glass token so license-guard can boot in soft mode while phone-home is failing (ECO-114)."
method: POST
path: "/v1/projects/{projectId}/break-glass"
tags: ["Projects"]
---

# Mint a short-lived (max 72h) hub-signed break-glass token so license-guard can boot in soft mode while phone-home is failing (ECO-114).

`POST /v1/projects/{projectId}/break-glass`

## Request

- Base URL: `https://api.vendure.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.vendure.io/v1/projects/{projectId}/break-glass`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vendure/apis/vendure-io-api-public/docs/v1/projects/:projectId/break-glass/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `projectId` string, required

## Request body

- BreakGlassIssueRequestDto
  - `env` 'production' | 'staging' | 'uat' | 'dev', required
  - `reason` string, required
  - `durationHours` integer, required

## Response `200`

- BreakGlassIssueResponseDto
  - `token` string, required: Compact JWS (RS256). Treat as bearer credential; do not log.
  - `jti` string, uuid, required
  - `expiresAt` string, date-time, required

## Other responses

- `400`: Validation failed
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `500`: Internal server error

---

[API](https://skmtc.dev/vendure/apis/vendure-io-api-public.md) - [All operations](https://skmtc.dev/vendure/apis/vendure-io-api-public/llms.txt) - [OpenAPI document](https://skmtc.dev/vendure/apis/vendure-io-api-public/revisions/0747ce439f89?raw)
