jira.js
    Preparing search index...

    Function createAdminClient

    • Parameters

      Returns {
          directory: {
              getDirectoriesForOrg: (
                  parameters: {
                      accountId?: string;
                      cursor?: string;
                      directoryIds?: string[];
                      limit?: number;
                      orgId: string;
                      searchTerm?: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          directoryId?: string;
                          icon?: string;
                          name?: string;
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
          };
          domains: {
              getDomainById: (
                  parameters: { domainId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              claim?: {
                                  status?: (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  type?: (...) | (...) | (...) | (...);
                                  [key: string]: unknown;
                              };
                              name?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links: { self: string
                          | null; [key: string]: unknown };
                          type: string & {} | "domains";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getDomains: (
                  parameters: { cursor?: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              claim?: { status?: ...; type?: ...; [key: ...]: ... };
                              name?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links: { self: string
                          | null; [key: string]: unknown };
                          type: string & {} | "domains";
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
          };
          events: {
              getEventActions: (
                  parameters: { orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              displayName: string;
                              groupDisplayName?: string;
                              groupDisplayNames?: (...)[];
                              [key: string]: unknown;
                          };
                          id: string;
                          links?: Record<string, any>;
                          message?: unknown;
                          type: string;
                          [key: string]: unknown;
                      }[];
                      links?: Record<string, any>;
                      meta?: unknown;
                      [key: string]: unknown;
                  },
              >;
              getEventById: (
                  parameters: { eventId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              action: string;
                              actor: {
                                  app?: { attributes?: ...; id: ...; type?: ...; [key: ...]: ... };
                                  auth?: {
                                      authType: ...;
                                      tokenId?: ...;
                                      tokenLabel?: ...;
                                      [key: ...]: ...;
                                  };
                                  email?: string;
                                  id: string;
                                  links?: { self: ...; [key: ...]: ... };
                                  name?: string;
                                  onBehalfOf?: { email?: ...; id: ...; name?: ...; [key: ...]: ... };
                                  [key: string]: unknown;
                              };
                              container?: {
                                  attributes?: ...;
                                  id: ...;
                                  links?: ...;
                                  type?: ...;
                                  [key: ...]: ...;
                              }[];
                              context: {
                                  attributes?: (...)
                                  | (...);
                                  id: string;
                                  links?: (...) | (...) | (...);
                                  type?: (...) | (...);
                                  [key: string]: unknown;
                              }[];
                              location?: {
                                  city?: (...)
                                  | (...);
                                  countryName?: (...) | (...);
                                  geo?: (...) | (...);
                                  ip?: (...) | (...);
                                  regionName?: (...) | (...);
                                  [key: string]: unknown;
                              };
                              time: Date;
                              [key: string]: unknown;
                          };
                          id: string;
                          links: { self: string
                          | null; [key: string]: unknown };
                          message?: { content?: string; format?: string; [key: string]: unknown };
                          type: string & {} | "events";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getEvents: (
                  parameters: {
                      action?: string;
                      actor?: string[];
                      cursor?: string;
                      from?: string;
                      ip?: string[];
                      limit?: number;
                      location?: string;
                      orgId: string;
                      product?: (
                          | "jira"
                          | string & {}
                          | "confluence"
                          | "bitbucket"
                          | "guard_detect"
                          | "loom"
                      )[];
                      q?: string;
                      to?: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              action: string;
                              actor: {
                                  app?: (...)
                                  | (...);
                                  auth?: (...) | (...);
                                  email?: (...) | (...);
                                  id: string;
                                  links?: (...) | (...);
                                  name?: (...) | (...);
                                  onBehalfOf?: (...) | (...);
                                  [key: string]: unknown;
                              };
                              container?: (...)[];
                              context: {
                                  attributes?: ...;
                                  id: ...;
                                  links?: ...;
                                  type?: ...;
                                  [key: ...]: ...;
                              }[];
                              location?: {
                                  city?: ...;
                                  countryName?: ...;
                                  geo?: ...;
                                  ip?: ...;
                                  regionName?: ...;
                                  [key: ...]: ...;
                              };
                              time: Date;
                              [key: string]: unknown;
                          };
                          id: string;
                          links: { self: string
                          | null; [key: string]: unknown };
                          message?: {
                              content?: (...) | (...);
                              format?: (...) | (...);
                              [key: string]: unknown;
                          };
                          type: string & {}
                          | "events";
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      meta?: {
                          attributes?: unknown;
                          count?: number;
                          current?: number;
                          end_index?: number;
                          next?: string
                          | null;
                          page_size?: number;
                          prev?: string;
                          start_index?: number;
                          total?: number;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              pollEvents: (
                  parameters: {
                      cursor?: string;
                      from?: string;
                      limit?: number;
                      orgId: string;
                      sortOrder?: "desc" | string & {} | "asc";
                      to?: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              action: string;
                              actor: {
                                  app?: (...)
                                  | (...);
                                  auth?: (...) | (...);
                                  email?: (...) | (...);
                                  id: string;
                                  links?: (...) | (...);
                                  name?: (...) | (...);
                                  onBehalfOf?: (...) | (...);
                                  [key: string]: unknown;
                              };
                              container?: (...)[];
                              context: {
                                  attributes?: ...;
                                  id: ...;
                                  links?: ...;
                                  type?: ...;
                                  [key: ...]: ...;
                              }[];
                              location?: {
                                  city?: ...;
                                  countryName?: ...;
                                  geo?: ...;
                                  ip?: ...;
                                  regionName?: ...;
                                  [key: ...]: ...;
                              };
                              processedAt: Date;
                              time: Date;
                              [key: string]: unknown;
                          };
                          id: string;
                          links: { self: string
                          | null; [key: string]: unknown };
                          message?: {
                              content?: (...) | (...);
                              format?: (...) | (...);
                              [key: string]: unknown;
                          };
                          type: string & {}
                          | "events";
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      meta?: { next?: string; page_size?: number; [key: string]: unknown };
                      [key: string]: unknown;
                  },
              >;
          };
          groups: {
              addUserToGroup: (
                  parameters: {
                      accountId: string;
                      directoryId: string;
                      groupId: string;
                      orgId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              createGroup: (
                  parameters: {
                      description?: string;
                      directoryId: string;
                      name: string;
                      orgId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              deleteGroup: (
                  parameters: { directoryId: string; groupId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<void>;
              getGroup: (
                  parameters: { directoryId: string; groupId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          counts?: {
                              resources?: number;
                              users?: number;
                              [key: string]: unknown;
                          };
                          description?: string;
                          directoryId?: string;
                          externalSynced?: boolean;
                          id?: string;
                          links?: { self?: string
                          | null; [key: string]: unknown };
                          managedBy?: string;
                          managementAccess?: {
                              deletable?: boolean;
                              modifiable?: boolean;
                              readable?: boolean;
                              [key: string]: unknown;
                          };
                          name?: string;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getGroupRoleAssignments: (
                  parameters: {
                      cursor?: string;
                      directoryId: string;
                      directoryIds?: string[];
                      groupId: string;
                      limit?: number;
                      orgId: string;
                      resourceIds?: string[];
                      resourceOwners?: string[];
                      roleIds?: (
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/ai-access"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder"
                      )[];
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          defaultRole?: string
                          | null;
                          resourceId?: string;
                          resourceOwner?: string;
                          roles?: string[];
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getGroups: (
                  parameters: {
                      accountIds?: string[];
                      counts?: { includeResources?: boolean; includeUsers?: boolean };
                      cursor?: string;
                      directoryId: string;
                      directoryIds?: string[];
                      groupIds?: string[];
                      limit?: number;
                      orgId: string;
                      resourceIds?: string[];
                      resourceOwners?: string[];
                      roleIds?: (
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/ai-access"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder"
                      )[];
                      searchTerm?: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          counts?: {
                              resources?: (...)
                              | (...);
                              users?: (...) | (...);
                              [key: string]: unknown;
                          };
                          description?: string;
                          directoryId?: string;
                          externalSynced?: boolean;
                          id?: string;
                          links?: { self?: (...)
                          | (...)
                          | (...); [key: string]: unknown };
                          managedBy?: string;
                          managementAccess?: {
                              deletable?: (...) | (...) | (...);
                              modifiable?: (...) | (...) | (...);
                              readable?: (...) | (...) | (...);
                              [key: string]: unknown;
                          };
                          name?: string;
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getGroupsCount: (
                  parameters: {
                      accountIds?: string[];
                      directoryId: string;
                      directoryIds?: string[];
                      groupIds?: string[];
                      orgId: string;
                      resourceIds?: string[];
                      resourceOwners?: string[];
                      roleIds?: (
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/ai-access"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder"
                      )[];
                      searchTerm?: string;
                  },
                  options?: RequestOptions,
              ) => Promise<{ count?: number; [key: string]: unknown }>;
              getGroupsStats: (
                  parameters: { directoryId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      totals?: {
                          all?: number;
                          managed?: number;
                          synced?: number;
                          [key: string]: unknown;
                      };
                      types?: {
                          count?: number;
                          type?: string & {}
                          | "USERBASE_GROUP"
                          | "TEAM"
                          | "GROUP";
                          [key: string]: unknown;
                      }[];
                      [key: string]: unknown;
                  },
              >;
              grantGroupAccess: (
                  parameters: {
                      directoryId: string;
                      groupId: string;
                      orgId: string;
                      resourceId: string;
                      roleId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              removeUserFromGroup: (
                  parameters: {
                      accountId: string;
                      directoryId: string;
                      groupId: string;
                      orgId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              revokeGroupAccess: (
                  parameters: {
                      directoryId: string;
                      groupId: string;
                      orgId: string;
                      resourceId: string;
                      roleId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              searchDirectoryGroups: (
                  parameters: {
                      accountIds?: string[];
                      cursor?: string;
                      directoryId: string;
                      directoryIds?: string[];
                      expand?: (string & {} | "counts.resources" | "counts.users")[];
                      groupIds?: string[];
                      groupNames?: string[];
                      limit?: number;
                      orgId: string;
                      resourceIds?: string[];
                      resourceOwners?: string[];
                      roleIds?: string[];
                      searchTerm?: string;
                      sortBy?: {
                          direction: "desc" | string & {} | "asc";
                          field: "name" | string & {};
                          [key: string]: unknown;
                      }[];
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data: {
                          counts?: {
                              resources?: number;
                              users?: number;
                              [key: string]: unknown;
                          };
                          description?: string;
                          directoryId?: string;
                          externalSynced?: boolean;
                          id?: string;
                          links?: { self?: string
                          | null; [key: string]: unknown };
                          managedBy?: string;
                          managementAccess?: {
                              deletable?: boolean;
                              modifiable?: boolean;
                              readable?: boolean;
                              [key: string]: unknown;
                          };
                          name?: string;
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
          };
          orgs: {
              getOrgById: (
                  parameters: { orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: { name?: string; [key: string]: unknown };
                          id: string;
                          links: { self: string | null; [key: string]: unknown };
                          relationships: {
                              domains?: {
                                  links?: (...) | (...);
                                  related?: (...) | (...);
                                  [key: string]: unknown;
                              };
                              users?: {
                                  links?: (...)
                                  | (...);
                                  related?: (...) | (...);
                                  [key: string]: unknown;
                              };
                              [key: string]: unknown;
                          };
                          type: string & {}
                          | "orgs";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getOrgs: (
                  parameters?: { cursor?: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: { name?: string; [key: string]: unknown };
                          id: string;
                          links: { self: string | null; [key: string]: unknown };
                          relationships: {
                              domains?: { links?: ...; related?: ...; [key: ...]: ... };
                              users?: { links?: ...; related?: ...; [key: ...]: ... };
                              [key: string]: unknown;
                          };
                          type: string & {}
                          | "orgs";
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      meta?: unknown;
                      [key: string]: unknown;
                  },
              >;
          };
          policies: {
              addResourceToPolicy: (
                  parameters: {
                      id: string;
                      links?: { ticket?: string; [key: string]: unknown };
                      meta?: {
                          atlassianAccountId?: string;
                          migrationEndDataTime?: string;
                          migrationStartDateTime?: string;
                          scheduledDate?: string;
                          [key: string]: unknown;
                      };
                      orgId: string;
                      policyId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              createdAt?: string;
                              id?: string;
                              metadata?: unknown;
                              name?: string;
                              ownerId?: string;
                              queryData?: unknown;
                              resources?: {
                                  applicationStatus: ...;
                                  createdAt?: ...;
                                  id: ...;
                                  links?: ...;
                                  meta?: ...;
                                  metadata?: ...;
                                  type?: ...;
                                  updatedAt?: ...;
                                  [key: ...]: ...;
                              }[];
                              rule?: unknown[]
                              | { in?: (...) | (...); [key: string]: unknown };
                              status?: "disabled" | string & {} | "enabled";
                              type:
                                  | string & {}
                                  | "ip-allowlist"
                                  | "data-residency"
                                  | "data-security"
                                  | "admin-notification-settings"
                                  | "generative-ai"
                                  | "hipaa"
                                  | "ugc-data-use-preferences"
                                  | "user-join-settings-default";
                              updatedAt?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links?: Record<string, any>;
                          message?: unknown;
                          type: string & {} | "policy";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              createPolicy: (
                  parameters: {
                      data?: {
                          attributes: {
                              name?: string;
                              resources?: {
                                  id: string;
                                  links?: (...) | (...);
                                  meta?: (...) | (...);
                                  [key: string]: unknown;
                              }[];
                              rule?: { in?: (...)[]; [key: string]: unknown };
                              status?: "disabled" | string & {} | "enabled";
                              type: string & {} | "ip-allowlist" | "data-residency";
                              [key: string]: unknown;
                          };
                          type: string & {}
                          | "policy";
                          [key: string]: unknown;
                      };
                      orgId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              createdAt?: string;
                              id?: string;
                              metadata?: unknown;
                              name?: string;
                              ownerId?: string;
                              queryData?: unknown;
                              resources?: {
                                  applicationStatus: ...;
                                  createdAt?: ...;
                                  id: ...;
                                  links?: ...;
                                  meta?: ...;
                                  metadata?: ...;
                                  type?: ...;
                                  updatedAt?: ...;
                                  [key: ...]: ...;
                              }[];
                              rule?: unknown[]
                              | { in?: (...) | (...); [key: string]: unknown };
                              status?: "disabled" | string & {} | "enabled";
                              type:
                                  | string & {}
                                  | "ip-allowlist"
                                  | "data-residency"
                                  | "data-security"
                                  | "admin-notification-settings"
                                  | "generative-ai"
                                  | "hipaa"
                                  | "ugc-data-use-preferences"
                                  | "user-join-settings-default";
                              updatedAt?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links?: Record<string, any>;
                          message?: unknown;
                          type: string & {} | "policy";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              deletePolicy: (
                  parameters: { orgId: string; policyId: string },
                  options?: RequestOptions,
              ) => Promise<void>;
              deletePolicyResource: (
                  parameters: { orgId: string; policyId: string; resourceId: string },
                  options?: RequestOptions,
              ) => Promise<void>;
              getPolicies: (
                  parameters: { cursor?: string; orgId: string; type?: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              createdAt?: string;
                              id?: string;
                              metadata?: unknown;
                              name?: string;
                              ownerId?: string;
                              queryData?: unknown;
                              resources?: (...)[];
                              rule?: (...)[] | { in?: ...; [key: ...]: ... };
                              status?: "disabled" | (...) & (...) | "enabled";
                              type:
                                  | (...) & (...)
                                  | "ip-allowlist"
                                  | "data-residency"
                                  | "data-security"
                                  | "admin-notification-settings"
                                  | "generative-ai"
                                  | "hipaa"
                                  | "ugc-data-use-preferences"
                                  | "user-join-settings-default";
                              updatedAt?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links?: Record<string, any>;
                          message?: unknown;
                          type: string & {} | "policy";
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      meta?: {
                          attributes?: unknown;
                          current?: number;
                          end_index?: number;
                          next?: string
                          | null;
                          page_size?: number;
                          prev?: string;
                          start_index?: number;
                          total?: number;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getPolicyById: (
                  parameters: { orgId: string; policyId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              createdAt?: string;
                              id?: string;
                              metadata?: unknown;
                              name?: string;
                              ownerId?: string;
                              queryData?: unknown;
                              resources?: {
                                  applicationStatus: ...;
                                  createdAt?: ...;
                                  id: ...;
                                  links?: ...;
                                  meta?: ...;
                                  metadata?: ...;
                                  type?: ...;
                                  updatedAt?: ...;
                                  [key: ...]: ...;
                              }[];
                              rule?: unknown[]
                              | { in?: (...) | (...); [key: string]: unknown };
                              status?: "disabled" | string & {} | "enabled";
                              type:
                                  | string & {}
                                  | "ip-allowlist"
                                  | "data-residency"
                                  | "data-security"
                                  | "admin-notification-settings"
                                  | "generative-ai"
                                  | "hipaa"
                                  | "ugc-data-use-preferences"
                                  | "user-join-settings-default";
                              updatedAt?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links?: Record<string, any>;
                          message?: unknown;
                          type: string & {} | "policy";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              updatePolicy: (
                  parameters: {
                      data?: {
                          attributes: {
                              name?: string;
                              resources?: {
                                  id: string;
                                  links?: (...) | (...);
                                  meta?: (...) | (...);
                                  [key: string]: unknown;
                              }[];
                              rule?: { in?: (...)[]; [key: string]: unknown };
                              status?: "disabled" | string & {} | "enabled";
                              type: string & {} | "ip-allowlist" | "data-residency";
                              [key: string]: unknown;
                          };
                          id?: string;
                          type: string & {}
                          | "policy";
                          [key: string]: unknown;
                      };
                      orgId: string;
                      policyId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              createdAt?: string;
                              id?: string;
                              metadata?: unknown;
                              name?: string;
                              ownerId?: string;
                              queryData?: unknown;
                              resources?: {
                                  applicationStatus: ...;
                                  createdAt?: ...;
                                  id: ...;
                                  links?: ...;
                                  meta?: ...;
                                  metadata?: ...;
                                  type?: ...;
                                  updatedAt?: ...;
                                  [key: ...]: ...;
                              }[];
                              rule?: unknown[]
                              | { in?: (...) | (...); [key: string]: unknown };
                              status?: "disabled" | string & {} | "enabled";
                              type:
                                  | string & {}
                                  | "ip-allowlist"
                                  | "data-residency"
                                  | "data-security"
                                  | "admin-notification-settings"
                                  | "generative-ai"
                                  | "hipaa"
                                  | "ugc-data-use-preferences"
                                  | "user-join-settings-default";
                              updatedAt?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links?: Record<string, any>;
                          message?: unknown;
                          type: string & {} | "policy";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              updatePolicyResource: (
                  parameters: {
                      links?: { ticket?: string; [key: string]: unknown };
                      meta?: {
                          atlassianAccountId?: string;
                          migrationEndDataTime?: string;
                          migrationStartDateTime?: string;
                          scheduledDate?: string;
                          [key: string]: unknown;
                      };
                      orgId: string;
                      policyId: string;
                      resourceId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          attributes: {
                              createdAt?: string;
                              id?: string;
                              metadata?: unknown;
                              name?: string;
                              ownerId?: string;
                              queryData?: unknown;
                              resources?: {
                                  applicationStatus: ...;
                                  createdAt?: ...;
                                  id: ...;
                                  links?: ...;
                                  meta?: ...;
                                  metadata?: ...;
                                  type?: ...;
                                  updatedAt?: ...;
                                  [key: ...]: ...;
                              }[];
                              rule?: unknown[]
                              | { in?: (...) | (...); [key: string]: unknown };
                              status?: "disabled" | string & {} | "enabled";
                              type:
                                  | string & {}
                                  | "ip-allowlist"
                                  | "data-residency"
                                  | "data-security"
                                  | "admin-notification-settings"
                                  | "generative-ai"
                                  | "hipaa"
                                  | "ugc-data-use-preferences"
                                  | "user-join-settings-default";
                              updatedAt?: string;
                              [key: string]: unknown;
                          };
                          id: string;
                          links?: Record<string, any>;
                          message?: unknown;
                          type: string & {} | "policy";
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              validatePolicy: (
                  parameters: { orgId: string; policyId: string },
                  options?: RequestOptions,
              ) => Promise<void>;
          };
          users: {
              assignOrganizationRole: (
                  parameters: {
                      orgId: string;
                      role: string & {} | "atlassian/org-admin";
                      userId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              getDirectoryUserDetails: (
                  parameters: { accountId: string; directoryId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          accountId?: string;
                          accountStatus?: "active"
                          | "inactive"
                          | "closed"
                          | string & {};
                          accountType?: string & {} | "atlassian";
                          addedToOrg?: string;
                          avatar?: string;
                          claimStatus?: string & {} | "managed" | "unmanaged";
                          counts?: { resources?: number; [key: string]: unknown };
                          deactivatedOn?: string | null;
                          department?: string | null;
                          email?: string;
                          emailVerified?: boolean;
                          forDeletion?: boolean;
                          jobTitle?: string;
                          links?: Record<string, any>;
                          location?: string | null;
                          managementSource?: string & {} | "synced" | "invited" | null;
                          membershipStatus?:
                              | "active"
                              | "suspended"
                              | string & {}
                              | "no_membership";
                          mfaEnabled?: boolean;
                          name?: string;
                          nickname?: string;
                          organization?: string
                          | null;
                          picture?: string;
                          platformRoles?: (
                              | (...) & (...)
                              | "atlassian/org-admin"
                              | "atlassian/site-admin"
                              | "atlassian/user-access-admin"
                              | "atlassian/ai-access"
                          )[];
                          status?:
                              | "active"
                              | "suspended"
                              | string & {}
                              | "not_invited"
                              | "deactivated"
                              | "for_deletion";
                          timeZone?: string
                          | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getDirectoryUsers: (
                  parameters: {
                      accountIds?: string[];
                      accountStatus?: ("active" | "inactive" | "closed" | string & {})[];
                      claimStatus?: string & {} | "managed" | "unmanaged";
                      cursor?: string;
                      directoryId: string;
                      directoryIds?: string[];
                      emailDomains?: string[];
                      groupIds?: string[];
                      limit?: number;
                      membershipStatus?: (
                          "active"
                          | "suspended"
                          | string & {}
                          | "no_membership"
                      )[];
                      mfaEnabled?: boolean;
                      orgId: string;
                      resourceIds?: string[];
                      roleIds?: (
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/ai-access"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder"
                      )[];
                      searchTerm?: string;
                      status?: (
                          | "active"
                          | "suspended"
                          | string & {}
                          | "not_invited"
                          | "deactivated"
                          | "for_deletion"
                      )[];
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          accountId?: string;
                          accountStatus?: "active"
                          | "inactive"
                          | "closed"
                          | string & {};
                          accountType?: string & {} | "atlassian";
                          addedToOrg?: string;
                          avatar?: string;
                          claimStatus?: string & {} | "managed" | "unmanaged";
                          counts?: { resources?: (...) | (...); [key: string]: unknown };
                          deactivatedOn?: string;
                          department?: string | null;
                          email?: string;
                          emailVerified?: boolean;
                          forDeletion?: boolean;
                          groups?: { description?: ...; id?: ...; name?: ...; [key: ...]: ... }[];
                          jobTitle?: string;
                          links?: { self?: (...) | (...) | (...); [key: string]: unknown };
                          location?: string | null;
                          managementSource?: string & {} | "synced" | "invited" | null;
                          membershipStatus?:
                              | "active"
                              | "suspended"
                              | string & {}
                              | "no_membership";
                          mfaEnabled?: boolean;
                          name?: string;
                          nickname?: string;
                          organization?: string
                          | null;
                          picture?: string;
                          platformRoles?: ((...) | (...) | (...) | (...) | (...))[];
                          productAccess?: {
                              id?: ...;
                              key?: ...;
                              lastActiveTimestamp?: ...;
                              [key: ...]: ...;
                          }[];
                          status?: | "active"
                          | "suspended"
                          | string & {}
                          | "not_invited"
                          | "deactivated"
                          | "for_deletion";
                          timeZone?: string
                          | null;
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getDirectoryUsersCount: (
                  parameters: {
                      accountIds?: string[];
                      accountStatus?: ("active" | "inactive" | "closed" | string & {})[];
                      claimStatus?: string & {} | "managed" | "unmanaged";
                      directoryId: string;
                      directoryIds?: string[];
                      emailDomains?: string[];
                      groupIds?: string[];
                      membershipStatus?: (
                          "active"
                          | "suspended"
                          | string & {}
                          | "no_membership"
                      )[];
                      mfaEnabled?: boolean;
                      orgId: string;
                      resourceIds?: string[];
                      roleIds?: (
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/ai-access"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder"
                      )[];
                      searchTerm?: string;
                      status?: (
                          | "active"
                          | "suspended"
                          | string & {}
                          | "not_invited"
                          | "deactivated"
                          | "for_deletion"
                      )[];
                  },
                  options?: RequestOptions,
              ) => Promise<{ count?: number; [key: string]: unknown }>;
              getUserLastActiveDates: (
                  parameters: { accountId: string; cursor?: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          added_to_org?: string
                          | null;
                          added_to_org_timestamp?: Date | null;
                          product_access: {
                              id: string;
                              key:
                                  | (...) & (...)
                                  | "jira-software"
                                  | "jira-service-desk"
                                  | "jira-core"
                                  | "jira-ops"
                                  | "stride"
                                  | "hipchat"
                                  | "confluence"
                                  | "bitbucket"
                                  | "trello"
                                  | "opsgenie"
                                  | "statuspage";
                              last_active?: string;
                              last_active_timestamp?: Date;
                              [key: string]: unknown;
                          }[];
                          [key: string]: unknown;
                      };
                      links?: { next?: string
                      | null; [key: string]: unknown };
                      [key: string]: unknown;
                  },
              >;
              getUserRoleAssignments: (
                  parameters: {
                      accountId: string;
                      cursor?: string;
                      directoryId: string;
                      directoryIds?: string[];
                      limit?: number;
                      orgId: string;
                      resourceIds?: string[];
                      resourceOwners?: string[];
                      roleIds?: (
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/ai-access"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder"
                      )[];
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          directoryId?: string
                          | null;
                          resourceId?: string;
                          resourceOwner?: string;
                          roleAssignments?: {
                              role?: ...;
                              roleAssignmentMethods?: ...;
                              [key: ...]: ...;
                          }[];
                          roles?: string[];
                          userDirectoryStatus?: | "active"
                          | "suspended"
                          | string & {}
                          | "no_membership"
                          | null;
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              getUsers: (
                  parameters: { cursor?: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          access_billable?: boolean;
                          account_id: string;
                          account_status: "active"
                          | "inactive"
                          | "closed"
                          | string & {};
                          account_type: string & {} | "atlassian" | "app" | "customer";
                          email?: string;
                          last_active?: Date;
                          links?: { self: (...) | (...); [key: string]: unknown };
                          name: string;
                          picture: string;
                          product_access?: {
                              key: ...;
                              last_active?: ...;
                              name: ...;
                              url?: ...;
                              [key: ...]: ...;
                          }[];
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      meta?: { total?: number; [key: string]: unknown };
                      [key: string]: unknown;
                  },
              >;
              getUserStats: (
                  parameters: { directoryId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      accountStatus?: {
                          count?: number;
                          status?: "active"
                          | "inactive"
                          | "closed"
                          | string & {};
                          [key: string]: unknown;
                      }[];
                      roles?: { count?: number; roleId?: string; [key: string]: unknown }[];
                      [key: string]: unknown;
                  },
              >;
              grantUserAccess: (
                  parameters: {
                      orgId: string;
                      resource?: string;
                      role:
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder";
                      userId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              inviteUsers: (
                  parameters: {
                      additionalGroups?: string[];
                      emails: string[];
                      notificationText?: string;
                      orgId: string;
                      permissionRules?: {
                          resource: string;
                          role: string;
                          [key: string]: unknown;
                      }[];
                      sendNotification?: boolean;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          email?: string;
                          id?: string;
                          results?: {
                              groupAssignmentResult?: ...;
                              roleAssignmentResult?: ...;
                              [key: ...]: ...;
                          }[];
                          [key: string]: unknown;
                      }[];
                      [key: string]: unknown;
                  },
              >;
              removeDirectoryUser: (
                  parameters: { accountId: string; directoryId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<void>;
              restoreDirectoryUser: (
                  parameters: { accountId: string; directoryId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<void>;
              revokeOrganizationRole: (
                  parameters: {
                      orgId: string;
                      role: string & {} | "atlassian/org-admin";
                      userId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              revokeUserAccess: (
                  parameters: {
                      orgId: string;
                      resource?: string;
                      role:
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder";
                      userId: string;
                  },
                  options?: RequestOptions,
              ) => Promise<void>;
              searchDirectoryUsers: (
                  parameters: {
                      accountIds?: string[];
                      accountStatus?: ("active" | "inactive" | "closed" | string & {})[];
                      claimStatus?: string & {} | "managed" | "unmanaged";
                      cursor?: string;
                      directoryId: string;
                      directoryIds?: string[];
                      emailDomains?: string[];
                      emails?: string[];
                      expand?: (
                          | "groups"
                          | string & {}
                          | "platformRoles"
                          | "productAccess"
                          | "counts.resources"
                      )[];
                      groupIds?: string[];
                      limit?: number;
                      membershipStatus?: (
                          "active"
                          | "suspended"
                          | string & {}
                          | "no_membership"
                      )[];
                      mfaEnabled?: boolean;
                      orgId: string;
                      resourceIds?: string[];
                      roleIds?: (
                          | string & {}
                          | "atlassian/org-admin"
                          | "atlassian/site-admin"
                          | "atlassian/user-access-admin"
                          | "atlassian/ai-access"
                          | "atlassian/user"
                          | "atlassian/admin"
                          | "atlassian/guest"
                          | "atlassian/customer"
                          | "atlassian/contributor"
                          | "atlassian/basic"
                          | "atlassian/stakeholder"
                      )[];
                      searchTerm?: string;
                      sortBy?: {
                          direction: "desc"
                          | string & {}
                          | "asc";
                          field: string & {} | "nick_name";
                          [key: string]: unknown;
                      }[];
                      status?: (
                          | "active"
                          | "suspended"
                          | string & {}
                          | "not_invited"
                          | "deactivated"
                          | "for_deletion"
                      )[];
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data: {
                          accountId?: string;
                          accountStatus?: "active"
                          | "inactive"
                          | "closed"
                          | string & {};
                          accountType?: string & {} | "atlassian";
                          addedToOrg?: string;
                          avatar?: string;
                          claimStatus?: string & {} | "managed" | "unmanaged";
                          counts?: { resources?: number; [key: string]: unknown };
                          deactivatedOn?: string;
                          department?: string | null;
                          email?: string;
                          emailVerified?: boolean;
                          forDeletion?: boolean;
                          groups?: {
                              description?: (...) | (...) | (...);
                              id?: (...) | (...);
                              name?: (...) | (...) | (...);
                              [key: string]: unknown;
                          }[];
                          jobTitle?: string;
                          links?: { self?: string
                          | null; [key: string]: unknown };
                          location?: string | null;
                          managementSource?: string & {} | "synced" | "invited" | null;
                          membershipStatus?:
                              | "active"
                              | "suspended"
                              | string & {}
                              | "no_membership";
                          mfaEnabled?: boolean;
                          name?: string;
                          nickname?: string;
                          organization?: string
                          | null;
                          picture?: string;
                          platformRoles?: (
                              | (...) & (...)
                              | "atlassian/org-admin"
                              | "atlassian/site-admin"
                              | "atlassian/user-access-admin"
                              | "atlassian/ai-access"
                          )[];
                          productAccess?: {
                              id?: (...) | (...);
                              key?: (...) | (...);
                              lastActiveTimestamp?: (...) | (...);
                              [key: string]: unknown;
                          }[];
                          status?: | "active"
                          | "suspended"
                          | string & {}
                          | "not_invited"
                          | "deactivated"
                          | "for_deletion";
                          timeZone?: string
                          | null;
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
              suspendDirectoryUser: (
                  parameters: { accountId: string; directoryId: string; orgId: string },
                  options?: RequestOptions,
              ) => Promise<void>;
          };
          workspaces: {
              queryWorkspaces: (
                  parameters: {
                      cursor?: string | null;
                      limit?: number;
                      orgId: string;
                      query?: unknown;
                      sort?:
                          | {
                              field?: string;
                              order?: "desc"
                              | string & {}
                              | "asc";
                              [key: string]: unknown;
                          }[]
                          | null;
                  },
                  options?: RequestOptions,
              ) => Promise<
                  {
                      data?: {
                          appType?: string;
                          attributes?: {
                              avatars?: (...)
                              | (...);
                              capacity?: (...) | (...) | (...);
                              createdAt?: (...) | (...) | (...);
                              createdBy?: (...) | (...) | (...);
                              directory?: (...) | (...);
                              hostUrl?: (...) | (...) | (...);
                              icons?: (...) | (...);
                              labels?: (...) | (...);
                              name?: (...) | (...);
                              owner?: (...) | (...) | (...);
                              realm?: (...) | (...);
                              regions?: (...) | (...);
                              sandbox?: (...) | (...) | (...);
                              status?: (...) | (...) | (...) | (...) | (...);
                              statusDetails?: (...) | (...);
                              type?: (...) | (...);
                              typeKey?: (...) | (...);
                              unit?: (...) | (...);
                              updatedAt?: (...) | (...) | (...);
                              usage?: (...) | (...) | (...);
                              [key: string]: unknown;
                          };
                          id?: string;
                          links?: { self: (...)
                          | (...); [key: string]: unknown };
                          relationships?: Record<string, any>;
                          type?: string;
                          [key: string]: unknown;
                      }[];
                      links?: {
                          next?: string
                          | null;
                          prev?: string | null;
                          self?: string | null;
                          [key: string]: unknown;
                      };
                      meta?: {
                          attributes?: unknown;
                          endIndex?: number
                          | null;
                          pageSize?: number;
                          startIndex?: number | null;
                          total?: number;
                          [key: string]: unknown;
                      };
                      [key: string]: unknown;
                  },
              >;
          };
      }