UNPKG

okta-mcp-server

Version:

Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching

197 lines 6.93 kB
/** * Interface for Okta client operations */ import type { OktaUser, OktaGroup, OktaApplication, OktaPolicy, OktaPolicyRule } from './types.js'; export interface ApiResponse<T> { data: T; headers?: { link?: string; [key: string]: string | undefined; }; } export interface IOktaClient { listUsers(params?: { limit?: number; after?: string; filter?: string; search?: string; status?: string; lastUpdated?: string; sortBy?: string; sortOrder?: 'asc' | 'desc'; }): Promise<ApiResponse<OktaUser[]>>; getUser(userIdOrLogin: string): Promise<OktaUser>; createUser(userData: { profile: Record<string, unknown>; credentials?: Record<string, unknown>; groupIds?: string[]; }, queryParams?: { activate?: boolean; provider?: boolean; nextLogin?: string; }): Promise<OktaUser>; updateUser(userId: string, userData: { profile?: Record<string, unknown>; credentials?: Record<string, unknown>; }): Promise<OktaUser>; deactivateUser(userId: string, sendEmail?: boolean): Promise<void>; deleteUser(userId: string): Promise<void>; getUserGroups(userId: string, params?: { limit?: number; after?: string; }): Promise<ApiResponse<OktaGroup[]>>; listGroups(params?: { limit?: number; after?: string; filter?: string; search?: string; type?: string; sortBy?: string; sortOrder?: 'asc' | 'desc'; }): Promise<ApiResponse<OktaGroup[]>>; getGroup(groupId: string): Promise<OktaGroup>; createGroup(groupData: { profile: { name: string; description?: string; }; }): Promise<OktaGroup>; updateGroup(groupId: string, groupData: { profile: { name?: string; description?: string; }; }): Promise<OktaGroup>; deleteGroup(groupId: string): Promise<void>; listGroupMembers(groupId: string, params?: { limit?: number; after?: string; }): Promise<ApiResponse<OktaUser[]>>; addGroupMember(groupId: string, userId: string): Promise<void>; removeGroupMember(groupId: string, userId: string): Promise<void>; getLogs(params?: { since?: string; until?: string; filter?: string; q?: string; limit?: number; sortOrder?: 'ASCENDING' | 'DESCENDING'; after?: string; }): Promise<ApiResponse<unknown[]>>; listApps(params?: { limit?: number; after?: string; filter?: string; q?: string; expand?: string; }): Promise<ApiResponse<OktaApplication[]>>; getApp(appId: string, expand?: string): Promise<OktaApplication>; createApp(appData: { name: string; label: string; signOnMode: string; status?: string; accessibility?: Record<string, unknown>; visibility?: Record<string, unknown>; features?: string[]; settings?: Record<string, unknown>; credentials?: Record<string, unknown>; licensing?: Record<string, unknown>; }): Promise<OktaApplication>; updateApp(appId: string, appData: { name?: string; label?: string; status?: string; accessibility?: Record<string, unknown>; visibility?: Record<string, unknown>; features?: string[]; settings?: Record<string, unknown>; credentials?: Record<string, unknown>; licensing?: Record<string, unknown>; }): Promise<OktaApplication>; deleteApp(appId: string): Promise<void>; activateApp(appId: string): Promise<void>; deactivateApp(appId: string): Promise<void>; assignUserToApp(appId: string, userId: string, assignmentData?: { profile?: Record<string, unknown>; credentials?: Record<string, unknown>; }): Promise<unknown>; assignGroupToApp(appId: string, groupId: string, assignmentData?: { priority?: number; profile?: Record<string, unknown>; }): Promise<unknown>; removeUserFromApp(appId: string, userId: string, sendEmail?: boolean): Promise<void>; removeGroupFromApp(appId: string, groupId: string): Promise<void>; listAppUsers(appId: string, params?: { limit?: number; after?: string; q?: string; filter?: string; expand?: string; }): Promise<ApiResponse<unknown[]>>; listAppGroups(appId: string, params?: { limit?: number; after?: string; q?: string; expand?: string; }): Promise<ApiResponse<unknown[]>>; updateAppUser(appId: string, userId: string, updateData: { profile?: Record<string, unknown>; credentials?: Record<string, unknown>; }): Promise<unknown>; listPolicies(params?: { type: string; status?: string; limit?: number; after?: string; sortBy?: string; sortOrder?: 'asc' | 'desc'; filter?: string; }): Promise<ApiResponse<OktaPolicy[]>>; getPolicy(policyId: string, expand?: string): Promise<OktaPolicy>; createPolicy(policyData: { name: string; type: string; description?: string; priority?: number; status?: string; conditions?: Record<string, unknown>; settings?: Record<string, unknown>; }): Promise<OktaPolicy>; updatePolicy(policyId: string, policyData: { name?: string; description?: string; priority?: number; status?: string; conditions?: Record<string, unknown>; settings?: Record<string, unknown>; }): Promise<OktaPolicy>; deletePolicy(policyId: string): Promise<void>; activatePolicy(policyId: string): Promise<void>; deactivatePolicy(policyId: string): Promise<void>; listPolicyRules(policyId: string, params?: { limit?: number; after?: string; }): Promise<ApiResponse<OktaPolicyRule[]>>; getPolicyRule(policyId: string, ruleId: string): Promise<OktaPolicyRule>; createPolicyRule(policyId: string, ruleData: { name: string; priority?: number; status?: string; type?: string; conditions?: Record<string, unknown>; actions?: Record<string, unknown>; }): Promise<OktaPolicyRule>; updatePolicyRule(policyId: string, ruleId: string, ruleData: { name?: string; priority?: number; status?: string; conditions?: Record<string, unknown>; actions?: Record<string, unknown>; }): Promise<OktaPolicyRule>; deletePolicyRule(policyId: string, ruleId: string): Promise<void>; activatePolicyRule(policyId: string, ruleId: string): Promise<void>; deactivatePolicyRule(policyId: string, ruleId: string): Promise<void>; close(): Promise<void>; } //# sourceMappingURL=okta-client-interface.d.ts.map