{
    "components": {
        "schemas": {
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BreakdownEntry": {
                "properties": {
                    "principal_kind": {
                        "enum": [
                            "user",
                            "service_account"
                        ],
                        "type": "string"
                    },
                    "used_usd": {
                        "type": "string"
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BreakdownResponse": {
                "properties": {
                    "by_model": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BreakdownEntry"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "by_provider": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BreakdownEntry"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "by_user": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BreakdownEntry"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "period": {
                        "type": "string"
                    },
                    "period_end": {
                        "type": "string"
                    },
                    "period_start": {
                        "type": "string"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "subject_id": {
                        "type": "string"
                    },
                    "total_used_usd": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BudgetSpec": {
                "properties": {
                    "limit_usd": {
                        "description": "LimitUSD is the per-period cap as a decimal string (e.g. \"10.000000000\").",
                        "type": "string"
                    },
                    "period": {
                        "description": "Period is the calendar bucket: \"day\", \"month\", or \"year\".",
                        "type": "string"
                    },
                    "scope": {
                        "description": "Scope is the principal tier: \"user\", \"group\", or \"service_account\".",
                        "type": "string"
                    },
                    "subject_id": {
                        "description": "SubjectID is the opaque principal identifier: the directory platform user\nUUID for a user budget, the directory group UUID for a group budget, or\nthe directory service account UUID.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.CellItem": {
                "properties": {
                    "limit_usd": {
                        "type": "string"
                    },
                    "on_default": {
                        "description": "OnDefault is true when this cell's limit was coalesced from the org-wide\ndefault user budget (a defaulted spender with no explicit budget row)\nrather than read from an explicit row. Server-provided so a client can\ndistinguish an exception (explicit budget) from a cell on the default.",
                        "type": "boolean"
                    },
                    "ordinal": {
                        "description": "Ordinal is the group charge-precedence position (0 for user cells).",
                        "type": "integer"
                    },
                    "period": {
                        "type": "string"
                    },
                    "period_end": {
                        "type": "string"
                    },
                    "period_start": {
                        "type": "string"
                    },
                    "remaining_usd": {
                        "description": "RemainingUSD is LimitUSD minus UsedUSD clamped at zero.",
                        "type": "string"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "subject_id": {
                        "type": "string"
                    },
                    "used_usd": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ChargeRecord": {
                "properties": {
                    "auth_subject": {
                        "type": "string"
                    },
                    "charged_usd": {
                        "description": "ChargedUSD is a decimal string with 9 fractional digits.",
                        "type": "string"
                    },
                    "event_id": {
                        "description": "Flattened context from the 1:1-joined usage event.",
                        "type": "string"
                    },
                    "event_time": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "interaction_id": {
                        "type": "string"
                    },
                    "model": {
                        "type": "string"
                    },
                    "period_end": {
                        "type": "string"
                    },
                    "period_start": {
                        "type": "string"
                    },
                    "pricing_catalog_id": {
                        "type": "string"
                    },
                    "provider": {
                        "type": "string"
                    },
                    "scope": {
                        "description": "Scope and SubjectID identify the payer the charge was attributed to.",
                        "type": "string"
                    },
                    "subject_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.DimensionSliceResponse": {
                "properties": {
                    "dimension": {
                        "type": "string"
                    },
                    "entries": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BreakdownEntry"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "period": {
                        "type": "string"
                    },
                    "period_end": {
                        "type": "string"
                    },
                    "period_start": {
                        "type": "string"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "subject_id": {
                        "type": "string"
                    },
                    "total_used_usd": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.EventRecord": {
                "properties": {
                    "auth_issuer": {
                        "type": "string"
                    },
                    "auth_subject": {
                        "description": "Claimed identity. AuthSubject is always present; AuthIssuer is empty\nuntil the gateway populates subject.claims on the webhook envelope.",
                        "type": "string"
                    },
                    "duration_ms": {
                        "type": "integer"
                    },
                    "event_time": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "ingest_time": {
                        "type": "string"
                    },
                    "interaction_id": {
                        "type": "string"
                    },
                    "model": {
                        "type": "string"
                    },
                    "outcome": {
                        "type": "string"
                    },
                    "platform_groups": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "principal_id": {
                        "description": "Resolved caller's UUID and kind; both absent when unresolved.",
                        "type": "string"
                    },
                    "principal_kind": {
                        "enum": [
                            "user",
                            "service_account"
                        ],
                        "type": "string"
                    },
                    "provider": {
                        "description": "Interaction context.",
                        "type": "string"
                    },
                    "raw_usage": {
                        "description": "RawUsage is the provider's usage block verbatim; null when the response\ncarried none. Token telemetry lives only here — the API does not parse\nor normalize it.",
                        "type": "object"
                    },
                    "requested_model": {
                        "type": "string"
                    },
                    "route": {
                        "type": "string"
                    },
                    "upstream_status": {
                        "type": "integer"
                    },
                    "virtual_key_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetBudgetsResponse": {
                "properties": {
                    "budgets": {
                        "description": "Budgets is the current budget collection in the same shape PUT accepts.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BudgetSpec"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetDefaultUserBudgetResponse": {
                "properties": {
                    "limit_usd": {
                        "description": "LimitUSD is the per-period cap as a decimal string (e.g. \"10.000000000\").",
                        "type": "string"
                    },
                    "period": {
                        "description": "Period is the calendar bucket: \"day\", \"month\", or \"year\".",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetPricingEntryResponse": {
                "properties": {
                    "anthropic": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingAnthropicRates"
                    },
                    "google": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingGoogleRates"
                    },
                    "managedBy": {
                        "description": "ManagedBy and Unpriced mirror PricingCatalogEntry. A tombstoned pair\nanswers 200 with Unpriced true rather than 404, so a caller can tell a\ndeliberate block from a model nothing has ever priced. Field order and\ntypes must stay identical to PricingCatalogEntry: pricingEntryToResponse\nconverts between the two structurally.",
                        "type": "string"
                    },
                    "model": {
                        "type": "string"
                    },
                    "openai": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingOpenAIRates"
                    },
                    "provider": {
                        "type": "string"
                    },
                    "unpriced": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetPricingResponse": {
                "properties": {
                    "effective_from": {
                        "description": "EffectiveFrom is the timestamp at which this version became active.",
                        "type": "string"
                    },
                    "provider_aliases": {
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "ProviderAliases folds a data-plane provider spelling onto the provider a\nPricingCatalogEntry is keyed under, for the spellings where the two\ndiffer. A client joining a model list against Spec.Entries MUST apply it\nto BOTH sides — the model's provider AND the entry's own Provider —\nafter lowercasing and trimming each, falling back to that normalized\nspelling when it is absent from the map.\n\nBoth halves are load-bearing. Spec is returned verbatim as stored, so an\nentry carries the spelling whoever authored it typed, while the server\nkeyed its own row on the folded spelling; folding only the model's side\nleaves an entry authored as \"vertex\" unreachable from a data plane\nreporting \"vertex\". And the server's fold lowercases and trims first, so\na client matching raw prices nothing for a spelling the charge path\nbills without complaint.\n\nIt exists because the two names come from different vocabularies and are\nnot reconcilable by the client: a data plane reports the provider it was\nconfigured with (AI Gateway v2's provider kind, or the legacy gateway's provider\nCR Name) while an entry is keyed on the rate sheet it bills off. Two\ndistinct providers can share one sheet — AI Studio and Vertex both price\nas \"google\" — so the fold is deliberately many-to-one and cannot be\nundone by renaming either side.\n\nOnly non-identity folds are present, so an absent key means \"already the\ncatalog spelling\", not \"unknown provider\". Omitted when empty.",
                        "type": "object"
                    },
                    "spec": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingCatalogSpec"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListChargesResponse": {
                "properties": {
                    "charges": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ChargeRecord"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "description": "NextCursor is passed back verbatim as the cursor query parameter.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListEventsResponse": {
                "properties": {
                    "events": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.EventRecord"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "description": "NextCursor is passed back verbatim as the cursor query parameter.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListPricingVersionsResponse": {
                "properties": {
                    "versions": {
                        "description": "Versions are ordered by EffectiveFrom descending. Empty when no version\nhas been published, which is a 200 rather than a 404: unlike a point read\nof a named version, a listing of nothing is an answer.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingVersionSummary"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.MeCellItem": {
                "properties": {
                    "limit_usd": {
                        "type": "string"
                    },
                    "my_contribution_usd": {
                        "type": "string"
                    },
                    "on_default": {
                        "description": "OnDefault is true when this cell's limit was coalesced from the org-wide\ndefault user budget (a defaulted spender with no explicit budget row)\nrather than read from an explicit row. Server-provided so a client can\ndistinguish an exception (explicit budget) from a cell on the default.",
                        "type": "boolean"
                    },
                    "ordinal": {
                        "description": "Ordinal is the group charge-precedence position (0 for user cells).",
                        "type": "integer"
                    },
                    "period": {
                        "type": "string"
                    },
                    "period_end": {
                        "type": "string"
                    },
                    "period_start": {
                        "type": "string"
                    },
                    "remaining_usd": {
                        "description": "RemainingUSD is LimitUSD minus UsedUSD clamped at zero.",
                        "type": "string"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "subject_id": {
                        "type": "string"
                    },
                    "used_usd": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.MeSummaryResponse": {
                "properties": {
                    "budgets": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.MeCellItem"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "day": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PersonalCard"
                    },
                    "month": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PersonalCard"
                    },
                    "subject": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PersonalCard": {
                "properties": {
                    "budgets": {
                        "description": "Budgets counts the budgets contributing to the card (one per period grain\ntoday), so a UI can badge multi-budget rollups.",
                        "type": "integer"
                    },
                    "limit_usd": {
                        "type": "string"
                    },
                    "period_end": {
                        "type": "string"
                    },
                    "period_start": {
                        "type": "string"
                    },
                    "remaining_usd": {
                        "type": "string"
                    },
                    "used_usd": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingAnthropicRates": {
                "properties": {
                    "cacheCreation1hInputUsdPerMillion": {
                        "type": "string"
                    },
                    "cacheCreation5mInputUsdPerMillion": {
                        "type": "string"
                    },
                    "cachedInputUsdPerMillion": {
                        "type": "string"
                    },
                    "inputUsdPerMillion": {
                        "type": "string"
                    },
                    "outputUsdPerMillion": {
                        "type": "string"
                    },
                    "promptSizeTiers": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingPromptSizeTier"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingAnthropicToolRates": {
                "properties": {
                    "webSearchUsdPerThousand": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingCatalogEntry": {
                "properties": {
                    "anthropic": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingAnthropicRates"
                    },
                    "google": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingGoogleRates"
                    },
                    "managedBy": {
                        "description": "ManagedBy records who owns this rate: ManagedByBaseline for one tracking\nthe shipped baseline, ManagedByOperator for one an admin set. It is\nserver-owned: PutPricingEntryRequest declares no ManagedBy field, so a\nclient that sends one has it silently ignored rather than rejected,\nbecause a client that could claim ManagedByBaseline for its own rate\nwould have that rate overwritten by the next refresh without asking\nfor it.",
                        "type": "string"
                    },
                    "model": {
                        "type": "string"
                    },
                    "openai": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingOpenAIRates"
                    },
                    "provider": {
                        "type": "string"
                    },
                    "unpriced": {
                        "description": "Unpriced marks a tombstone: a rate an admin deliberately removed,\nrecorded rather than left as an absence, so no refresh resurrects it. A\ntombstone carries no rate block, and the entry is skipped when the\nCostCatalog is built, so the model is unpriceable and denied at admission\n(enterprise/toolhive-enterprise/docs/design/budgets-admission.md) unless another spelling folds onto the\nsame canonical key and prices it.",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingCatalogSpec": {
                "description": "Spec is the typed rate table stored for this version.",
                "properties": {
                    "entries": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingCatalogEntry"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "snapshotDate": {
                        "description": "SnapshotDate names the shipped-baseline snapshot this spec's\nbaseline-managed entries track. The generator stamps it on the baseline;\na per-entry write inherits it unchanged; only the boot reconciler\nadvances it, and only forward. Absent on any version written before\nownership existed, which is every version the backfill runs against.",
                        "type": "string"
                    },
                    "tools": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingToolRates"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingGoogleRates": {
                "properties": {
                    "audioInputUsdPerMillion": {
                        "type": "string"
                    },
                    "audioOutputUsdPerMillion": {
                        "type": "string"
                    },
                    "cachedAudioInputUsdPerMillion": {
                        "type": "string"
                    },
                    "cachedInputUsdPerMillion": {
                        "type": "string"
                    },
                    "inputUsdPerMillion": {
                        "type": "string"
                    },
                    "outputUsdPerMillion": {
                        "type": "string"
                    },
                    "promptSizeTiers": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingPromptSizeTier"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "thoughtsOutputUsdPerMillion": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingGoogleToolRates": {
                "properties": {
                    "groundingSearchUsdPerThousand": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingOpenAIRates": {
                "properties": {
                    "audioInputUsdPerMillion": {
                        "type": "string"
                    },
                    "audioOutputUsdPerMillion": {
                        "type": "string"
                    },
                    "cachedInputUsdPerMillion": {
                        "type": "string"
                    },
                    "inputUsdPerMillion": {
                        "type": "string"
                    },
                    "outputUsdPerMillion": {
                        "type": "string"
                    },
                    "promptSizeTiers": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingPromptSizeTier"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "reasoningOutputUsdPerMillion": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingOpenAIToolRates": {
                "properties": {
                    "fileSearchUsdPerThousand": {
                        "type": "string"
                    },
                    "webSearchUsdPerThousand": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingPromptSizeTier": {
                "properties": {
                    "aboveTokens": {
                        "type": "integer"
                    },
                    "cacheCreation1hInputUsdPerMillion": {
                        "type": "string"
                    },
                    "cacheCreation5mInputUsdPerMillion": {
                        "type": "string"
                    },
                    "cachedInputUsdPerMillion": {
                        "type": "string"
                    },
                    "inputUsdPerMillion": {
                        "type": "string"
                    },
                    "outputUsdPerMillion": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingToolRates": {
                "properties": {
                    "anthropic": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingAnthropicToolRates"
                    },
                    "google": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingGoogleToolRates"
                    },
                    "openai": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingOpenAIToolRates"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingVersionSummary": {
                "properties": {
                    "created_at": {
                        "description": "CreatedAt is when the row was written, which differs from EffectiveFrom\nfor a staged version and for the shipped baseline (dated in a 1970 epoch\nband so it never outranks an operator's own rates).",
                        "type": "string"
                    },
                    "effective_from": {
                        "description": "EffectiveFrom is when this version takes, or took, effect — and the key\nthat addresses it on GET /v1/budgets/pricing/versions/{effectiveFrom}. A\nvalue in the future is a staged version, which every pricing write\nrefuses until it becomes active or is deleted.",
                        "type": "string"
                    },
                    "snapshotDate": {
                        "description": "SnapshotDate names the shipped-baseline snapshot THIS version's\nbaseline-managed entries track — not the one the running binary ships.\nEmpty for any version published before the pointer survived a per-entry\nwrite, which is every version currently in the field.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutDefaultUserBudgetRequest": {
                "properties": {
                    "limit_usd": {
                        "description": "LimitUSD is the per-period cap as a decimal string (e.g. \"10.000000000\").",
                        "type": "string"
                    },
                    "period": {
                        "description": "Period is the calendar bucket: \"day\", \"month\", or \"year\".",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutGroupBudgetRequest": {
                "properties": {
                    "limit_usd": {
                        "description": "LimitUSD is the per-period cap as a decimal string (e.g. \"10.000000000\").",
                        "type": "string"
                    },
                    "period": {
                        "description": "Period is the calendar bucket: \"day\", \"month\", or \"year\".",
                        "type": "string"
                    },
                    "precedence": {
                        "description": "Precedence is the group's 1-based charge order; lower is charged first and\nthe minimum is 1 (0 is reserved for users). Maps to the domain Budget's\nordinal after server-side re-sequencing.",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutPricingEntryRequest": {
                "properties": {
                    "anthropic": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingAnthropicRates"
                    },
                    "google": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingGoogleRates"
                    },
                    "openai": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PricingOpenAIRates"
                    },
                    "unpriced": {
                        "description": "Unpriced is accepted only so the contradiction below can be reported.\nA PUT prices a model; removing one is DELETE. It is declared rather than\nignored because GetPricingEntryResponse carries the field, so a caller\ndoing the documented read-modify-write round trip can send it back, and\nsilently dropping it would store rates under an entry the caller believed\nwas tombstoned.",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutServiceAccountBudgetRequest": {
                "properties": {
                    "limit_usd": {
                        "type": "string"
                    },
                    "period": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutUserBudgetRequest": {
                "properties": {
                    "limit_usd": {
                        "description": "LimitUSD is the per-period cap as a decimal string (e.g. \"10.000000000\").",
                        "type": "string"
                    },
                    "period": {
                        "description": "Period is the calendar bucket: \"day\", \"month\", or \"year\".",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SetBudgetsRequest": {
                "properties": {
                    "budgets": {
                        "description": "Budgets is the full desired budget collection.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BudgetSpec"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SpendBucket": {
                "properties": {
                    "date": {
                        "type": "string"
                    },
                    "usd": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SpendSeriesResponse": {
                "properties": {
                    "buckets": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SpendBucket"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "from": {
                        "type": "string"
                    },
                    "granularity": {
                        "type": "string"
                    },
                    "to": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SummaryResponse": {
                "properties": {
                    "cells": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.CellItem"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "description": "NextCursor pages forward; absent on the last page.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorDetail": {
                "properties": {
                    "code": {
                        "description": "Code is the specific machine-readable reason within Type. Optional: a\nmessage-only error omits it.",
                        "example": "administratively_disconnected",
                        "type": "string"
                    },
                    "message": {
                        "description": "Message is the human-readable description, safe to show to the caller.",
                        "example": "connector not found",
                        "type": "string"
                    },
                    "type": {
                        "description": "Type is the broad class of the error. Optional: a message-only error\nomits it.",
                        "example": "gateway_disconnected",
                        "type": "string"
                    }
                },
                "required": [
                    "message"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse": {
                "properties": {
                    "error": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorDetail"
                    }
                },
                "required": [
                    "error"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.AWSStsAuthDTO": {
                "properties": {
                    "fallback_role_arn": {
                        "type": "string"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "region": {
                        "type": "string"
                    },
                    "role_claim": {
                        "type": "string"
                    },
                    "role_mappings": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.RoleMappingDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "service": {
                        "type": "string"
                    },
                    "session_duration": {
                        "type": "integer"
                    },
                    "session_name_claim": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.AWSStsAuthRequest": {
                "properties": {
                    "fallback_role_arn": {
                        "type": "string"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "region": {
                        "type": "string"
                    },
                    "role_claim": {
                        "type": "string"
                    },
                    "role_mappings": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.RoleMappingRequest"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "service": {
                        "type": "string"
                    },
                    "session_duration": {
                        "type": "integer"
                    },
                    "session_name_claim": {
                        "type": "string"
                    }
                },
                "required": [
                    "provider_id",
                    "region"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BearerTokenAuthDTO": {
                "properties": {
                    "token": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BearerTokenAuthRequest": {
                "properties": {
                    "token": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BulkToggleGroupToolRequest": {
                "properties": {
                    "enabled": {
                        "type": "boolean"
                    },
                    "group_ids": {
                        "items": {
                            "type": "string"
                        },
                        "maxItems": 200,
                        "minItems": 1,
                        "type": "array",
                        "uniqueItems": false
                    },
                    "tool_id": {
                        "maxLength": 256,
                        "type": "string"
                    }
                },
                "required": [
                    "enabled",
                    "group_ids",
                    "tool_id"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BulkToggleGroupToolResponse": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "results": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupToolToggleResultDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "tool_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO": {
                "properties": {
                    "kubernetes_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KubernetesSecretRefDTO"
                    },
                    "managed_secret_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "gateway_id": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "setup_access_until": {
                        "description": "SetupAccessUntil is when the owner's setup access to the Connector lapses. Absent when\nthe Connection carries none.",
                        "type": "string"
                    },
                    "tools_enabled_by_default": {
                        "type": "boolean"
                    },
                    "tools_exception_list": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "user_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorAuthDTO": {
                "properties": {
                    "aws_sts": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.AWSStsAuthDTO"
                    },
                    "bearer_token": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BearerTokenAuthDTO"
                    },
                    "header_injection": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.HeaderInjectionAuthDTO"
                    },
                    "obo": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OBOAuthDTO"
                    },
                    "token_exchange": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.TokenExchangeAuthDTO"
                    },
                    "type": {
                        "enum": [
                            "none",
                            "bearerToken",
                            "headerInjection",
                            "upstreamInject",
                            "tokenExchange",
                            "awsSts",
                            "obo",
                            "xaa"
                        ],
                        "type": "string"
                    },
                    "upstream_inject": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UpstreamInjectAuthDTO"
                    },
                    "xaa": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.XAAAuthDTO"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorAuthRequest": {
                "properties": {
                    "aws_sts": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.AWSStsAuthRequest"
                    },
                    "bearer_token": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BearerTokenAuthRequest"
                    },
                    "header_injection": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.HeaderInjectionAuthRequest"
                    },
                    "obo": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OBOAuthRequest"
                    },
                    "token_exchange": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.TokenExchangeAuthRequest"
                    },
                    "type": {
                        "enum": [
                            "none",
                            "bearerToken",
                            "headerInjection",
                            "upstreamInject",
                            "tokenExchange",
                            "awsSts",
                            "obo",
                            "xaa"
                        ],
                        "type": "string"
                    },
                    "upstream_inject": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UpstreamInjectAuthRequest"
                    },
                    "xaa": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.XAAAuthRequest"
                    }
                },
                "required": [
                    "type"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorDTO": {
                "properties": {
                    "allow_private_ips": {
                        "type": "boolean"
                    },
                    "auth": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorAuthDTO"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "deployment_mode": {
                        "description": "DeploymentMode is how this Connector's MCP server is run: kubernetes or\nproxy_remote. Not independently settable — it reads through to Origin\n(only kubernetes_cluster yields kubernetes), so there is no corresponding\nfield on ConnectorWriteRequest to ignore or reject.",
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "endpoint": {
                        "type": "string"
                    },
                    "gateway_id": {
                        "type": "string"
                    },
                    "icon_url": {
                        "description": "IconURL is the connector's optional icon/logo link, or absent when\nunset.",
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "origin": {
                        "description": "Origin is where this Connector came from: manual, kubernetes_cluster,\ncustom_registry or stacklok_registry. Always rendered; a Connector created\nbefore provenance existed reads as manual. Set at creation and never\nchanged — a PUT carrying it is accepted and the value ignored.",
                        "type": "string"
                    },
                    "repository_url": {
                        "description": "RepositoryURL is the connector's optional source-code link, or\nabsent when unset.",
                        "type": "string"
                    },
                    "source_name": {
                        "description": "SourceName is the name of the object this Connector was created from.\nPresent only for kubernetes_cluster.",
                        "type": "string"
                    },
                    "source_namespace": {
                        "description": "SourceNamespace is the namespace of the object this Connector was created\nfrom. Present only for kubernetes_cluster.",
                        "type": "string"
                    },
                    "status": {
                        "description": "Status is one of the ConnectorStatus* values below.",
                        "type": "string"
                    },
                    "support_url": {
                        "description": "SupportURL is the connector's optional support/homepage link, or\nabsent when unset.",
                        "type": "string"
                    },
                    "transport": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "version": {
                        "description": "Version is the connector's optional, free-text version string, or\nabsent when unset.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorIdentityProviderDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "oauth2_config": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OAuth2ConfigDTO"
                    },
                    "oidc_config": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OIDCConfigDTO"
                    },
                    "provider_type": {
                        "type": "string"
                    },
                    "registration_mode": {
                        "type": "string"
                    },
                    "source": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyDTO": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "document": {
                        "type": "string"
                    },
                    "granted_user_groups": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyGroupRefDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "mode": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyGroupRefDTO": {
                "properties": {
                    "display_name": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorToolDTO": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "destructive_hint": {
                        "type": "boolean"
                    },
                    "name": {
                        "type": "string"
                    },
                    "read_only_hint": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorToolsDTO": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "last_refreshed_at": {
                        "type": "string"
                    },
                    "tools": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorToolDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorWriteRequest": {
                "properties": {
                    "allow_private_ips": {
                        "type": "boolean"
                    },
                    "auth": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorAuthRequest"
                    },
                    "description": {
                        "type": "string"
                    },
                    "draft": {
                        "description": "Draft withholds this Connector from its gateway while an Admin is still\nconfiguring it. Required on create and on update alike: publishing is\n{\"draft\": false} and withdrawing is {\"draft\": true} on this same\nfull-replace route — there is no separate publish endpoint.",
                        "type": "boolean"
                    },
                    "endpoint": {
                        "type": "string"
                    },
                    "icon_url": {
                        "description": "IconURL is the connector's optional icon/logo link. When set, must\nbe an absolute http or https URL.",
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "origin": {
                        "description": "Origin records where this Connector came from. Omit it entirely for a\nhand-entered Connector (it defaults to \"manual\"); an explicitly empty\nstring is rejected with 400. Legal values: manual, kubernetes_cluster,\ncustom_registry, stacklok_registry. Ignored on update — provenance is a\nfact about creation, so PUT neither changes nor clears it.",
                        "type": "string"
                    },
                    "repository_url": {
                        "description": "RepositoryURL is the connector's optional source-code link. When\nset, must be an absolute http or https URL.",
                        "type": "string"
                    },
                    "source_name": {
                        "description": "SourceName is the name of the object this Connector was created from.\nRequired together with source_namespace when origin is kubernetes_cluster,\nand must be empty when origin is manual. Ignored on update.",
                        "type": "string"
                    },
                    "source_namespace": {
                        "description": "SourceNamespace is the namespace of the object this Connector was created\nfrom. Required together with source_name when origin is kubernetes_cluster,\nand must be empty when origin is manual. Ignored on update.",
                        "type": "string"
                    },
                    "support_url": {
                        "description": "SupportURL is the connector's optional support/homepage link. When\nset, must be an absolute http or https URL.",
                        "type": "string"
                    },
                    "transport": {
                        "description": "Transport is the MCP transport the connector's server speaks: one of\n\"streamable-http\" or \"sse\". An out-of-set value is rejected with a 400.",
                        "enum": [
                            "streamable-http",
                            "sse"
                        ],
                        "type": "string"
                    },
                    "version": {
                        "description": "Version is the connector's optional, free-text version string.",
                        "type": "string"
                    }
                },
                "required": [
                    "draft",
                    "endpoint",
                    "name",
                    "transport"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateConnectionRequest": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "gateway_id": {
                        "type": "string"
                    },
                    "tools_enabled_by_default": {
                        "type": "boolean"
                    },
                    "tools_exception_list": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "connector_id",
                    "gateway_id"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateConnectorIdentityProviderRequest": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "oauth2_config": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OAuth2ConfigDTO"
                    },
                    "oidc_config": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OIDCConfigDTO"
                    },
                    "provider_type": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "provider_type"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateExternalBindingRequest": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "namespace": {
                        "type": "string"
                    },
                    "reassign": {
                        "type": "boolean"
                    },
                    "uid": {
                        "type": "string"
                    },
                    "workload_trust_id": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "namespace",
                    "workload_trust_id"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateGroupRequest": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    }
                },
                "required": [
                    "display_name"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateKeyRequest": {
                "properties": {
                    "metadata": {
                        "additionalProperties": {
                            "type": "string"
                        },
                        "type": "object"
                    },
                    "name": {
                        "description": "Name is an optional, user-supplied label for the key (e.g. \"my-ide-key\"),\nat most 255 characters. It is stored alongside the key and surfaced back\non every read; callers that omit it see an empty name. A name may also be\nsupplied as metadata[\"name\"]; the top-level field takes precedence and the\nsame length limit applies either way. Persisted in the key's metadata\nrather than a dedicated column, but exposed as a first-class field so it\nis discoverable in the schema and validated by shape.",
                        "maxLength": 255,
                        "type": "string"
                    },
                    "ttl_seconds": {
                        "description": "TTLSeconds is the key's lifetime in seconds. Zero (or absent) means no\nexpiration.",
                        "minimum": 0,
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateKeyResponse": {
                "properties": {
                    "key": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KeyDTO"
                    },
                    "secret": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateManagedSecretRequest": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "value"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateModelSetRequest": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "model_ids": {
                        "description": "No dive tag: swag reads a trailing `required` inside one as the FIELD\nbeing required, which would make an empty set uncreatable. Each id is\nvalidated by the aggregate, which rejects blanks and over-long ones.",
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "required": [
                    "name"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateServiceAccountRequest": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    }
                },
                "required": [
                    "display_name"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateWorkloadTrustRequest": {
                "properties": {
                    "allowed_algorithms": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "audiences": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "issuer": {
                        "type": "string"
                    },
                    "key_source": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustKeySourceDTO"
                    },
                    "profile": {
                        "enum": [
                            "kubernetes_projected_token"
                        ],
                        "type": "string"
                    },
                    "status": {
                        "enum": [
                            "enabled",
                            "disabled"
                        ],
                        "type": "string"
                    }
                },
                "required": [
                    "allowed_algorithms",
                    "audiences",
                    "issuer",
                    "key_source",
                    "profile",
                    "status"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DCRConfigDTO": {
                "properties": {
                    "discovery_url": {
                        "type": "string"
                    },
                    "initial_access_token": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "registration_endpoint": {
                        "type": "string"
                    },
                    "software_id": {
                        "type": "string"
                    },
                    "software_statement": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoverConnectorIdentityProviderRequest": {
                "properties": {
                    "mcp_url": {
                        "type": "string"
                    }
                },
                "required": [
                    "mcp_url"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoveredConnectorIdentityProviderDTO": {
                "properties": {
                    "authorization_endpoint": {
                        "type": "string"
                    },
                    "authorization_server": {
                        "type": "string"
                    },
                    "dcr_supported": {
                        "type": "boolean"
                    },
                    "discovery_url": {
                        "type": "string"
                    },
                    "mcp_url": {
                        "type": "string"
                    },
                    "registration_endpoint": {
                        "type": "string"
                    },
                    "resource": {
                        "type": "string"
                    },
                    "resource_metadata_url": {
                        "type": "string"
                    },
                    "scopes_supported": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "token_endpoint": {
                        "type": "string"
                    },
                    "token_endpoint_auth_methods_supported": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "authorization_endpoint",
                    "authorization_server",
                    "dcr_supported",
                    "discovery_url",
                    "mcp_url",
                    "resource",
                    "resource_metadata_url",
                    "token_endpoint"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoveredServerDTO": {
                "properties": {
                    "allow_private_ips": {
                        "description": "AllowPrivateIPs is the value a create body should carry for this candidate: a\nRECOMMENDATION, never an enforcement. True only when the scan verified the\nendpoint is the in-cluster Service form for this server's own namespace.\n\nAlways rendered, including as false, so \"not offered\" stays distinguishable\nfrom \"no opinion\".\n\nIt does not constrain writes: the field is caller-supplied on\nConnectorWriteRequest, so an Admin can post it for any endpoint exactly as\nthey could by hand. What this constrains is only what the scan OFFERS.\n\nThe verification rule and the reasoning behind it live in\nmodels.DiscoveredServer.HasInClusterServiceEndpoint. They are deliberately\nNOT restated here: swaggo copies this comment verbatim into all three\nswagger.json copies and types.gen.ts, and httpserver/docs.go serves the spec\nunauthenticated — so anything written here is published to anonymous callers.",
                        "type": "boolean"
                    },
                    "endpoint": {
                        "description": "Endpoint is the server's in-cluster URL in its canonical normalized form —\nthe value a create body must carry verbatim.",
                        "type": "string"
                    },
                    "existing_connectors": {
                        "description": "ExistingConnectors are the Connectors on the scanned Gateway that already\nhold this endpoint. Empty means \"not yet admitted here\".\n\nA list rather than an already_added boolean: it names which Connector an\nAdmin would be editing instead of creating, and it needs no reshaping if a\nConnector ever gains parameters and two Connectors on one endpoint become\nlegitimate. Always an array, never null — see DiscoveredServerListResponse.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ExistingConnectorDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "group": {
                        "description": "Group is the MCPGroup the server belongs to, or \"\" when it is ungrouped.\nNo omitempty: ungrouped is a normal state, not an absent field, and a key\nthat appears only sometimes makes every client distinguish two cases that\nmean the same thing.",
                        "type": "string"
                    },
                    "health": {
                        "description": "Health is the server's phase as the Operator reports it, or \"Unknown\" when\nthe Operator has published none yet.\n\nIt is NOT a readiness signal, and no field here is. Whether a server is\nrunning is an Operator fact; whether this Org has finished wiring it is\norg-local and is answered by ExistingConnectors below. Presenting the\nformer as readiness would send an Admin to fix configuration that was never\nwrong.",
                        "type": "string"
                    },
                    "name": {
                        "description": "Name is the MCPServer object's name.",
                        "type": "string"
                    },
                    "namespace": {
                        "description": "Namespace is the MCPServer object's namespace. Carried alongside Name\nbecause the pair is the provenance reference an admission records, and\nbecause a cluster-wide scan can legitimately return two servers of the\nsame name in different namespaces.",
                        "type": "string"
                    },
                    "transport": {
                        "description": "Transport is the protocol a client actually speaks to the server's proxy.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoveredServerListResponse": {
                "properties": {
                    "servers": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoveredServerDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ExistingConnectorDTO": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ExternalBindingDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "namespace": {
                        "type": "string"
                    },
                    "service_account_id": {
                        "type": "string"
                    },
                    "uid": {
                        "type": "string"
                    },
                    "workload_trust_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GrantConnectorPolicyUserGroupsRequest": {
                "properties": {
                    "group_ids": {
                        "description": "`required` WITHOUT `dive,uuid`, deliberately. The tag runs in decodeAndValidate\nbefore parsePolicyGroupIDs, so `dive,uuid` would be the effective gate — and\nvalidator's `uuid` accepts only the canonical dashed lowercase form while\nuuid.Parse, which every other id on these routes goes through (including this\nresource's own DELETE path param), also takes the dashless, URN, and\nbrace-wrapped spellings. Keeping it here would silently narrow what the\nset-write accepts relative to its sibling, which is the URL-param-through-\nstruct-tags divergence .claude/rules/http-dto-validation.md warns about,\narriving from the other direction.\n\n`required` stays, and carries real weight: on a slice it is !IsNil(), so an\nomitted or null field is a 400 while `[]` passes through as the deliberate\nrevoke-all. That distinction is the difference between a malformed request and\ntotal revocation, so it is pinned by tests at the REST layer rather than left\nresting on the library's behaviour.",
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "group_ids"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GrantSourceDTO": {
                "properties": {
                    "group_id": {
                        "description": "GroupID and GroupName are ABSENT for every source but \"group\", which alone\ncarries a group. They are an omitempty pointer rather than an empty string\nso a client cannot render the zero UUID as if it named a group, and so the\nwire matches the generated `group_id?: string` instead of sending null.",
                        "type": "string"
                    },
                    "group_name": {
                        "type": "string"
                    },
                    "kind": {
                        "description": "Kind uses GrantSubjectDTO's spelling, so a client reads one vocabulary\nacross both endpoints.",
                        "enum": [
                            "default",
                            "user",
                            "group",
                            "service_account"
                        ],
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GrantSubjectDTO": {
                "properties": {
                    "display_name": {
                        "type": "string"
                    },
                    "email": {
                        "description": "Email is a user's primary email; absent for a group or a user without one.",
                        "type": "string"
                    },
                    "granted_at": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "kind": {
                        "enum": [
                            "user",
                            "group",
                            "service_account"
                        ],
                        "type": "string"
                    },
                    "source": {
                        "description": "Source is a group's provenance, as stored; absent for any other kind.\nClients own any display mapping of the raw value.",
                        "enum": [
                            "scim",
                            "api",
                            "derived"
                        ],
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "drained": {
                        "description": "Drained reports that a derived group currently has no members, which is\nwhat starts its expiry clock. Absent when the read path did not resolve\nmembership, so a client can tell \"populated\" from \"not resolved\".",
                        "type": "boolean"
                    },
                    "id": {
                        "type": "string"
                    },
                    "members": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupMemberDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "name": {
                        "type": "string"
                    },
                    "projected_deletion_at": {
                        "description": "ProjectedDeletionAt is when reconciliation will delete a drained derived\ngroup. It is accurate only while the reconciler is actually running: a\npaused or unelected leader freezes the clock, and this field cannot say so.",
                        "type": "string"
                    },
                    "source": {
                        "type": "string"
                    },
                    "source_value": {
                        "type": "string"
                    },
                    "source_variable": {
                        "type": "string"
                    },
                    "transitive_member_count": {
                        "description": "TransitiveMemberCount is the number of distinct users in the group,\ndirectly or through a nested subgroup. Inactive users (SCIM\nactive=false) are counted.",
                        "type": "integer"
                    },
                    "transitive_service_account_count": {
                        "description": "TransitiveServiceAccountCount is the number of distinct service accounts\nin the group, directly or through a nested subgroup. Deprovisioned\naccounts are not counted; suspended ones are.",
                        "type": "integer"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupMemberDTO": {
                "properties": {
                    "display": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "description": "\"User\" | \"Group\"",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupServiceAccountDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "created_by": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "direct": {
                        "description": "Direct is true when the account was added to this group itself, and false\nwhen it reaches the group only through a subgroup, so it is removed from\nthat subgroup instead. An account that is both a direct member and\ninherited through a subgroup is direct.",
                        "type": "boolean"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "status": {
                        "enum": [
                            "suspended",
                            "active",
                            "deprovisioned"
                        ],
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupToolAllowlistDTO": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "group_id": {
                        "type": "string"
                    },
                    "restriction_mode": {
                        "type": "string"
                    },
                    "tool_ids": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "version": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupToolToggleResultDTO": {
                "properties": {
                    "group_id": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "reason": {
                        "enum": [
                            "invalid_group_id",
                            "group_not_found",
                            "no_tool_restriction",
                            "conflict",
                            "internal_error"
                        ],
                        "type": "string"
                    },
                    "status": {
                        "enum": [
                            "updated",
                            "unchanged",
                            "failed"
                        ],
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.HeaderInjectionAuthDTO": {
                "properties": {
                    "header_name": {
                        "type": "string"
                    },
                    "value": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.HeaderInjectionAuthRequest": {
                "properties": {
                    "header_name": {
                        "type": "string"
                    },
                    "value": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    }
                },
                "required": [
                    "header_name"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KeyDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "created_by": {
                        "type": "string"
                    },
                    "expires_at": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "last_used_at": {
                        "type": "string"
                    },
                    "metadata": {
                        "additionalProperties": {
                            "type": "string"
                        },
                        "type": "object"
                    },
                    "name": {
                        "type": "string"
                    },
                    "owner_ref": {
                        "type": "string"
                    },
                    "prefix": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KubernetesSecretAllowlistDTO": {
                "properties": {
                    "entries": {
                        "description": "Entries is sorted by namespace, one per admitted namespace.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KubernetesSecretAllowlistEntryDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KubernetesSecretAllowlistEntryDTO": {
                "properties": {
                    "names": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "namespace": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KubernetesSecretRefDTO": {
                "properties": {
                    "key": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "namespace": {
                        "type": "string"
                    }
                },
                "required": [
                    "key",
                    "name",
                    "namespace"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ListKeysResponse": {
                "properties": {
                    "keys": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KeyDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ManagedSecretDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.MeResponse": {
                "properties": {
                    "active": {
                        "type": "boolean"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "groups": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "id": {
                        "type": "string"
                    },
                    "issuer": {
                        "type": "string"
                    },
                    "source": {
                        "type": "string"
                    },
                    "subject": {
                        "type": "string"
                    },
                    "user_name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.MembersResponse": {
                "properties": {
                    "direct_child_groups": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_groups_cursor": {
                        "type": "string"
                    },
                    "next_service_accounts_cursor": {
                        "type": "string"
                    },
                    "next_users_cursor": {
                        "type": "string"
                    },
                    "prev_groups_cursor": {
                        "type": "string"
                    },
                    "prev_service_accounts_cursor": {
                        "type": "string"
                    },
                    "prev_users_cursor": {
                        "type": "string"
                    },
                    "service_accounts": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupServiceAccountDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "transitive_users": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UserDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.MetadataResponse": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "entity_id": {
                        "type": "string"
                    },
                    "entity_kind": {
                        "type": "string"
                    },
                    "metadata": {
                        "type": "object"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelAccessExplanationDTO": {
                "properties": {
                    "sets": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetAccessEntryDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "unrestricted": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetAccessEntryDTO": {
                "properties": {
                    "kind": {
                        "type": "string"
                    },
                    "member_count": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "set_id": {
                        "type": "string"
                    },
                    "sources": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GrantSourceDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetDTO": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "kind": {
                        "description": "Kind is \"authored\" or \"baseline\". It reports PERMANENCE, not scope: the\nbaseline is the one set every User holds and the one that cannot be\nrenamed or deleted. Its membership is editable like any other set's.",
                        "enum": [
                            "authored",
                            "baseline"
                        ],
                        "type": "string"
                    },
                    "member_count": {
                        "description": "MemberCount is len(ModelIDs). It is NOT a count of models the caller may\nuse — see Unrestricted.",
                        "type": "integer"
                    },
                    "model_ids": {
                        "description": "ModelIDs are the models an admin chose, as opaque strings.",
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "name": {
                        "type": "string"
                    },
                    "unrestricted": {
                        "description": "Unrestricted means \"every model the gateway serves, including ones\nconfigured later\", whatever ModelIDs says. ANY set may have this scope,\nnot only the baseline: an authored set granted to one group widens that\ngroup while everyone else stays on the baseline.\n\nA client MUST branch on it before rendering. ModelIDs is EMPTY in this\nstate, so ignoring the flag renders \"no models\" for a set that grants all\nof them.",
                        "type": "boolean"
                    },
                    "version": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetImpactDTO": {
                "properties": {
                    "group_grants": {
                        "type": "integer"
                    },
                    "next_cursor": {
                        "description": "NextCursor is present only when a later page exists; pass it as cursor.",
                        "type": "string"
                    },
                    "prev_cursor": {
                        "description": "PrevCursor is present only when an earlier page exists; pass it as before.",
                        "type": "string"
                    },
                    "service_account_grants": {
                        "type": "integer"
                    },
                    "subjects": {
                        "description": "Subjects is one page of the grant holders, ordered by kind then\ncase-insensitive name. The counts above are totals on every page,\nwhatever the kind filter or cursor.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GrantSubjectDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "user_grants": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetRefDTO": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "kind": {
                        "enum": [
                            "authored",
                            "baseline"
                        ],
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetSummaryDTO": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "kind": {
                        "enum": [
                            "authored",
                            "baseline"
                        ],
                        "type": "string"
                    },
                    "member_count": {
                        "description": "MemberCount is the number of models an admin chose — see Unrestricted.",
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "unrestricted": {
                        "description": "Unrestricted carries the same meaning and the same obligation as\nModelSetDTO.Unrestricted: branch on it before rendering MemberCount.",
                        "type": "boolean"
                    },
                    "version": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OAuth2ConfigDTO": {
                "properties": {
                    "allow_private_ips": {
                        "description": "AllowPrivateIPs carries the same meaning as OIDCConfigDTO's, and on this\narm additionally gates a DCR provider's RFC 7591 registration POST — the\nconsumer makes that call through its own private-address guard, so\nwithout this a dynamic client cannot register against an in-cluster\nauthorization server.\n\nChanging it on a LIVE provider forces every user of that provider to\nre-authenticate: the consumer folds this field into the refresh binding\nit fingerprints an upstream by, so a toggle invalidates the stored\nrefresh bindings rather than silently reusing them against a differently\nguarded dialer. Set it when the provider is created, not as a later fix.",
                        "type": "boolean"
                    },
                    "authorization_endpoint": {
                        "type": "string"
                    },
                    "client_id": {
                        "type": "string"
                    },
                    "client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "dcr": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DCRConfigDTO"
                    },
                    "redirect_uri": {
                        "description": "Deprecated: inert, for the same reason and with the same effect as\nOIDCConfigDTO.RedirectURI.",
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "token_endpoint": {
                        "type": "string"
                    },
                    "token_endpoint_auth_method": {
                        "description": "TokenEndpointAuthMethod carries the same meaning and the same refusal as\nOIDCConfigDTO's. It is on both arms because neither can derive it:\nOIDC discovery advertises what a provider SUPPORTS, not which form this\nclient is registered for.",
                        "type": "string"
                    }
                },
                "required": [
                    "authorization_endpoint",
                    "token_endpoint"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OBOAuthDTO": {
                "properties": {
                    "audience": {
                        "type": "string"
                    },
                    "authority": {
                        "type": "string"
                    },
                    "cache_skew": {
                        "description": "CacheSkew renders the domain's *time.Duration as its Go duration string\n(e.g. \"5m\"), or is absent when unset — the OBO cache applies its own skew\nat dial time, so absence is meaningful.",
                        "type": "string"
                    },
                    "client_id": {
                        "type": "string"
                    },
                    "client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "tenant_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OBOAuthRequest": {
                "properties": {
                    "audience": {
                        "type": "string"
                    },
                    "authority": {
                        "type": "string"
                    },
                    "cache_skew": {
                        "description": "CacheSkew is an optional Go duration string (e.g. \"5m\"); the mapper parses\nit into the domain's *time.Duration. Absent means \"no override\".",
                        "type": "string"
                    },
                    "client_id": {
                        "type": "string"
                    },
                    "client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "tenant_id": {
                        "type": "string"
                    }
                },
                "required": [
                    "client_id",
                    "provider_id",
                    "tenant_id"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.OIDCConfigDTO": {
                "properties": {
                    "additional_authorization_params": {
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "AdditionalAuthorizationParams are extra query parameters some providers\nrequire on /authorize.",
                        "type": "object"
                    },
                    "allow_private_ips": {
                        "description": "AllowPrivateIPs relaxes the consumer's dial-time private-address guard,\nfor a provider reachable only inside the cluster.",
                        "type": "boolean"
                    },
                    "client_id": {
                        "type": "string"
                    },
                    "client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "dcr": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DCRConfigDTO"
                    },
                    "issuer_url": {
                        "type": "string"
                    },
                    "redirect_uri": {
                        "description": "Deprecated: inert. connector-gateway derives every Provider's upstream\ncallback as {authServerIssuer}/oauth/callback and ignores this field\n(RFC 6749 §3.1.2 — only the deployment knows the URI registered at the\nupstream). Sending it is accepted and has no effect; the value is not\nmigrated and clears on the Provider's next save, because the update\nendpoint is a full replace.",
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "subject_claim": {
                        "description": "SubjectClaim names the claim upstream identity is keyed on. Empty means\nthe consumer's default (`sub`); a provider that carries identity\nelsewhere is keyed on the wrong value without it.",
                        "type": "string"
                    },
                    "token_endpoint_auth_method": {
                        "description": "TokenEndpointAuthMethod decides the credential form the consumer sends\nto the token endpoint. Empty means unspecified (the consumer's default);\nanything other than client_secret_basic or client_secret_post is\nrefused at construction, because sending the wrong form fails at the\nupstream rather than here.",
                        "type": "string"
                    }
                },
                "required": [
                    "issuer_url"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.PatchGroupRequest": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceModelSetGrantsRequest": {
                "properties": {
                    "set_ids": {
                        "description": "Each entry is a Model Set id. Validated as `uuid`, NOT `uuid4`: the\nreserved All Models set is 00000000-0000-0000-0000-000000000001, which\ncarries no version nibble, so a version-4 check refuses the one set every\ninstall ships granted. An id that is not a UUID at all is a 400 from the\nshared validator, like every neighbouring route.",
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "set_ids"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceModelSetModelsRequest": {
                "properties": {
                    "model_ids": {
                        "description": "required without a minimum length: the field must be PRESENT, and an\nempty array is the meaningful \"empty the set\" request.",
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "unrestricted": {
                        "description": "Unrestricted sets the set to every model the gateway serves, including\nmodels configured later. Mutually exclusive with a non-empty model_ids:\nsending both is a 400 rather than a guess, because \"unrestricted, and also\nthese three\" has two defensible readings and the wider one is a silent\nprivilege grant.\n\nIt is a FLAG, not a reserved model id. The storage encoding is the\ndirectory's own and never appears on the wire in either direction — a\nmagic value in an id field is the wildcard-injection shape that turns an\nidentifier parameter into an authorization widening.\n\nAny set may be set unrestricted, not only the baseline, and the write is\nreversible in both directions.",
                        "type": "boolean"
                    }
                },
                "required": [
                    "model_ids"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceServiceAccountRequest": {
                "properties": {
                    "created_by": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "status": {
                        "enum": [
                            "suspended",
                            "active",
                            "deprovisioned"
                        ],
                        "type": "string"
                    }
                },
                "required": [
                    "display_name",
                    "status"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceWorkloadTrustRequest": {
                "properties": {
                    "allowed_algorithms": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "audiences": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "id": {
                        "type": "string"
                    },
                    "issuer": {
                        "type": "string"
                    },
                    "key_source": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustKeySourceDTO"
                    },
                    "profile": {
                        "enum": [
                            "kubernetes_projected_token"
                        ],
                        "type": "string"
                    },
                    "revision": {
                        "type": "integer"
                    },
                    "status": {
                        "enum": [
                            "enabled",
                            "disabled"
                        ],
                        "type": "string"
                    }
                },
                "required": [
                    "allowed_algorithms",
                    "audiences",
                    "issuer",
                    "key_source",
                    "profile",
                    "status"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.RoleMappingDTO": {
                "properties": {
                    "claim": {
                        "type": "string"
                    },
                    "matcher": {
                        "type": "string"
                    },
                    "priority": {
                        "type": "integer"
                    },
                    "role_arn": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.RoleMappingRequest": {
                "properties": {
                    "claim": {
                        "type": "string"
                    },
                    "matcher": {
                        "type": "string"
                    },
                    "priority": {
                        "type": "integer"
                    },
                    "role_arn": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ServiceAccountDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "created_by": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "status": {
                        "enum": [
                            "suspended",
                            "active",
                            "deprovisioned"
                        ],
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ServiceAccountGroupDTO": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "direct": {
                        "description": "Direct is true when the account was added to this group itself, and false\nwhen it belongs only through a subgroup, so it is removed from that\nsubgroup instead. An account that is both a direct member and inherited\nthrough a subgroup is direct.",
                        "type": "boolean"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "drained": {
                        "description": "Drained reports that a derived group currently has no members, which is\nwhat starts its expiry clock. Absent when the read path did not resolve\nmembership, so a client can tell \"populated\" from \"not resolved\".",
                        "type": "boolean"
                    },
                    "id": {
                        "type": "string"
                    },
                    "members": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupMemberDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "name": {
                        "type": "string"
                    },
                    "projected_deletion_at": {
                        "description": "ProjectedDeletionAt is when reconciliation will delete a drained derived\ngroup. It is accurate only while the reconciler is actually running: a\npaused or unelected leader freezes the clock, and this field cannot say so.",
                        "type": "string"
                    },
                    "source": {
                        "type": "string"
                    },
                    "source_value": {
                        "type": "string"
                    },
                    "source_variable": {
                        "type": "string"
                    },
                    "transitive_member_count": {
                        "description": "TransitiveMemberCount is the number of distinct users in the group,\ndirectly or through a nested subgroup. Inactive users (SCIM\nactive=false) are counted.",
                        "type": "integer"
                    },
                    "transitive_service_account_count": {
                        "description": "TransitiveServiceAccountCount is the number of distinct service accounts\nin the group, directly or through a nested subgroup. Deprovisioned\naccounts are not counted; suspended ones are.",
                        "type": "integer"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetConnectionEnabledRequest": {
                "properties": {
                    "enabled": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "enabled"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetConnectionToolPolicyRequest": {
                "properties": {
                    "tools_enabled_by_default": {
                        "type": "boolean"
                    },
                    "tools_exception_list": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "tools_enabled_by_default"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetConnectorPolicyDocumentRequest": {
                "properties": {
                    "document": {
                        "type": "string"
                    }
                },
                "required": [
                    "document"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetGroupToolAllowlistRequest": {
                "properties": {
                    "restriction_mode": {
                        "enum": [
                            "unrestricted",
                            "restricted"
                        ],
                        "type": "string"
                    },
                    "tool_ids": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "restriction_mode"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.TokenExchangeAuthDTO": {
                "properties": {
                    "audience": {
                        "type": "string"
                    },
                    "client_id": {
                        "type": "string"
                    },
                    "client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "external_token_header_name": {
                        "type": "string"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "subject_token_type": {
                        "type": "string"
                    },
                    "token_url": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.TokenExchangeAuthRequest": {
                "properties": {
                    "audience": {
                        "type": "string"
                    },
                    "client_id": {
                        "type": "string"
                    },
                    "client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "external_token_header_name": {
                        "type": "string"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "subject_token_type": {
                        "type": "string"
                    },
                    "token_url": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UpdateModelSetRequest": {
                "properties": {
                    "description": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UpstreamInjectAuthDTO": {
                "properties": {
                    "provider_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UpstreamInjectAuthRequest": {
                "properties": {
                    "provider_id": {
                        "type": "string"
                    }
                },
                "required": [
                    "provider_id"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UserDTO": {
                "properties": {
                    "active": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "photo_url": {
                        "type": "string"
                    },
                    "source": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "user_name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustDTO": {
                "properties": {
                    "allowed_algorithms": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "audiences": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "issuer": {
                        "type": "string"
                    },
                    "key_source": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustKeySourceDTO"
                    },
                    "profile": {
                        "enum": [
                            "kubernetes_projected_token"
                        ],
                        "type": "string"
                    },
                    "revision": {
                        "type": "integer"
                    },
                    "status": {
                        "enum": [
                            "enabled",
                            "disabled"
                        ],
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustKeySourceDTO": {
                "properties": {
                    "jwks_document": {
                        "type": "string"
                    },
                    "jwks_url": {
                        "type": "string"
                    },
                    "type": {
                        "enum": [
                            "jwks_url",
                            "jwks_document",
                            "in_cluster"
                        ],
                        "type": "string"
                    }
                },
                "required": [
                    "type"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.XAAAuthDTO": {
                "properties": {
                    "idp_client_id": {
                        "type": "string"
                    },
                    "idp_client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "idp_token_url": {
                        "type": "string"
                    },
                    "insecure_target_token_url": {
                        "type": "boolean"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "subject_token_type": {
                        "type": "string"
                    },
                    "target_audience": {
                        "type": "string"
                    },
                    "target_client_id": {
                        "type": "string"
                    },
                    "target_client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "target_resource": {
                        "type": "string"
                    },
                    "target_token_url": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.XAAAuthRequest": {
                "properties": {
                    "idp_client_id": {
                        "type": "string"
                    },
                    "idp_client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "idp_token_url": {
                        "type": "string"
                    },
                    "insecure_target_token_url": {
                        "type": "boolean"
                    },
                    "provider_id": {
                        "type": "string"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "subject_token_type": {
                        "type": "string"
                    },
                    "target_audience": {
                        "type": "string"
                    },
                    "target_client_id": {
                        "type": "string"
                    },
                    "target_client_secret": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ClientSecretRefDTO"
                    },
                    "target_resource": {
                        "type": "string"
                    },
                    "target_token_url": {
                        "type": "string"
                    }
                },
                "required": [
                    "provider_id"
                ],
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ConnectorUsageResponse": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "connector_name": {
                        "type": "string"
                    },
                    "group_series": {
                        "description": "GroupSeries is built from the call-time group snapshot on each\nrecorded call.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.GroupUsageSeriesDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "tool_call_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.DimensionCountDTO": {
                "properties": {
                    "key": {
                        "type": "string"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ExportToolCallUsageResponse": {
                "properties": {
                    "checkpoints": {
                        "description": "Checkpoints carries the signed hash-chain checkpoints (D12) covering\nthe sequence positions spanned by Records.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.IntegrityCheckpointDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "description": "NextCursor pages forward; empty on the last page.",
                        "type": "string"
                    },
                    "records": {
                        "description": "Records is one page, oldest first.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ExportedToolCallUsageDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ExportedToolCallUsageDTO": {
                "properties": {
                    "chain_id": {
                        "description": "ChainID identifies the hash chain this record belongs to. Chains are\nper RFC Appendix G's per-stream chaining, and a stream is exactly one\ngateway_id — not one (gateway_id, environment) pair (see the metering\nmodule's migration 000003: \"Stream = gateway_id ... environment is a\nfield the hash covers, not a chain split\"). Every record ExportQuery\nreturns shares the same ChainID, since gateway_id is a required\nexport filter: this field identifies the chain for an external\nverifier's own bookkeeping, not something a response ever needs to\ngroup multiple values of.\n\nBecause a chain spans every environment of one gateway, an export\nfiltered by environment returns a subsequence of that one chain, and\nSequence gaps between the returned records are then EXPECTED — they\nare the omitted other-environment records, not a deletion signal.\nGrouping by ChainID cannot distinguish the two cases, because there\nis only one ChainID to group by. Gap-based deletion detection (D12)\nis meaningful only on an export with no environment filter; pull the\nunfiltered export (and filter client-side) when that property\nmatters. See ExportToolCallUsageResponse's doc for the corresponding\nordering guarantee.",
                        "type": "string"
                    },
                    "id": {
                        "description": "ID is the metering store's record id.",
                        "type": "string"
                    },
                    "prev_hash": {
                        "description": "PrevHash is empty for a chain's first record.",
                        "type": "string"
                    },
                    "record_hash": {
                        "type": "string"
                    },
                    "sequence": {
                        "description": "Sequence is this record's position within ChainID's hash chain.",
                        "type": "integer"
                    },
                    "usage": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ToolCallUsageDTO"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.GroupRefDTO": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.GroupUsageSeriesDTO": {
                "properties": {
                    "group": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.GroupRefDTO"
                    },
                    "points": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TimeSeriesPointDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.IntegrityCheckpointDTO": {
                "properties": {
                    "chain_hash": {
                        "type": "string"
                    },
                    "chain_id": {
                        "description": "ChainID is the hash chain (see ExportedToolCallUsageDTO.ChainID) this\ncheckpoint covers.",
                        "type": "string"
                    },
                    "hash_alg": {
                        "description": "HashAlg names the algorithm ChainHash (and each record's RecordHash in\nthis checkpoint's span) was computed with, e.g. \"SHA-256\"\n(models.HashAlgorithm, the only value emitted today). Carried\nexplicitly, rather than assumed fixed, so the hash can move without a\ncontract break.",
                        "type": "string"
                    },
                    "key_id": {
                        "description": "KeyID identifies which key signed this checkpoint, so a verifier can\nlook up the right public key after rotation. SignedAt alone cannot\nserve this purpose: it is checkpoint metadata, not a trust anchor, and\nkey-validity windows do not necessarily align with it.",
                        "type": "string"
                    },
                    "sequence": {
                        "description": "Sequence is the chain position this checkpoint covers up to\n(inclusive).",
                        "type": "integer"
                    },
                    "sig_alg": {
                        "description": "SigAlg names the signature algorithm, e.g. \"ES256\" (the JWA name for\nECDSA P-256/SHA-256, the only signer the metering module has today —\nsee internal/platform/signing.ES256Signer). Carried explicitly for the\nsame reason as HashAlg: so a second signing scheme would not be a\ncontract break.",
                        "type": "string"
                    },
                    "signature": {
                        "type": "string"
                    },
                    "signed_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ListCallsResponse": {
                "properties": {
                    "next_cursor": {
                        "description": "NextCursor pages forward (older); empty on the last page.",
                        "type": "string"
                    },
                    "prev_cursor": {
                        "description": "PrevCursor pages backward (newer); empty on the first page. Pass it as\nthe `before` query param, never as `cursor` — the two are mutually\nexclusive.",
                        "type": "string"
                    },
                    "records": {
                        "description": "Records is one page, newest first by occurred_at.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ToolCallUsageDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TimeSeriesPointDTO": {
                "properties": {
                    "bucket_start": {
                        "type": "string"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ToolCallUsageDTO": {
                "properties": {
                    "billable": {
                        "type": "boolean"
                    },
                    "billable_reason": {
                        "type": "string"
                    },
                    "call_id": {
                        "description": "CallID correlates every attempt at one logical tool call (the original\ninvocation and any retry of it); empty when the call is not a retry.",
                        "type": "string"
                    },
                    "category": {
                        "description": "Category is one of: invocation, allowed, denied, customer_retry,\ninternal, health_check, admin, platform_retry, not_evaluated, support\n(Appendix E's `category` column values). The canonical mapping from\nthe ToolCallUsage proto enum to these wire strings is a #2344\nconcern: the domain model owns the Decision/Outcome/Category value\nobjects (their real business meaning and any invariants), and the\napp-layer mapper (contracts \u003c-\u003e domain/models, per\nenterprise-modulith-modules.md) is what converts a domain value to\nthis DTO's wire string on export — not this transport package,\nwhich only declares the shape.",
                        "type": "string"
                    },
                    "connector_id": {
                        "type": "string"
                    },
                    "connector_name": {
                        "type": "string"
                    },
                    "decision": {
                        "description": "Decision is \"allowed\" or \"denied\", or \"unspecified\" for a record whose\nCategory has no decision (health_check, internal, admin, not_evaluated;\nalso the fallback for the proto's DECISION_UNSPECIFIED). Not omitempty:\n\"unspecified\" is always written explicitly rather than left absent, so\na decision breakdown (DimensionCountDTO.Key) always has a defined key.",
                        "type": "string"
                    },
                    "definition_version": {
                        "type": "string"
                    },
                    "environment": {
                        "type": "string"
                    },
                    "gateway_id": {
                        "type": "string"
                    },
                    "groups": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.GroupRefDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "occurred_at": {
                        "type": "string"
                    },
                    "original_tool_name": {
                        "description": "OriginalToolName is the tool's raw backend-local name, empty when no\nreversal was available (no reverser wired at capture time, a reverser\nmiss, or a record predating this field) — the client falls back to\nToolName in that case.",
                        "type": "string"
                    },
                    "outcome": {
                        "description": "Outcome is \"ok\" or \"error\", or \"unspecified\" for a record whose\nCategory has no outcome (same set as Decision above; also the fallback\nfor the proto's OUTCOME_UNSPECIFIED). Not omitempty, for the same\nreason as Decision.",
                        "type": "string"
                    },
                    "tool_name": {
                        "type": "string"
                    },
                    "user_email": {
                        "description": "UserEmail is the display email resolved from UserID\n(enterprise/toolhive-enterprise/docs/design/metering.md),\nempty when unresolved (no resolver wired, or an authoritative miss)\n— the caller renders UserID's raw UUID in that case. Distinct from\nUserID: this is a read-time enrichment, never a stored field.",
                        "type": "string"
                    },
                    "user_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopConnectorDTO": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "connector_name": {
                        "type": "string"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopConnectorsResponse": {
                "properties": {
                    "connectors": {
                        "description": "Connectors is ordered by ToolCallCount descending.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopConnectorDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopToolDTO": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "connector_name": {
                        "type": "string"
                    },
                    "original_tool_name": {
                        "description": "OriginalToolName is the tool's raw backend-local name, empty when no\nreversal was available (no reverser wired at capture time, a reverser\nmiss, or a row predating this field) — the client falls back to\nToolName in that case.",
                        "type": "string"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    },
                    "tool_name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopToolsResponse": {
                "properties": {
                    "tools": {
                        "description": "Tools is ordered by ToolCallCount descending.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopToolDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UsageSummaryResponse": {
                "properties": {
                    "active_user_count": {
                        "type": "integer"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UsageTimeBucketDTO": {
                "properties": {
                    "breakdown": {
                        "description": "Breakdown is grouped by UsageTimeSeriesResponse.Dimension; omitted\nwhen no dimension was requested.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.DimensionCountDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "bucket_start": {
                        "type": "string"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UsageTimeSeriesResponse": {
                "properties": {
                    "bucket_width_seconds": {
                        "description": "BucketWidthSeconds is uniform across Buckets; a bucket's ToolCallCount\nand Breakdown cover exactly this many seconds starting at BucketStart,\nso a single bucket is interpretable without the rest of the series.",
                        "type": "integer"
                    },
                    "buckets": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UsageTimeBucketDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "dimension": {
                        "description": "Dimension is the breakdown grouping applied to each bucket's\nBreakdown, or empty when no breakdown was requested. One of:\nenvironment, tool, decision, connector.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UserConnectorUsageDTO": {
                "properties": {
                    "connector_id": {
                        "type": "string"
                    },
                    "connector_name": {
                        "type": "string"
                    },
                    "last_activity": {
                        "type": "string"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    },
                    "tools": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UserToolUsageDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UserToolUsageDTO": {
                "properties": {
                    "last_activity": {
                        "type": "string"
                    },
                    "tool_call_count": {
                        "type": "integer"
                    },
                    "tool_name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UserUsageResponse": {
                "properties": {
                    "connectors": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UserConnectorUsageDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "last_activity": {
                        "description": "LastActivity is nil when the user made no call in the range.",
                        "type": "string"
                    },
                    "series": {
                        "description": "Series is zero-filled across the range so the chart axis stays\ncontinuous.",
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TimeSeriesPointDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "tool_call_count": {
                        "type": "integer"
                    },
                    "user_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_platformsettings_v1.ConnectivityDTO": {
                "description": "Gateway connectivity state (Connected or Disconnected).",
                "properties": {
                    "state": {
                        "description": "State is \"connected\" or \"disconnected\".",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_platformsettings_v1.PlatformSettingsDTO": {
                "description": "The whole Platform settings picture: every known gateway's current connectivity state.",
                "properties": {
                    "gateways": {
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Gateways maps each known gateway key (\"ai-gateway\", \"connector-gateway\")\nto its current connectivity state (\"connected\"/\"disconnected\").",
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.CACertConfig": {
                "description": "Custom CA certificate configuration (PEM inline or by URL).",
                "properties": {
                    "pem": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.DegradedModeConfig": {
                "description": "Governs client behaviour when the config server is unreachable.",
                "properties": {
                    "grace_period": {
                        "description": "GracePeriod is the duration before the policy takes effect.\nExpressed as a Go duration string, e.g. \"24h\", \"30m\".",
                        "type": "string"
                    },
                    "message": {
                        "description": "Message is an optional human-readable message shown to the user during degraded mode.",
                        "type": "string"
                    },
                    "policy": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.DegradedModePolicy"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.DegradedModePolicy": {
                "description": "Policy determines the behaviour when the server is unreachable.\nOne of \"warn\" or \"block_new\".",
                "enum": [
                    "warn",
                    "block_new"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "DegradedModePolicyWarn",
                    "DegradedModePolicyBlockNew"
                ]
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-bool": {
                "description": "Assistant controls whether the cloud UI shows the built-in AI assistant.\nWhen enforced with value false, clients must hide the Assistant.",
                "properties": {
                    "enforcement": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Enforcement"
                    },
                    "value": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_CACertConfig": {
                "properties": {
                    "enforcement": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Enforcement"
                    },
                    "value": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.CACertConfig"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_GatewayConfig": {
                "description": "Gateway carries the LLM Gateway URLs (see GatewayConfig). When the\ndirective is present and api_url is set, the cloud-UI enables the\nbudget management UI.",
                "properties": {
                    "enforcement": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Enforcement"
                    },
                    "value": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.GatewayConfig"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_RegistryConfig": {
                "properties": {
                    "enforcement": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Enforcement"
                    },
                    "value": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.RegistryConfig"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_TelemetryConfig": {
                "properties": {
                    "enforcement": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Enforcement"
                    },
                    "value": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.TelemetryConfig"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Enforcement": {
                "description": "Controls whether a configuration directive is mandatory or advisory.",
                "enum": [
                    "enforced",
                    "default"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EnforcementEnforced",
                    "EnforcementDefault"
                ]
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.EnterpriseConfig": {
                "description": "Full enterprise-governed configuration payload.",
                "properties": {
                    "assistant": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-bool"
                    },
                    "build_env": {
                        "type": "object"
                    },
                    "ca_certificate": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_CACertConfig"
                    },
                    "degraded_mode": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.DegradedModeConfig"
                    },
                    "gateway": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_GatewayConfig"
                    },
                    "help_menu": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-bool"
                    },
                    "non_registry_servers": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-bool"
                    },
                    "playground": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-bool"
                    },
                    "registry": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_RegistryConfig"
                    },
                    "telemetry": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.Directive-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config_TelemetryConfig"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.GatewayConfig": {
                "description": "LLM Gateway connection settings (management API + user-facing proxy).",
                "properties": {
                    "api_url": {
                        "description": "APIURL is the server-to-server management API base URL used by cloud-UI\nfor budget management, model catalog, etc.",
                        "type": "string"
                    },
                    "proxy_url": {
                        "description": "ProxyURL is the user-facing LLM proxy endpoint surfaced in the cloud-UI\n\"My Usage\" page (banner + `thv llm setup --gateway-url`).",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.RegistryConfig": {
                "description": "Enterprise registry connection settings.",
                "properties": {
                    "allow_private_ip": {
                        "type": "boolean"
                    },
                    "api_url": {
                        "description": "APIURL is the registry API endpoint for ToolHive clients (thv\nCLI/desktop) — typically scoped to a single registry\n(e.g. `https://registry.example.com/registry/toolhive`).",
                        "type": "string"
                    },
                    "server_api_url": {
                        "description": "ServerAPIURL is the registry-server API root used by the cloud-UI\nweb console (root-relative `/v1` and `/registry/{name}/v0.1` paths).",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.TelemetryConfig": {
                "description": "Enterprise OpenTelemetry settings.",
                "properties": {
                    "headers": {
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Headers carries non-sensitive headers only (e.g. tenant ID, environment).\nDo not include API keys, tokens, or other credentials.",
                        "type": "object"
                    },
                    "insecure": {
                        "type": "boolean"
                    },
                    "metrics_enabled": {
                        "type": "boolean"
                    },
                    "otel_endpoint": {
                        "type": "string"
                    },
                    "sampling_rate": {
                        "type": "number"
                    },
                    "tracing_enabled": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "internal_config-server_httpserver.configResponse": {
                "description": "Signed configuration envelope.",
                "properties": {
                    "config": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.EnterpriseConfig"
                    },
                    "degraded_mode": {
                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_internal_config-server_config.DegradedModeConfig"
                    },
                    "etag": {
                        "example": "sha256:abc123",
                        "type": "string"
                    },
                    "issued_at": {
                        "type": "string"
                    },
                    "not_after": {
                        "type": "string"
                    },
                    "refresh_interval": {
                        "example": "5m0s",
                        "type": "string"
                    },
                    "schema_version": {
                        "example": "1",
                        "type": "string"
                    },
                    "signature": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_config-server_httpserver.oauthProtectedResourceMetadata": {
                "properties": {
                    "authorization_servers": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "bearer_methods_supported": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "jwks_uri": {
                        "type": "string"
                    },
                    "resource": {
                        "type": "string"
                    },
                    "scopes_supported": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "internal_config-server_httpserver.toolhiveConfigurationMetadata": {
                "properties": {
                    "client_id": {
                        "description": "ClientID is the OIDC client ID of the public (PKCE, no secret) application\nregistered by the administrator for CLI and desktop clients. This is safe to\nadvertise because public clients carry no secret.\nOmitted when not configured; clients must then obtain the client ID by other means.",
                        "type": "string"
                    },
                    "config_endpoint": {
                        "description": "ConfigEndpoint is the absolute URL clients use to fetch their enterprise config.",
                        "type": "string"
                    },
                    "issuer": {
                        "description": "Issuer is the OIDC issuer URI. Clients use this to fetch the OIDC discovery\ndocument and initiate the auth flow. Omitted when OIDC is not configured.",
                        "type": "string"
                    },
                    "jwks_uri": {
                        "description": "JWKSURI is the absolute URL of the public key set used to verify signed envelopes.",
                        "type": "string"
                    },
                    "oauth_protected_resource": {
                        "description": "OAuthProtectedResource is the absolute URL of the RFC 9728 protected-resource\nmetadata endpoint. Clients follow this link to discover the authorization server\nand required scopes. Omitted when the server's resource URL is not configured.",
                        "type": "string"
                    },
                    "scopes_supported": {
                        "description": "ScopesSupported lists the OAuth scopes required to call the config endpoint.\nClients include these when requesting a token from the authorization server.\nOmitted when no specific scope is required.",
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectionDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectorDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectorIdentityProviderDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorIdentityProviderDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ExternalBindingDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ExternalBindingDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_GroupDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ManagedSecretDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ManagedSecretDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetRefDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetRefDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetSummaryDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetSummaryDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ServiceAccountDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ServiceAccountDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ServiceAccountGroupDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ServiceAccountGroupDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_UserDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UserDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_WorkloadTrustDTO": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustDTO"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "prev_cursor": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "BearerAuth": {
                "description": "Bearer token from OIDC provider",
                "in": "header",
                "name": "Authorization",
                "type": "apiKey"
            }
        }
    },
    "info": {
        "description": "Stacklok Enterprise Manager — unified admin API for configuration delivery, directory, and budget management.",
        "title": "Enterprise Manager API",
        "version": "0.1.0"
    },
    "externalDocs": {
        "description": "",
        "url": ""
    },
    "paths": {
        "/.well-known/jwks.json": {
            "get": {
                "description": "Returns the JSON Web Key Set for verifying signed config envelopes.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        },
                        "description": "JSON Web Key Set"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "additionalProperties": {
                                        "type": "string"
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "description": "signing not configured"
                    }
                },
                "summary": "Get JWKS",
                "tags": [
                    "security"
                ]
            }
        },
        "/.well-known/oauth-protected-resource": {
            "get": {
                "description": "Returns RFC 9728 metadata describing this protected resource.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_config-server_httpserver.oauthProtectedResourceMetadata"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "description": "resource URL not configured"
                    }
                },
                "summary": "OAuth protected resource metadata",
                "tags": [
                    "discovery"
                ]
            }
        },
        "/.well-known/toolhive-configuration": {
            "get": {
                "description": "Returns a discovery document for ToolHive client bootstrap.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_config-server_httpserver.toolhiveConfigurationMetadata"
                                }
                            }
                        },
                        "description": "OK"
                    }
                },
                "summary": "ToolHive configuration discovery",
                "tags": [
                    "discovery"
                ]
            }
        },
        "/api/v1/platform-settings": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_platformsettings_v1.PlatformSettingsDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get the whole Platform settings",
                "tags": [
                    "platform-settings"
                ]
            }
        },
        "/api/v1/platform-settings/gateways/{gateway}/connectivity": {
            "get": {
                "parameters": [
                    {
                        "description": "Gateway key",
                        "in": "path",
                        "name": "gateway",
                        "required": true,
                        "schema": {
                            "enum": [
                                "ai-gateway",
                                "connector-gateway"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_platformsettings_v1.ConnectivityDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get gateway connectivity state",
                "tags": [
                    "platform-settings"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Gateway key",
                        "in": "path",
                        "name": "gateway",
                        "required": true,
                        "schema": {
                            "enum": [
                                "ai-gateway",
                                "connector-gateway"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_platformsettings_v1.ConnectivityDTO",
                                        "summary": "body",
                                        "description": "Desired state"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Desired state",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_platformsettings_v1.ConnectivityDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Set gateway connectivity state",
                "tags": [
                    "platform-settings"
                ]
            }
        },
        "/api/v1beta/config": {
            "get": {
                "description": "Returns the signed enterprise configuration envelope for the calling client.",
                "parameters": [
                    {
                        "description": "Client type",
                        "in": "header",
                        "name": "X-Client-Type",
                        "required": true,
                        "schema": {
                            "enum": [
                                "toolhive-desktop",
                                "toolhive-cli",
                                "toolhive-cloud-ui"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Client version (semver, e.g. 1.2.3)",
                        "in": "header",
                        "name": "X-Client-Version",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag for conditional GET (RFC 7232)",
                        "in": "header",
                        "name": "If-None-Match",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_config-server_httpserver.configResponse"
                                }
                            }
                        },
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "description": "Strong ETag of the config payload",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Config unchanged (ETag match)"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "additionalProperties": {
                                        "type": "string"
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "description": "Invalid or missing required header"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "additionalProperties": {
                                        "type": "string"
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "description": "Signing not configured"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get enterprise configuration",
                "tags": [
                    "config"
                ]
            }
        },
        "/healthz": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "additionalProperties": {
                                        "type": "string"
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "description": "OK"
                    }
                },
                "summary": "Health check",
                "tags": [
                    "health"
                ]
            }
        },
        "/readyz": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "additionalProperties": {
                                        "type": "string"
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "additionalProperties": {
                                        "type": "string"
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "description": "Service Unavailable"
                    }
                },
                "summary": "Readiness check",
                "tags": [
                    "health"
                ]
            }
        },
        "/v1/budgets": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetBudgetsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get budgets",
                "tags": [
                    "budgets"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets",
                        "in": "header",
                        "name": "If-Match",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SetBudgetsRequest",
                                        "summary": "body",
                                        "description": "Complete budget collection"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Complete budget collection",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Budgets applied"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Set budgets",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/breakdown": {
            "get": {
                "description": "One budget's current-period spend broken down by user, model, and provider. The period window is computed server-side (current period only). Each dimension's entries sum to total_used_usd.",
                "parameters": [
                    {
                        "description": "Principal tier",
                        "in": "query",
                        "name": "scope",
                        "required": true,
                        "schema": {
                            "enum": [
                                "user",
                                "group",
                                "service_account"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Budget subject id (directory platform user UUID for user budgets, directory group UUID for group budgets, directory service account UUID for service-account budgets)",
                        "in": "query",
                        "name": "subject_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.BreakdownResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Budget consumption breakdown",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/charges": {
            "get": {
                "parameters": [
                    {
                        "description": "Inclusive event_time lower bound, RFC 3339",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Exclusive event_time upper bound, RFC 3339",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Served model of the underlying event, exact match",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Payer tier charged",
                        "in": "query",
                        "name": "scope",
                        "schema": {
                            "enum": [
                                "user",
                                "group",
                                "service_account"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Payer charged, exact match",
                        "in": "query",
                        "name": "subject_id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 10000, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListChargesResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List charges",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/default": {
            "delete": {
                "responses": {
                    "204": {
                        "description": "Default user budget cleared"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete default user budget",
                "tags": [
                    "budgets"
                ]
            },
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetDefaultUserBudgetResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get default user budget",
                "tags": [
                    "budgets"
                ]
            },
            "put": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutDefaultUserBudgetRequest",
                                        "summary": "body",
                                        "description": "Default user budget specification"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Default user budget specification",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Default user budget applied"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Put default user budget",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/events": {
            "get": {
                "parameters": [
                    {
                        "description": "Inclusive event_time lower bound, RFC 3339",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Exclusive event_time upper bound, RFC 3339",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Served model, exact match",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Verified OIDC subject, exact match",
                        "in": "query",
                        "name": "auth_subject",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Interaction outcome",
                        "in": "query",
                        "name": "outcome",
                        "schema": {
                            "enum": [
                                "delivered",
                                "blocked_downstream",
                                "client_disconnect",
                                "upstream_error"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 10000, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListEventsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List usage events",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/groups/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets",
                        "in": "header",
                        "name": "If-Match",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Group subject_id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Group budget removed"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete group budget",
                "tags": [
                    "budgets"
                ]
            },
            "get": {
                "description": "A group budget's current-period spend sliced by one dimension. dimension selects the slice axis; entries sum to total_used_usd.",
                "parameters": [
                    {
                        "description": "Group subject_id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Slice axis",
                        "in": "query",
                        "name": "dimension",
                        "required": true,
                        "schema": {
                            "enum": [
                                "user",
                                "model"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.DimensionSliceResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Group budget breakdown slice",
                "tags": [
                    "budgets"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets",
                        "in": "header",
                        "name": "If-Match",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Group subject_id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutGroupBudgetRequest",
                                        "summary": "body",
                                        "description": "Group budget specification"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Group budget specification",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Group budget applied"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Put group budget",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/pricing": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetPricingResponse"
                                }
                            }
                        },
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "description": "Validator identifying the pricing catalog version that was read",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get active pricing catalog",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/pricing/entries/{provider}/{model}": {
            "delete": {
                "description": "Withdraw one (provider, model) rate. The entry is kept as an unpriced tombstone rather than removed, so\na later baseline refresh cannot resurrect the rate; the next request for that model is denied at\nadmission as unpriceable. Use POST .../revert to hand the rate back to the shipped baseline. This\nrepublishes the ENTIRE merged catalog as a new operator-dated version, but every other rate keeps its\nownership and a later release's baseline refresh still reaches the ones nobody pinned.",
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets/pricing or the per-entry GET",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Literal provider as stored",
                        "in": "path",
                        "name": "provider",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Model name (may contain '/')",
                        "in": "path",
                        "name": "model",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Pricing catalog entry removed"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete pricing catalog entry",
                "tags": [
                    "budgets"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Literal provider as stored",
                        "in": "path",
                        "name": "provider",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Model name (may contain '/')",
                        "in": "path",
                        "name": "model",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetPricingEntryResponse"
                                }
                            }
                        },
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "description": "Catalog version this entry was read from; send it as If-Match on a write",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get pricing catalog entry",
                "tags": [
                    "budgets"
                ]
            },
            "put": {
                "description": "Upsert one (provider, model) rate row. The body must carry exactly one of anthropic / openai / google.\nThis republishes the ENTIRE merged catalog as a new operator-dated version, but only the entry it\nwrites becomes operator-managed: every other rate keeps its ownership and a later release's baseline\nrefresh still reaches the ones nobody pinned. Use POST .../revert to hand this rate back.",
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets/pricing or the per-entry GET",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Literal provider to store under",
                        "in": "path",
                        "name": "provider",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Model name (may contain '/')",
                        "in": "path",
                        "name": "model",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutPricingEntryRequest",
                                        "summary": "body",
                                        "description": "Rate block for this entry"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Rate block for this entry",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Pricing catalog entry upserted"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Put pricing catalog entry",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/pricing/entries/{provider}/{model}/revert": {
            "post": {
                "description": "Hand one (provider, model) rate back to the built-in pricing baseline: the baseline's current rates are\nwritten into the entry, ownership is recorded as the baseline's, and any tombstone is cleared. This is\nthe remedy for a rate pinned by mistake — a pinned rate is otherwise immune to baseline refreshes.\nRefused 409 when the shipped baseline does not price the pair, since there is no rate to restore.",
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets/pricing or the per-entry GET",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Literal provider as stored",
                        "in": "path",
                        "name": "provider",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Model name (may contain '/')",
                        "in": "path",
                        "name": "model",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Pricing catalog entry reverted to the shipped baseline"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Revert pricing catalog entry to the shipped baseline",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/pricing/versions": {
            "get": {
                "description": "List the published pricing catalog versions, newest first, with provenance only (no rate tables).\nAddress one of them by its effective_from on GET /v1/budgets/pricing/versions/{effectiveFrom}.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListPricingVersionsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List pricing catalog versions",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/pricing/versions/{effectiveFrom}": {
            "delete": {
                "description": "Remove a pricing catalog version staged to take effect later, addressed by its exact effective_from.\nClears the 409 a staged version causes on every pricing write. A version that has already taken\neffect cannot be removed and returns 409.",
                "parameters": [
                    {
                        "description": "Staged version's effective_from, RFC 3339",
                        "in": "path",
                        "name": "effectiveFrom",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Staged pricing catalog version removed"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete staged pricing catalog version",
                "tags": [
                    "budgets"
                ]
            },
            "get": {
                "description": "Return the pricing catalog version occupying exactly the given effective_from — active, historical, or\nstaged. Same body shape as GET /v1/budgets/pricing so two versions can be diffed through one decoder.",
                "parameters": [
                    {
                        "description": "Version's effective_from, RFC 3339",
                        "in": "path",
                        "name": "effectiveFrom",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.GetPricingResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get one pricing catalog version",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/service-accounts/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets",
                        "in": "header",
                        "name": "If-Match",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Directory service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Service account budget removed"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete service account budget",
                "tags": [
                    "budgets"
                ]
            },
            "get": {
                "description": "A service account's current-period spend on its own allowance, sliced by one dimension. Entries sum to total_used_usd.",
                "parameters": [
                    {
                        "description": "Directory service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Slice axis",
                        "in": "query",
                        "name": "dimension",
                        "required": true,
                        "schema": {
                            "enum": [
                                "model"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.DimensionSliceResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Service account budget breakdown slice",
                "tags": [
                    "budgets"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets",
                        "in": "header",
                        "name": "If-Match",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Directory service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutServiceAccountBudgetRequest",
                                        "summary": "body",
                                        "description": "Service account budget specification"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Service account budget specification",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Service account budget applied"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Put service account budget",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/spend": {
            "get": {
                "description": "Zero-filled daily USD totals over the served window, including the current (in-progress) UTC day. from/to echo the bounds actually served after clamping (to at the end of the current UTC day, from at the retention horizon).",
                "parameters": [
                    {
                        "description": "Bucket granularity",
                        "in": "query",
                        "name": "granularity",
                        "schema": {
                            "enum": [
                                "day"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, ISO date (default 30 days back, including today)",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end (exclusive), ISO date",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Served model of the underlying event, exact match",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Payer tier charged",
                        "in": "query",
                        "name": "scope",
                        "schema": {
                            "enum": [
                                "user",
                                "group",
                                "service_account"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Payer charged, exact match",
                        "in": "query",
                        "name": "subject_id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SpendSeriesResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Daily spend series",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/spend/export": {
            "get": {
                "description": "A grouped, bucketed rollup of charge records as CSV, sorted bucket ascending then charged_usd descending then group key(s) ascending. A single model or provider dimension renders a fixed \"group_key\" column; any other grouping renders one named column per dimension, in the order given. The principal dimension renders three adjacent columns, principal_id (the caller's UUID, empty when unresolved), principal_kind (user or service_account) and auth_subject, and groups on all three. The served window (after default/retention clamping) is echoed in the X-Spend-Export-From/To response headers. Experiment-gated; 404s when the operator has not enabled it.",
                "parameters": [
                    {
                        "description": "Comma-separated grouping dimensions, e.g. principal,model. Each must be one of principal, model, provider, with no repeats. Defaults to principal. user is deprecated in favour of principal and renders identically.",
                        "in": "query",
                        "name": "group_by",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Bucket width",
                        "in": "query",
                        "name": "granularity",
                        "schema": {
                            "enum": [
                                "day",
                                "week",
                                "month"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 or YYYY-MM-DD (default 30 days back, including today)",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end (exclusive), RFC 3339 or YYYY-MM-DD",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter: served model of the underlying event, exact match. Narrows which charges are included; does not change the grouping — use group_by for that",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter: payer tier charged",
                        "in": "query",
                        "name": "scope",
                        "schema": {
                            "enum": [
                                "user",
                                "group",
                                "service_account"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter: payer charged, exact match",
                        "in": "query",
                        "name": "subject_id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "CSV: bucket,group_key,charge_count,charged_usd for one model or provider dimension; bucket,`\u003cdim1\u003e`,`\u003cdim2\u003e`,...,charge_count,charged_usd otherwise, with principal rendered as principal_id,principal_kind,auth_subject (bucket,principal_id,principal_kind,auth_subject,charge_count,charged_usd for principal alone)"
                    },
                    "400": {
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Spend export (CSV)",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/spend/export/by-label": {
            "get": {
                "description": "The spend export broken down by conversation label, as CSV, sorted bucket ascending then charged_usd descending then group key(s) ascending. Columns are bucket, one per group_by dimension in the order given (principal as three adjacent columns principal_id, principal_kind and auth_subject, grouped on all three; principal_id is the caller's UUID, empty when unresolved, and principal_kind is user or service_account), then facet and label, then charge_count and charged_usd. Rows do NOT partition total spend: a session carries one label per facet, so summing either measure across more than one facet multiplies it by the facet count, charge_count exactly as much as charged_usd — pass facet to narrow the export to one. Under a facet filter every row carries that facet, coverage rows included, so pivoting on it is safe. Charges with no label are still counted, under a label naming why: (no-session), (uncaptured), (unclassified) or (unset). The served window (after default/retention clamping) is echoed in the X-Spend-Export-From/To response headers. Experiment-gated; 404s when the operator has not enabled it.",
                "parameters": [
                    {
                        "description": "Comma-separated grouping dimensions, e.g. principal,model. Each must be one of principal, model, provider, with no repeats. Defaults to principal. user is deprecated in favour of principal and renders identically. The facet and label columns are always present in addition to these",
                        "in": "query",
                        "name": "group_by",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Bucket width",
                        "in": "query",
                        "name": "granularity",
                        "schema": {
                            "enum": [
                                "day",
                                "week",
                                "month"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 or YYYY-MM-DD (default 30 days back, including today)",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end (exclusive), RFC 3339 or YYYY-MM-DD",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter: restrict the label column to this facet's labels, exact match. The facet vocabulary is operator configuration, so an unknown value yields an empty result rather than an error. Sessions classified without a label for this facet are still counted, under (unset)",
                        "in": "query",
                        "name": "facet",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter: served model of the underlying event, exact match",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter: payer tier charged",
                        "in": "query",
                        "name": "scope",
                        "schema": {
                            "enum": [
                                "user",
                                "group",
                                "service_account"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter: payer charged, exact match",
                        "in": "query",
                        "name": "subject_id",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "CSV: bucket,`\u003cdim1\u003e`,...,facet,label,charge_count,charged_usd, with principal rendered as principal_id,principal_kind,auth_subject"
                    },
                    "400": {
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Spend export by conversation label (CSV)",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/summary": {
            "get": {
                "parameters": [
                    {
                        "description": "Principal tier filter",
                        "in": "query",
                        "name": "scope",
                        "schema": {
                            "enum": [
                                "user",
                                "group",
                                "service_account"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Subject id prefix match",
                        "in": "query",
                        "name": "subject",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Instant the period windows are computed against, RFC 3339 (default now)",
                        "in": "query",
                        "name": "at",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 200, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SummaryResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Budget cells summary",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/budgets/users/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets",
                        "in": "header",
                        "name": "If-Match",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "User subject_id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "User budget removed"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete user budget",
                "tags": [
                    "budgets"
                ]
            },
            "get": {
                "description": "A user's spend sliced by one dimension. dimension=model is the current-period spend on the user's own budget; dimension=group is every group budget the user belongs to or has contributed to (no single period window). Entries sum to total_used_usd.",
                "parameters": [
                    {
                        "description": "User subject_id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Slice axis",
                        "in": "query",
                        "name": "dimension",
                        "required": true,
                        "schema": {
                            "enum": [
                                "model",
                                "group"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.DimensionSliceResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "User budget breakdown slice",
                "tags": [
                    "budgets"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "ETag from GET /v1/budgets",
                        "in": "header",
                        "name": "If-Match",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "User subject_id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.PutUserBudgetRequest",
                                        "summary": "body",
                                        "description": "User budget specification"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "User budget specification",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "User budget applied"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Put user budget",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/connections/{id}": {
            "get": {
                "parameters": [
                    {
                        "description": "Connection UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get connection",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connector-identity-providers": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectorIdentityProviderDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List connector identity providers",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateConnectorIdentityProviderRequest",
                                        "summary": "body",
                                        "description": "Identity provider to create"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Identity provider to create",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorIdentityProviderDTO"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create connector identity provider",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connector-identity-providers/discover": {
            "post": {
                "description": "Probes an MCP server and returns its RFC 9728 protected-resource metadata and its authorization server's RFC 8414 or OpenID Connect Discovery metadata.\nA server without Dynamic Client Registration is a 200 with dcr_supported false and no registration_endpoint; its client must be pre-registered.\nA 422 carries error.type \"oauth_discovery\" and error.code \"not_protected\" (the server neither answered 401 nor publishes protected-resource metadata at a well-known URI) or \"no_metadata\" (it answered 401 but advertised no protected-resource metadata, by reference or at a well-known URI).",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoverConnectorIdentityProviderRequest",
                                        "summary": "body",
                                        "description": "MCP server to inspect"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "MCP server to inspect",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoveredConnectorIdentityProviderDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "502": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Gateway"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Discover connector identity provider OAuth metadata",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connector-identity-providers/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "IdentityProvider UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete connector identity provider",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "IdentityProvider UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorIdentityProviderDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get connector identity provider",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "IdentityProvider UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateConnectorIdentityProviderRequest",
                                        "summary": "body",
                                        "description": "Identity provider's new state"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Identity provider's new state",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorIdentityProviderDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Update connector identity provider",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{connector_id}/groups/{group_id}/tool-restriction": {
            "delete": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "connector_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "UserGroup UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET .../tool-restriction",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupToolAllowlistDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Clear a group's tool restriction on a connector",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "connector_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "UserGroup UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupToolAllowlistDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get a group's tool restriction on a connector",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "connector_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "UserGroup UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET .../tool-restriction",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetGroupToolAllowlistRequest",
                                        "summary": "body",
                                        "description": "Restriction mode and tool ids"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Restriction mode and tool ids",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupToolAllowlistDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Set a group's tool restriction on a connector",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{connector_id}/tool-restrictions/toggle": {
            "post": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "connector_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BulkToggleGroupToolRequest",
                                        "summary": "body",
                                        "description": "Tool, groups and desired state"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Tool, groups and desired state",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.BulkToggleGroupToolResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Enable or disable one tool across many groups' restrictions on a connector",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{id}/policy": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get connector policy",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{id}/policy/cedar-mode": {
            "delete": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Switch a connector policy back to structured authoring mode",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Switch a connector policy to Cedar authoring mode",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{id}/policy/document": {
            "put": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetConnectorPolicyDocumentRequest",
                                        "summary": "body",
                                        "description": "Cedar document"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Cedar document",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Set a connector policy's Cedar document",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{id}/policy/groups": {
            "put": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/connectors/{id}/policy",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GrantConnectorPolicyUserGroupsRequest",
                                        "summary": "body",
                                        "description": "User group ids"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "User group ids",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Replace a connector policy's granted user groups",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{id}/policy/groups/{group_id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "User group UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorPolicyDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Revoke a user group's access to a connector",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{id}/tools": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorToolsDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get a connector's tool list",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/connectors/{id}/tools/refresh": {
            "post": {
                "description": "A connector that authenticates per user is listed as the calling admin, with the request's own bearer token, through the connector-gateway. Its refusals carry a code: 403 admin_not_granted (the gateway does not serve the connector to the admin: the admin is in no group granted it, or the gateway is not serving it) and 409 admin_connect_required (the admin must connect to the connector's upstream provider first). 422 means this installation cannot list per-user connectors at all.",
                "parameters": [
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorToolsDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "502": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Gateway"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Service Unavailable"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Refresh a connector's tool list",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/gateways/{gateway_id}/connectors": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectorDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List connectors",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorWriteRequest",
                                        "summary": "body",
                                        "description": "Connector to create"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Connector to create",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorDTO"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create connector",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/gateways/{gateway_id}/connectors/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "502": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Gateway"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Service Unavailable"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete connector",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get connector",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "description": "Full replace: resend every mutable field. To keep a connector's secrets, send the auth object a GET returned back unchanged; the read renders each SecretRef, never a secret value. An optional SecretRef left out of the body (token_exchange client_secret, xaa idp_client_secret and target_client_secret) is cleared, which turns a confidential client into a public one. A required SecretRef left out is a 400. Each SecretRef is still checked against the write-side rules, so a kind this server cannot resolve (kubernetes_secret) or a ManagedSecret that no longer exists is a 400.",
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorWriteRequest",
                                        "summary": "body",
                                        "description": "Connector's new state"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Connector's new state",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Update connector",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/gateways/{gateway_id}/connectors/{id}/connections": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectionDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List connector connections",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/gateways/{gateway_id}/connectors/{id}/setup-connection": {
            "post": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                                }
                            }
                        },
                        "description": "Existing Connection, setup access re-armed"
                    },
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                                }
                            }
                        },
                        "description": "Connection created with setup access"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Open my admin setup access to a connector",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/gateways/{gateway_id}/discovered-servers": {
            "get": {
                "description": "Lists the MCP servers the cluster is running as candidates a connector could be admitted from, each carrying the connectors on this gateway that already hold its endpoint.",
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.DiscoveredServerListResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Service Unavailable"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List discovered MCP servers",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups": {
            "get": {
                "parameters": [
                    {
                        "description": "Filter by group name",
                        "in": "query",
                        "name": "name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter by display name",
                        "in": "query",
                        "name": "display_name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter by provisioning source (e.g. scim)",
                        "in": "query",
                        "name": "source",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Case-insensitive substring search across display_name and name",
                        "in": "query",
                        "name": "search",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages forward from here (mutually exclusive with before)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages backward from here (mutually exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 50, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List groups",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateGroupRequest",
                                        "summary": "body",
                                        "description": "Group to create"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Group to create",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create group",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups/{group_id}/service-accounts/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Removed, or was not a member"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, with error.code managed_by_identity_provider (the identity provider owns the group) or inherited_membership (the account belongs only through a subgroup); a deprovisioned account is refused with no code"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Remove a service account from a group",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Added, or already a member"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, error.code managed_by_identity_provider: the identity provider owns the group; a deprovisioned account is refused with no code"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Add a service account to a group",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups/{group_id}/subgroups/{child_id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Child group UUID",
                        "in": "path",
                        "name": "child_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, error.code managed_by_identity_provider: the identity provider owns the group"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Remove subgroup",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Child group UUID",
                        "in": "path",
                        "name": "child_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, error.code managed_by_identity_provider: the identity provider owns the group"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Add subgroup",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups/{group_id}/users/{user_id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "user_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, error.code managed_by_identity_provider: the identity provider owns the group"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Remove user member",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "group_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "user_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, error.code managed_by_identity_provider: the identity provider owns the group"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Add user member",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, error.code managed_by_identity_provider: the identity provider owns the group"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete group",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get group",
                "tags": [
                    "directory"
                ]
            },
            "patch": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.PatchGroupRequest",
                                        "summary": "body",
                                        "description": "Fields to update"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Fields to update",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "error.type group, error.code managed_by_identity_provider: the identity provider owns the group"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Patch group",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups/{id}/members": {
            "get": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items per collection (default 50, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "description": "Opaque cursor — pages the transitive-users collection forward (mutually exclusive with users_before)",
                        "in": "query",
                        "name": "users_cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque cursor — pages the transitive-users collection backward (mutually exclusive with users_cursor)",
                        "in": "query",
                        "name": "users_before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque cursor — pages the direct-child-groups collection forward (mutually exclusive with groups_before)",
                        "in": "query",
                        "name": "groups_cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque cursor — pages the direct-child-groups collection backward (mutually exclusive with groups_cursor)",
                        "in": "query",
                        "name": "groups_before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque cursor — pages the service-accounts collection forward (mutually exclusive with service_accounts_before)",
                        "in": "query",
                        "name": "service_accounts_cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque cursor — pages the service-accounts collection backward (mutually exclusive with service_accounts_cursor)",
                        "in": "query",
                        "name": "service_accounts_before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter the transitive-users collection by active status (direct_child_groups and service_accounts are unaffected)",
                        "in": "query",
                        "name": "active",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "description": "Case-insensitive substring search: display_name/user_name/email on the transitive-users collection, display_name/name on the direct-child-groups collection (service_accounts is unaffected)",
                        "in": "query",
                        "name": "search",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.MembersResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get group members",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups/{id}/metadata": {
            "delete": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete group metadata",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.MetadataResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get group metadata",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Group UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object"
                            }
                        },
                        "text/plain": {
                            "schema": {
                                "title": "body",
                                "type": "object"
                            }
                        }
                    },
                    "description": "Metadata JSON document",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Put group metadata",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/groups/{id}/model-sets": {
            "get": {
                "parameters": [
                    {
                        "description": "UserGroup UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetRefDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List the Model Sets granted to a UserGroup",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "UserGroup UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/groups/{id}/model-sets",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceModelSetGrantsRequest",
                                        "summary": "body",
                                        "description": "Model Set ids"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Model Set ids",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetRefDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Replace the Model Sets granted to a UserGroup",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/keys": {
            "get": {
                "description": "Returns every key owned by the authenticated caller. Never\nincludes key secrets or hashes.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ListKeysResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List the caller's virtual API keys",
                "tags": [
                    "keys"
                ]
            },
            "post": {
                "description": "Mints a key tied to the authenticated caller's OIDC identity. The\nfull plaintext secret is returned ONLY in this response — it is\nnever retrievable afterwards. Ownership is derived from the\ncaller's token, not the request body.",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateKeyRequest",
                                        "summary": "body",
                                        "description": "Key creation parameters"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Key creation parameters",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateKeyResponse"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create a virtual API key",
                "tags": [
                    "keys"
                ]
            }
        },
        "/v1/keys/{id}": {
            "delete": {
                "description": "Permanently invalidates the key. This cannot be undone — a revoked\nkey can never be re-enabled.",
                "parameters": [
                    {
                        "description": "Key short ID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Key revoked"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Revoke one of the caller's virtual API keys",
                "tags": [
                    "keys"
                ]
            },
            "get": {
                "description": "Never includes key secrets or hashes. Returns 404 (not 403) when\nthe id exists but is owned by another caller, so key existence is\nnot leaked across owners.",
                "parameters": [
                    {
                        "description": "Key short ID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KeyDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get one of the caller's virtual API keys",
                "tags": [
                    "keys"
                ]
            }
        },
        "/v1/keys/{id}/disable": {
            "post": {
                "description": "Temporarily deactivates a key. Reversible via the enable endpoint,\nunlike revocation.",
                "parameters": [
                    {
                        "description": "Key short ID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Key disabled"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Disable one of the caller's virtual API keys",
                "tags": [
                    "keys"
                ]
            }
        },
        "/v1/keys/{id}/enable": {
            "post": {
                "description": "Moves a disabled key back to active. Re-enabling a revoked key is\nrejected with 409 — revocation is permanent.",
                "parameters": [
                    {
                        "description": "Key short ID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Key enabled"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Re-enable one of the caller's disabled virtual API keys",
                "tags": [
                    "keys"
                ]
            }
        },
        "/v1/keys/{id}/rotate": {
            "post": {
                "description": "Generates a new secret for the same key ID. The old secret keeps\nvalidating for a 24h grace period so in-flight callers can pick up\nthe new secret. The new plaintext secret is returned only once.",
                "parameters": [
                    {
                        "description": "Key short ID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateKeyResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Rotate one of the caller's virtual API keys",
                "tags": [
                    "keys"
                ]
            }
        },
        "/v1/kubernetes-secret-allowlist": {
            "get": {
                "description": "The Kubernetes Secrets a credential may reference, as allowlisted by the cluster operator. An entry with empty names admits every Secret in its namespace.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.KubernetesSecretAllowlistDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get the Kubernetes Secret allowlist",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/managed-secrets": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ManagedSecretDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List managed secrets",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateManagedSecretRequest",
                                        "summary": "body",
                                        "description": "Managed secret to create"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Managed secret to create",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ManagedSecretDTO"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Service Unavailable"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create managed secret",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/managed-secrets/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "ManagedSecret UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete managed secret",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "ManagedSecret UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ManagedSecretDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get managed secret",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/me": {
            "get": {
                "description": "Returns the authenticated caller's directory profile and transitive\ngroup membership, resolved from their verified token rather than a\npath parameter. An authenticated caller with no directory binding\n(never provisioned, or deactivated) gets 200 with an empty group\nlist, not a 404 — a miss is not a failure. subject and issuer are\nalways present since they come from the verified token; echoing\nissuer lets a caller self-diagnose a cross-issuer provisioning gap.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.MeResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "304": {
                        "description": "Not Modified"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "x-required-role": "authenticated"
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get the caller's own directory profile",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/admin": {
            "get": {
                "description": "Answers 204 when the caller holds the platform Admin persona and the\nshared admin gate's own status otherwise. The response has no body.",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Service Unavailable"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Check whether the caller is an Admin",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/budgets/charges": {
            "get": {
                "description": "Lists the charge records derived from the caller's own usage events, scoped to the verified token subject. A page may contain fewer than limit records even when more data exists; keep following next_cursor until it is absent.",
                "parameters": [
                    {
                        "description": "Inclusive event_time lower bound, RFC 3339",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Exclusive event_time upper bound, RFC 3339",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Served model of the underlying event, exact match",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 200, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListChargesResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List own charges",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/me/budgets/events": {
            "get": {
                "description": "Lists the caller's own usage events, scoped to the verified token subject. A page may contain fewer than limit records even when more data exists; keep following next_cursor until it is absent.",
                "parameters": [
                    {
                        "description": "Inclusive event_time lower bound, RFC 3339",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Exclusive event_time upper bound, RFC 3339",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Served model, exact match",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Interaction outcome",
                        "in": "query",
                        "name": "outcome",
                        "schema": {
                            "enum": [
                                "delivered",
                                "blocked_downstream",
                                "client_disconnect",
                                "upstream_error"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 200, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.ListEventsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List own usage events",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/me/budgets/spend": {
            "get": {
                "parameters": [
                    {
                        "description": "Bucket granularity",
                        "in": "query",
                        "name": "granularity",
                        "schema": {
                            "enum": [
                                "day"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, ISO date (default 30 days back, including today)",
                        "in": "query",
                        "name": "from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end (exclusive), ISO date",
                        "in": "query",
                        "name": "to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Served model of the underlying event, exact match",
                        "in": "query",
                        "name": "model",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.SpendSeriesResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Own daily spend series",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/me/budgets/summary": {
            "get": {
                "description": "The caller's personal day/month cards (absent when no personal budget exists at that period) and every budget cell applicable to them. Group rows expose team aggregates, never teammate records; my_contribution_usd is the caller's own period-to-date share of that cell, exact for the whole of the cell's period.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_budgets_v1.MeSummaryResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Own budgets summary",
                "tags": [
                    "budgets"
                ]
            }
        },
        "/v1/me/connections": {
            "get": {
                "parameters": [
                    {
                        "description": "Narrow to Connections on one gateway install",
                        "in": "query",
                        "name": "gateway_id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages forward from here (mutually exclusive with before)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages backward from here (mutually exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 20, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectionDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List my connections",
                "tags": [
                    "me"
                ]
            },
            "post": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateConnectionRequest",
                                        "summary": "body",
                                        "description": "Connection to create"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Connection to create",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create my connection",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/connections/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Connection UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    },
                    "502": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Gateway"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete my connection",
                "tags": [
                    "me"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Connection UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get my connection",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/connections/{id}/enabled": {
            "put": {
                "parameters": [
                    {
                        "description": "Connection UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetConnectionEnabledRequest",
                                        "summary": "body",
                                        "description": "New enablement"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "New enablement",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Enable or disable my connection",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/connections/{id}/tool-policy": {
            "put": {
                "parameters": [
                    {
                        "description": "Connection UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.SetConnectionToolPolicyRequest",
                                        "summary": "body",
                                        "description": "New tool policy"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "New tool policy",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectionDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Set my connection's tool narrowing",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/gateways/{gateway_id}/connectors": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages forward from here (mutually exclusive with before)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages backward from here (mutually exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 20, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ConnectorDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List Connectors visible to me",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/gateways/{gateway_id}/connectors/{id}": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector-gateway install id",
                        "in": "path",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Connector UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ConnectorDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get a Connector visible to me",
                "tags": [
                    "me"
                ]
            }
        },
        "/v1/me/metering/usage/calls": {
            "get": {
                "parameters": [
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Connector id",
                        "in": "query",
                        "name": "connector_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Outcome filter",
                        "in": "query",
                        "name": "outcome",
                        "schema": {
                            "enum": [
                                "ok",
                                "error"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Decision filter",
                        "in": "query",
                        "name": "decision",
                        "schema": {
                            "enum": [
                                "allowed",
                                "denied"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page, pages forward (older)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page, pages backward (newer); mutually exclusive with cursor",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 500, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ListCallsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "My tool-call activity",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/connectors/{id}": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Deployment environment filter",
                        "in": "query",
                        "name": "environment",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ConnectorUsageResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Connector usage",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/connectors/{id}/calls": {
            "get": {
                "parameters": [
                    {
                        "description": "Connector id",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Platform user id (UUID); narrows to one user's calls",
                        "in": "query",
                        "name": "user_id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Outcome filter",
                        "in": "query",
                        "name": "outcome",
                        "schema": {
                            "enum": [
                                "ok",
                                "error"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Decision filter",
                        "in": "query",
                        "name": "decision",
                        "schema": {
                            "enum": [
                                "allowed",
                                "denied"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page, pages forward (older)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page, pages backward (newer); mutually exclusive with cursor",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 500, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ListCallsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Connector tool-call activity",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/export": {
            "get": {
                "parameters": [
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Deployment environment filter",
                        "in": "query",
                        "name": "environment",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque keyset cursor from a previous page",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size (default 50, max 500, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.ExportToolCallUsageResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Per-event usage export",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/summary": {
            "get": {
                "parameters": [
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Deployment environment filter",
                        "in": "query",
                        "name": "environment",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UsageSummaryResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Usage summary",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/timeseries": {
            "get": {
                "parameters": [
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Deployment environment filter",
                        "in": "query",
                        "name": "environment",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Breakdown dimension",
                        "in": "query",
                        "name": "dimension",
                        "schema": {
                            "enum": [
                                "environment",
                                "tool",
                                "decision",
                                "connector"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UsageTimeSeriesResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Usage time series",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/top-connectors": {
            "get": {
                "parameters": [
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Deployment environment filter",
                        "in": "query",
                        "name": "environment",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Max entries (default 10, max 100, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopConnectorsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Top connectors",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/top-tools": {
            "get": {
                "parameters": [
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Deployment environment filter",
                        "in": "query",
                        "name": "environment",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339 (default: unbounded)",
                        "in": "query",
                        "name": "start",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive (default: unbounded)",
                        "in": "query",
                        "name": "end",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Max entries (default 10, max 100, clamped)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.TopToolsResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Top tools",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/metering/usage/users/{id}": {
            "get": {
                "parameters": [
                    {
                        "description": "Platform user id (UUID)",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "connector-gateway instance id",
                        "in": "query",
                        "name": "gateway_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Deployment environment filter",
                        "in": "query",
                        "name": "environment",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window start, RFC 3339",
                        "in": "query",
                        "name": "start",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Window end, RFC 3339, exclusive",
                        "in": "query",
                        "name": "end",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_metering_v1.UserUsageResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "User usage",
                "tags": [
                    "metering"
                ]
            }
        },
        "/v1/model-sets": {
            "get": {
                "parameters": [
                    {
                        "description": "Case-insensitive substring match on name",
                        "in": "query",
                        "name": "search",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 50, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetSummaryDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List Model Sets",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateModelSetRequest",
                                        "summary": "body",
                                        "description": "Model Set"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Model Set",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetDTO"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create a Model Set",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/model-sets/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Model Set UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/model-sets/{id}",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete a Model Set",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Model Set UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get a Model Set",
                "tags": [
                    "directory"
                ]
            },
            "patch": {
                "parameters": [
                    {
                        "description": "Model Set UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/model-sets/{id}",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UpdateModelSetRequest",
                                        "summary": "body",
                                        "description": "New name"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "New name",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Rename a Model Set",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/model-sets/{id}/impact": {
            "get": {
                "parameters": [
                    {
                        "description": "Model Set UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Restrict subjects to one kind",
                        "in": "query",
                        "name": "kind",
                        "schema": {
                            "enum": [
                                "user",
                                "group",
                                "service_account"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Case-insensitive substring match: a user on display name, user name or email; a group on display name or name; a service account on display name. Counts stay totals.",
                        "in": "query",
                        "name": "search",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque cursor from next_cursor; returns the page after it",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque cursor from prev_cursor; returns the page before it (exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum subjects to return (default 50, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetImpactDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Preview what deleting a Model Set would remove",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/model-sets/{id}/models": {
            "put": {
                "parameters": [
                    {
                        "description": "Model Set UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/model-sets/{id}",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceModelSetModelsRequest",
                                        "summary": "body",
                                        "description": "Model ids, or unrestricted"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Model ids, or unrestricted",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelSetDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Replace a Model Set's membership",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/service-accounts": {
            "get": {
                "parameters": [
                    {
                        "description": "Opaque pagination cursor, pages forward (exclusive with before)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor, pages backward (exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 20, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ServiceAccountDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List service accounts",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateServiceAccountRequest",
                                        "summary": "body",
                                        "description": "Display metadata"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Display metadata",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ServiceAccountDTO"
                                }
                            }
                        },
                        "description": "Created",
                        "headers": {
                            "ETag": {
                                "description": "Strong ETag to send as If-Match on PUT and DELETE",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create a service account",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/service-accounts/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/service-accounts/{id}, or from the POST that created the account",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deprovisioned"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Deprovision a service account",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ServiceAccountDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get a service account",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "description": "Replaces the display metadata and status. A move to active, including a resume from suspended, succeeds only for an account that holds at least one binding to an enabled trust; otherwise it is refused with 409, whose message names what is missing: no bindings, or only bindings to disabled trusts. If-Match is checked before readiness. Status deprovisioned is reached only through DELETE.",
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/service-accounts/{id}, or from the POST that created the account",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceServiceAccountRequest",
                                        "summary": "body",
                                        "description": "Mutable representation"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Mutable representation",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ServiceAccountDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Replace a service account",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/service-accounts/{id}/external-bindings": {
            "get": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor, pages forward (exclusive with before)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor, pages backward (exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 20, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ExternalBindingDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List a service account's external bindings",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateExternalBindingRequest",
                                        "summary": "body",
                                        "description": "Selector, and the UID to pin"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Selector, and the UID to pin",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ExternalBindingDTO"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Bind a service account to a Kubernetes ServiceAccount",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/service-accounts/{id}/external-bindings/{binding_id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "External binding UUID",
                        "in": "path",
                        "name": "binding_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete an external binding",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "External binding UUID",
                        "in": "path",
                        "name": "binding_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ExternalBindingDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get an external binding",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/service-accounts/{id}/groups": {
            "get": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ServiceAccountGroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get service account groups",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/service-accounts/{id}/model-access": {
            "get": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelAccessExplanationDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Explain a service account's effective model access",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/service-accounts/{id}/model-sets": {
            "get": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetRefDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List the Model Sets granted directly to a service account",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Service account UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/service-accounts/{id}/model-sets",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceModelSetGrantsRequest",
                                        "summary": "body",
                                        "description": "Model Set ids"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Model Set ids",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetRefDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Replace the Model Sets granted directly to a service account",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/users": {
            "get": {
                "parameters": [
                    {
                        "description": "Filter by email address",
                        "in": "query",
                        "name": "email",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter by username",
                        "in": "query",
                        "name": "user_name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter by provisioning source (e.g. scim)",
                        "in": "query",
                        "name": "source",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Filter by active status",
                        "in": "query",
                        "name": "active",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "description": "Case-insensitive substring search across display_name, user_name, and email",
                        "in": "query",
                        "name": "search",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages forward from here (mutually exclusive with before)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor — pages backward from here (mutually exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 50, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_UserDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List users",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/users/{id}": {
            "get": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.UserDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get user",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/users/{id}/groups": {
            "get": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_GroupDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get user groups",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/users/{id}/metadata": {
            "delete": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete user metadata",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.MetadataResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get user metadata",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object"
                            }
                        },
                        "text/plain": {
                            "schema": {
                                "title": "body",
                                "type": "object"
                            }
                        }
                    },
                    "description": "Metadata JSON document",
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Put user metadata",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/users/{id}/model-access": {
            "get": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ModelAccessExplanationDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Explain a User's effective model access",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/users/{id}/model-sets": {
            "get": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetRefDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List the Model Sets granted directly to a User",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "User UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/users/{id}/model-sets",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceModelSetGrantsRequest",
                                        "summary": "body",
                                        "description": "Model Set ids"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Model Set ids",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_ModelSetRefDTO"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Replace the Model Sets granted directly to a User",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/workload-trusts": {
            "get": {
                "parameters": [
                    {
                        "description": "Opaque pagination cursor, pages forward (exclusive with before)",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor, pages backward (exclusive with cursor)",
                        "in": "query",
                        "name": "before",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Maximum items to return (default 20, max 200)",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/internal_directory_app.ListResponse-github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1_WorkloadTrustDTO"
                                }
                            }
                        },
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "description": "Strong ETag of this page",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "List workload trusts",
                "tags": [
                    "directory"
                ]
            },
            "post": {
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.CreateWorkloadTrustRequest",
                                        "summary": "body",
                                        "description": "Trust"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Trust",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustDTO"
                                }
                            }
                        },
                        "description": "Created",
                        "headers": {
                            "Location": {
                                "description": "Path of the created trust",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Create a workload trust",
                "tags": [
                    "directory"
                ]
            }
        },
        "/v1/workload-trusts/{id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Workload trust UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/workload-trusts/{id}",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Delete a workload trust",
                "tags": [
                    "directory"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Workload trust UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustDTO"
                                }
                            }
                        },
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "description": "Strong ETag to send as If-Match on PUT and DELETE",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Get a workload trust",
                "tags": [
                    "directory"
                ]
            },
            "put": {
                "parameters": [
                    {
                        "description": "Workload trust UUID",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "ETag from GET /v1/workload-trusts/{id}",
                        "in": "header",
                        "name": "If-Match",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "type": "object"
                                    },
                                    {
                                        "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.ReplaceWorkloadTrustRequest",
                                        "summary": "body",
                                        "description": "Trust"
                                    }
                                ]
                            }
                        }
                    },
                    "description": "Trust",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_directory_v1.WorkloadTrustDTO"
                                }
                            }
                        },
                        "description": "OK",
                        "headers": {
                            "ETag": {
                                "description": "Strong ETag of the trust as written",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "412": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Failed"
                    },
                    "413": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Request Entity Too Large"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "428": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Precondition Required"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/github_com_stacklok_stacklok-enterprise-platform_enterprise_toolhive-enterprise_contracts_common_v1.ErrorResponse"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "summary": "Replace a workload trust",
                "tags": [
                    "directory"
                ]
            }
        }
    },
    "openapi": "3.1.0",
    "servers": [
        {
            "url": "/"
        }
    ]
}