generated: '2026-10-18' method: derived generator: derive-data-model.py source: - openapi/mcpgate-api-openapi.json - openapi/mcpgate-demo-openapi.json notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 44 entities_in_spec: 44 relationships: 7 entities: - name: ActiveCustomerRow fields: 7 - name: ActiveCustomersResponse fields: 1 - name: AuditMetaRequest fields: 6 - name: BindRequest fields: 1 description: A gateway claims a subscription with its `instance_token` so it can - name: BindResponse fields: 2 - name: CommentRequest fields: 3 description: Reporter-initiated follow-up on their own previously-filed report. - name: CommentResponse fields: 2 - name: CustomerCreate fields: 6 - name: CustomerList fields: 2 - name: CustomerOut fields: 8 - name: CustomerUpdate fields: 6 description: All fields optional — operator updates one at a time. - name: EnrollRequest fields: 3 - name: HTTPValidationError fields: 1 - name: InlineAttachment fields: 3 description: A single binary attachment to a customer-filed bug or feature report. - name: IssueRequest fields: 6 description: Issue a new subscription. - name: IssueResponse fields: 9 - name: MarkMessagesReadRequest fields: 1 description: 'Gateway → Backend: customer''s browser has opened the dashboard and' - name: MessageListResponse fields: 1 - name: MessageOut fields: 8 - name: MessageRequest fields: 2 - name: PongListResponse fields: 1 - name: PongOut fields: 4 - name: PublicKeyResponse fields: 3 - name: RefreshResponse fields: 7 description: Returned by `/subscription/refresh` when the calling gateway has a - name: RegisterRequest fields: 4 - name: RegisterResponse fields: 2 - name: ReleaseRequest fields: 2 - name: ReleaseResponse fields: 5 - name: ReportRequest fields: 7 - name: ReportResponse fields: 3 - name: RevokeResponse fields: 2 - name: SessionCloseRequest fields: 1 - name: SessionCloseResponse fields: 2 - name: SessionExtendRequest fields: 1 - name: SessionExtendResponse fields: 4 - name: SessionStartRequest fields: 2 - name: SessionStartResponse fields: 5 - name: SubscriptionList fields: 2 - name: SubscriptionRow fields: 12 - name: ToolCallRequest fields: 2 description: Request model for tool calls with strict validation - name: UpdateDeliveryRequest fields: 1 description: Flip an already-registered instance between email and pull-mode. - name: UpdateDeliveryResponse fields: 1 - name: ValidationError fields: 5 - name: WebhookNote fields: 5 description: Subset of GitLab Note Hook payload that we care about. relationships: - from: ActiveCustomersResponse to: ActiveCustomerRow type: has_many via: active - from: CustomerList to: CustomerOut type: has_many via: items - from: HTTPValidationError to: ValidationError type: has_many via: detail - from: MessageListResponse to: MessageOut type: has_many via: messages - from: PongListResponse to: PongOut type: has_many via: pongs - from: ReportRequest to: InlineAttachment type: has_many via: attachments - from: SubscriptionList to: SubscriptionRow type: has_many via: items