com.lithic.api.services.async.AuthRuleServiceAsync.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lithic-kotlin-core Show documentation
Show all versions of lithic-kotlin-core Show documentation
The Lithic Developer API is designed to provide a predictable programmatic
interface for accessing your Lithic account through an API and transaction
webhooks. Note that your API key is a secret and should be treated as such.
Don't share it with anyone, including us. We will never ask you for it.
// File generated from our OpenAPI spec by Stainless.
@file:Suppress("OVERLOADS_INTERFACE") // See https://youtrack.jetbrains.com/issue/KT-36102
package com.lithic.api.services.async
import com.lithic.api.core.RequestOptions
import com.lithic.api.models.AuthRule
import com.lithic.api.models.AuthRuleApplyParams
import com.lithic.api.models.AuthRuleCreateParams
import com.lithic.api.models.AuthRuleListPageAsync
import com.lithic.api.models.AuthRuleListParams
import com.lithic.api.models.AuthRuleMigrateV1ToV2Params
import com.lithic.api.models.AuthRuleMigrateV1ToV2Response
import com.lithic.api.models.AuthRuleRemoveParams
import com.lithic.api.models.AuthRuleRemoveResponse
import com.lithic.api.models.AuthRuleRetrieveParams
import com.lithic.api.models.AuthRuleRetrieveResponse
import com.lithic.api.models.AuthRuleUpdateParams
import com.lithic.api.services.async.authRules.V2ServiceAsync
interface AuthRuleServiceAsync {
fun v2(): V2ServiceAsync
/**
* Creates an authorization rule (Auth Rule) and applies it at the program, account, or card
* level.
*/
suspend fun create(
params: AuthRuleCreateParams,
requestOptions: RequestOptions = RequestOptions.none()
): AuthRule
/**
* Detail the properties and entities (program, accounts, and cards) associated with an existing
* authorization rule (Auth Rule).
*/
suspend fun retrieve(
params: AuthRuleRetrieveParams,
requestOptions: RequestOptions = RequestOptions.none()
): AuthRuleRetrieveResponse
/** Update the properties associated with an existing authorization rule (Auth Rule). */
suspend fun update(
params: AuthRuleUpdateParams,
requestOptions: RequestOptions = RequestOptions.none()
): AuthRule
/** Return all of the Auth Rules under the program. */
suspend fun list(
params: AuthRuleListParams,
requestOptions: RequestOptions = RequestOptions.none()
): AuthRuleListPageAsync
/** Applies an existing authorization rule (Auth Rule) to an program, account, or card level. */
suspend fun apply(
params: AuthRuleApplyParams,
requestOptions: RequestOptions = RequestOptions.none()
): AuthRule
/**
* Migrates an existing V1 authorization rule to a V2 authorization rule. This will alter the
* internal structure of the Auth Rule such that it becomes a V2 Authorization Rule that can be
* operated on through the /v2/auth_rules endpoints.
*
* After a V1 Auth Rule has been migrated, it can no longer be operated on through the
* /v1/auth_rules/\* endpoints. Eventually, Lithic will deprecate the /v1/auth_rules endpoints
* and migrate all existing V1 Auth Rules to V2 Auth Rules.
*/
suspend fun migrateV1ToV2(
params: AuthRuleMigrateV1ToV2Params,
requestOptions: RequestOptions = RequestOptions.none()
): AuthRuleMigrateV1ToV2Response
/**
* Remove an existing authorization rule (Auth Rule) from an program, account, or card-level.
*/
suspend fun remove(
params: AuthRuleRemoveParams,
requestOptions: RequestOptions = RequestOptions.none()
): AuthRuleRemoveResponse
}