/** * 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. */ export interface _MFAChallengeMethodSpec { /** * The priority of this challenge method. Priority is how the user specifies which challenge method to be notified with if that method is supported. A priority of 1 is the highest priority and indicates that the user prefers this challenge method. */ priority: number; /** * The type of challenge to issue. This controls how the user is informed of the challenge, as well as how the challenge can be satisfied. The follow types are supported: - sms: a `sms` challenge informs the user via text message of the challenge. The challenge can be answered via the link provided in the text message. The user can deny the challenge via this mechanism as well. - web_push: a `web_push` challenge informs the user of the challenge on every device they have registered via the web push (rfc8030) mechanism. If the user accepts via the link provided in the web push, the challenge will be satisfied. The user can deny the challenge via this mechanism as well. - totp: a time-based one-time password challenge allows the user to enter the code from their registered - webauthn: a challenge issued for a specific device the user has possession of. Either a yubikey, or a phone that has a Trusted Platform Module. device and application. - one_time_use_action: a challenge whose acceptance or rejection takes an action on behalf of a user. Typically this is used when wanting to respond to events through a messaging platform. - code: a one time use challenge which may be redeemed through a code. This code is typically shared to the user who copies it from one machine to another. This is a variation of web_push where, instead of sending the code via webpush, the caller runs their own protocol to communicate it. The same answer mechanism (a link) is used. enum: [sms, web_push, totp, webauthn, one_time_use_action, code] example: web_push */ challenge_type: string; /** * The specific device to issue the challenge to. The meaning of this field may change depending on the challenge type specified. */ endpoint: string; /** * The origin the method was registered at. This is only used if the challenge type is WebAuthN */ origin?: string; /** * A descriptive name the user can set to differentiate their challenge methods. */ nickname?: string; /** * The state of the challenge method. A value of true indicates that the method is active. A value of false indicates that the method is disabled. When a method is disabled it will not be used as an authentication factor when the user logs in. */ enabled?: boolean; } export interface MFAChallengeMethodSpec extends _MFAChallengeMethodSpec { _builtin_original?: _MFAChallengeMethodSpec; _remove_builtin_extensions?: () => void; } export declare class MFAChallengeMethodSpecImpl implements _MFAChallengeMethodSpec { _builtin_original?: _MFAChallengeMethodSpec; priority: number; challenge_type: string; endpoint: string; origin: string | undefined; nickname: string | undefined; enabled: boolean | undefined; constructor(base: _MFAChallengeMethodSpec); _remove_builtin_extensions(): void; } export declare function newMFAChallengeMethodSpecImpl(base: _MFAChallengeMethodSpec): MFAChallengeMethodSpecImpl;