/** * Agilicus API * Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). * * The version of the OpenAPI document: 2025.12.16 * Contact: dev@agilicus.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { KerberosUpstreamIdentityProvider } from './kerberosUpstreamIdentityProvider'; import { AdminStatus } from './adminStatus'; import { ApplicationUpstreamIdentityProvider } from './applicationUpstreamIdentityProvider'; import { IssuerStatus } from './issuerStatus'; import { OIDCUpstreamIdentityProvider } from './oIDCUpstreamIdentityProvider'; import { LocalAuthUpstreamIdentityProvider } from './localAuthUpstreamIdentityProvider'; import { IssuerClient } from './issuerClient'; import { OperationalStatus } from './operationalStatus'; import { UpstreamGroupMapping } from './upstreamGroupMapping'; import { ManagedUpstreamIdentityProvider } from './managedUpstreamIdentityProvider'; export interface _Issuer { /** * Unique identifier */ readonly id?: string; /** * connect id issuer */ issuer: string; /** * Describes whether or not the issuer is enabled */ enabled?: boolean; /** * ID of the organisation which owns the issuer */ org_id?: string; /** * ID of the theme file. The theme file is a zip file containing the web assets to show the client on login. */ theme_file_id?: string; /** * Upstream redirect URI is the URI to which OpenID Connect upstreams will redirect after authentication. This is provisioned by Agilicus, but must be allowed by the upstream. */ upstream_redirect_uri?: string; /** * The set of managed upstream identity providers for this issuer. A managed upstream has its configuration managed by default, and can be enabled or disabled for this issuer via this api. */ managed_upstreams?: Array; /** * The set of OpenID Connect upstream identity providers configured for this issuer. An upstream is managed by the client, and can be configured for this issuer via this api. */ oidc_upstreams?: Array; /** * The set of local authentication upstream identity providers configured for this issuer. A local authentication upstream can be an onsite Agilicus Agent. */ local_auth_upstreams?: Array; /** * The set of application upstream identity providers configured for this issuer. Applications that can act as their own source of identity can be used as application upstreams. */ application_upstreams?: Array; /** * The set of kerberos upstream identity providers for this issuer. Device identity can be used to enable zero-interaction login for users on trusted devices which have already entered their credentials. */ kerberos_upstreams?: Array; /** * List of clients */ readonly clients?: Array; /** * List of upstream group mappings */ readonly upstream_group_mappings?: Array; /** * A human readable slug to identify a resource and that is rfc1035 label compliant. The length has been restricted to 20 characters such that this name can be concatenated with other names or slugs. A slug is readOnly as it is generated by the backend resource. */ name_slug?: string; /** * The encryption key used to secure the saml state. This is used to encrypt the saml cookie that is used to identify the user. */ saml_state_encryption_key?: string; /** * Service account GUID used for the issuer */ readonly service_account_id?: string; /** * Service account user GUID used for the issuer */ readonly service_account_user_id?: string; /** * The list of verified domains for the issuer. This is used to authorize users with multiple upstream identities but who are represented as a single user in the Agilicus System. For example agilicus.com would allow users whose email ended in @agilicus.com to login from multiple upstream identity providers. */ readonly verified_domains?: Array; admin_status?: AdminStatus; /** * Inidicates whether traps (notifications) should be disabled for this entity. A true state indicates notifications will not be sent on transition. */ trap_disabled?: boolean; operational_status?: OperationalStatus; /** * A unique identifier which can be empty. The meaning of it being empty depends on the context in which it is used, but usually it implies that something is not set. */ parent_issuer?: string | null; status?: IssuerStatus; } export interface Issuer extends _Issuer { _builtin_original?: _Issuer; _remove_builtin_extensions?: () => void; } export declare class IssuerImpl implements _Issuer { _builtin_original?: _Issuer; readonly id: string | undefined; issuer: string; enabled: boolean | undefined; org_id: string | undefined; theme_file_id: string | undefined; upstream_redirect_uri: string | undefined; managed_upstreams: Array | undefined; oidc_upstreams: Array | undefined; local_auth_upstreams: Array | undefined; application_upstreams: Array | undefined; kerberos_upstreams: Array | undefined; readonly clients: Array | undefined; readonly upstream_group_mappings: Array | undefined; name_slug: string | undefined; saml_state_encryption_key: string | undefined; readonly service_account_id: string | undefined; readonly service_account_user_id: string | undefined; readonly verified_domains: Array | undefined; admin_status: AdminStatus | undefined; trap_disabled: boolean | undefined; operational_status: OperationalStatus | undefined; parent_issuer: string | null | undefined; status: IssuerStatus | undefined; constructor(base: _Issuer); _remove_builtin_extensions(): void; } export declare function newIssuerImpl(base: _Issuer): IssuerImpl;