---
title: "POST /v1/internal/licenses/{grant_id}/issue"
method: POST
path: "/v1/internal/licenses/{grant_id}/issue"
tags: ["v1"]
---

# POST /v1/internal/licenses/{grant_id}/issue

`POST /v1/internal/licenses/{grant_id}/issue`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/v1/internal/licenses/{grant_id}/issue`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

## Request body

- LicenseActionRequest

## Response `200`

OK

- IssuedLicenseResponse
  - `grant` LicenseGrant, required
    - `id` string, uuid
    - `license_id` string
    - `key_id` string
    - `customer_name` string, required
    - `customer_id` string
    - `primary_contact_email` string, email
    - `hubspot_deal_id` string
    - `license_type` 'production' | 'trial', required
    - `band` string, required
    - `features` object
    - `limits` object
    - `max_instances` integer
    - `min_software_version` string
    - `issued_at` string, date-time, nullable
    - `not_before` string, date-time, nullable
    - `expires_at` string, date-time, nullable
    - `grace_days` integer
    - `status` 'draft' | 'pending_approval' | 'active' | 'suspended' | 'revoked' | 'expired'
    - `status_reason` string
    - `status_changed_at` string, date-time, nullable
    - `drafted_by` string, uuid, nullable
    - `approved_by` string, uuid, nullable
    - `approved_at` string, date-time, nullable
    - `authorization_version` integer
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `license_key` string, required

## Other responses

- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
