/** * 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 { HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs'; import { APIKey } from '../model/models'; import { APIKeyIntrospect } from '../model/models'; import { APIKeyIntrospectResponse } from '../model/models'; import { APIKeyOpStatus } from '../model/models'; import { AuthenticationDocument } from '../model/models'; import { BulkSessionOperationResponse } from '../model/models'; import { BulkTokenRevoke } from '../model/models'; import { BulkTokenRevokeResponse } from '../model/models'; import { CreateSessionAndTokenRequest } from '../model/models'; import { CreateSessionAndTokenResponse } from '../model/models'; import { CreateTokenRequest } from '../model/models'; import { CreateUserDataTokenRequest } from '../model/models'; import { IdentityAssertion } from '../model/models'; import { IdentityAssertionResponse } from '../model/models'; import { ListAPIKeysResponse } from '../model/models'; import { ListAuthenticationDocumentResponse } from '../model/models'; import { ListJWKS } from '../model/models'; import { ListSessionsResponse } from '../model/models'; import { ListTokensResponse } from '../model/models'; import { ManyOrgTokenIntrospectResponse } from '../model/models'; import { RawToken } from '../model/models'; import { RefreshTokenRequest } from '../model/models'; import { Session } from '../model/models'; import { SessionChallenge } from '../model/models'; import { Token } from '../model/models'; import { TokenIntrospect } from '../model/models'; import { TokenReissueRequest } from '../model/models'; import { TokenRevoke } from '../model/models'; import { UserSessionIdentifiers } from '../model/models'; import { Configuration } from '../configuration'; export interface CreateApiKeyRequestParams { APIKey: APIKey; } export interface CreateApiKeyIntrospectionRequestParams { APIKeyIntrospect: APIKeyIntrospect; } export interface CreateAuthenticationDocumentRequestParams { AuthenticationDocument: AuthenticationDocument; } export interface CreateBulkDeleteSessionTaskRequestParams { UserSessionIdentifiers: UserSessionIdentifiers; } export interface CreateBulkRevokeSessionTaskRequestParams { UserSessionIdentifiers: UserSessionIdentifiers; } export interface CreateBulkRevokeTokenTaskRequestParams { BulkTokenRevoke: BulkTokenRevoke; } export interface CreateIntrospectTokenRequestParams { TokenIntrospect: TokenIntrospect; } export interface CreateIntrospectTokenAllSubOrgsRequestParams { TokenIntrospect: TokenIntrospect; } export interface CreateReissuedTokenRequestParams { TokenReissueRequest: TokenReissueRequest; } export interface CreateRevokeTokenTaskRequestParams { TokenRevoke: TokenRevoke; } export interface CreateSessionRequestParams { Session: Session; } export interface CreateSessionAndTokenRequestParams { CreateSessionAndTokenResponse: CreateSessionAndTokenResponse; } export interface CreateSessionChallengeRequestParams { SessionChallenge: SessionChallenge; } export interface CreateTokenRequestParams { CreateTokenRequest: CreateTokenRequest; } export interface CreateTokenValidationRequestParams { CreateTokenRequest: CreateTokenRequest; } export interface CreateUserDataTokenRequestParams { CreateUserDataTokenRequest: CreateUserDataTokenRequest; } export interface DeleteApiKeyRequestParams { api_key_id: string; user_id?: string; org_id?: string; } export interface DeleteAuthenticationDocumentRequestParams { document_id: string; user_id?: string; org_id?: string; } export interface DeleteSessionRequestParams { session_id: string; user_id?: string; org_id?: string; } export interface GetApiKeyRequestParams { api_key_id: string; user_id?: string; org_id?: string; } export interface GetAuthenticationDocumentRequestParams { document_id: string; user_id?: string; org_id?: string; } export interface GetSessionRequestParams { session_id: string; user_id?: string; org_id?: string; } export interface GetTokenRequestParams { exclude_roles?: boolean; } export interface ListApiKeysRequestParams { limit?: number; user_id?: string; org_id?: string; search_direction?: 'backwards' | 'forwards'; api_key_op_status?: APIKeyOpStatus; sort_order?: 'ascending' | 'descending'; page_at_created_date?: Date | null; not_api_key_op_status?: APIKeyOpStatus; label?: string; valid_at?: string; name?: string; scopes?: Array; } export interface ListAuthenticationDocumentsRequestParams { limit?: number; user_id?: string; org_id?: string; } export interface ListSessionsRequestParams { limit?: number; user_id?: string; org_id?: string; revoked?: boolean; created_time?: Date; previous_created_time?: Date; previous_user_id?: string; } export interface ListTokensRequestParams { limit?: number; sub?: string; exp_from?: string; exp_to?: string; iat_from?: string; iat_to?: string; jti?: string; org?: string; revoked?: boolean; session?: string; scopes?: Array; } export interface RefreshTokenRequestParams { RefreshTokenRequest: RefreshTokenRequest; } export interface ReplaceApiKeyRequestParams { api_key_id: string; APIKey: APIKey; user_id?: string; org_id?: string; } export interface ReplaceSessionRequestParams { session_id: string; Session: Session; } export interface UpdateSessionChallengeRequestParams { SessionChallenge: SessionChallenge; } export interface ValidateIdentityAssertionRequestParams { IdentityAssertion: IdentityAssertion; } export interface TokensServiceInterface { defaultHeaders: HttpHeaders; configuration: Configuration; /** * Create an API Key * Creates an API Key with the provided body. Note that the secret which serves as the key to provide access is only available when the API Key is created. * @param requestParameters */ createApiKey(requestParameters: CreateApiKeyRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Introspect an API Key * Introspect an API Key to determine its permissions * @param requestParameters */ createApiKeyIntrospection(requestParameters: CreateApiKeyIntrospectionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a authentication document * Creates an authentication document with the provided body * @param requestParameters */ createAuthenticationDocument(requestParameters: CreateAuthenticationDocumentRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Delete a set of sessions * Delete a set of sessions. The body parameters determine the set of sessions * @param requestParameters */ createBulkDeleteSessionTask(requestParameters: CreateBulkDeleteSessionTaskRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Revoke a set of sessions * Revoke a set of sessions. The body parameters determine the set of sessions * @param requestParameters */ createBulkRevokeSessionTask(requestParameters: CreateBulkRevokeSessionTaskRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Revoke a set of tokens * Revoke a set of tokens. The body parameters determine the set of tokens * @param requestParameters */ createBulkRevokeTokenTask(requestParameters: CreateBulkRevokeTokenTaskRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Introspect a token * Introspect a token * @param requestParameters */ createIntrospectToken(requestParameters: CreateIntrospectTokenRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Introspect a token in all sub orgs * Introspect a token in all sub orgs * @param requestParameters */ createIntrospectTokenAllSubOrgs(requestParameters: CreateIntrospectTokenAllSubOrgsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Issue a new token from another * Issues a new token with the same or reduced scope to the one presented. Use this to retrieve a token for accessing a different organisation than the one you\'re currently operating on. Note that the presented token remains valid if it already was. If it is not valid, or the you do not have permissions in the requested organisation, the request will fail. The token will expire at the same time as the presented token. * @param requestParameters */ createReissuedToken(requestParameters: CreateReissuedTokenRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Revoke a token * Revoke a token * @param requestParameters */ createRevokeTokenTask(requestParameters: CreateRevokeTokenTaskRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Create a session * Create a session * @param requestParameters */ createSession(requestParameters: CreateSessionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a session and a token associated with the session * Create a session and a token associated with the session * @param requestParameters */ createSessionAndToken(requestParameters: CreateSessionAndTokenRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a user challenge request for a session * Create a user challenge request for a session * @param requestParameters */ createSessionChallenge(requestParameters: CreateSessionChallengeRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a token * Create a token * @param requestParameters */ createToken(requestParameters: CreateTokenRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Validate a token request * Validate a token request prior to creating a token. This verifies the user has permission to access the scopes requested * @param requestParameters */ createTokenValidation(requestParameters: CreateTokenValidationRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a User Data Token * User Data tokens allow a signed in user to create specific claims that can be shared with another party that can be cryptographically verified. The resulting RawToken can be cryptographically verified with /v1/user_data_tokens/jwks * @param requestParameters */ createUserDataToken(requestParameters: CreateUserDataTokenRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Delete an API Key * Deletes the requested API Key * @param requestParameters */ deleteApiKey(requestParameters: DeleteApiKeyRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Delete a authentication document * Deletes the requested authentication document * @param requestParameters */ deleteAuthenticationDocument(requestParameters: DeleteAuthenticationDocumentRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Delete a session * Deletes the requested session * @param requestParameters */ deleteSession(requestParameters: DeleteSessionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Get an API Key * Gets the requested API Key * @param requestParameters */ getApiKey(requestParameters: GetApiKeyRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get a authentication document * Gets the requested authentication document * @param requestParameters */ getAuthenticationDocument(requestParameters: GetAuthenticationDocumentRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Return JSON Web Key Set (JWKS) * Return a list of JSON object that represents a cryptographic key. The members of the object represent properties of the key, including its value. */ getJwks(observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get a session * Gets the requested session * @param requestParameters */ getSession(requestParameters: GetSessionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * introspect token * \"introspect a token that is provided via the bearer authorization header\" * @param requestParameters */ getToken(requestParameters: GetTokenRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Return JSON Web Key Set (JWKS) * Return a list of JSON object that represents a cryptographic key. The members of the object represent properties of the key, including its value. */ getUserDataJwks(observe?: any, extraHeaders?: HttpHeaders): Observable; /** * List API Keys * Lists API Keys according to query parameters * @param requestParameters */ listApiKeys(requestParameters: ListApiKeysRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * List authentication documents * Lists authentication documents according to query parameters * @param requestParameters */ listAuthenticationDocuments(requestParameters: ListAuthenticationDocumentsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * List Sessions * Lists Sessions according to query parameters * @param requestParameters */ listSessions(requestParameters: ListSessionsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Query tokens * Query tokens * @param requestParameters */ listTokens(requestParameters: ListTokensRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Refresh a token * Refresh a token * @param requestParameters */ refreshToken(requestParameters: RefreshTokenRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Update an API key * Update an API key * @param requestParameters */ replaceApiKey(requestParameters: ReplaceApiKeyRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Update a session * Update a session * @param requestParameters */ replaceSession(requestParameters: ReplaceSessionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Update a session with its challenge answer * Update a session with its challenge answer * @param requestParameters */ updateSessionChallenge(requestParameters: UpdateSessionChallengeRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Validate an identity assertion * Validate an identity assertion to asscertain if the request for a token is valid * @param requestParameters */ validateIdentityAssertion(requestParameters: ValidateIdentityAssertionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; }