All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.lithic.api.services.async.AuthRuleServiceAsync.kt Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 0.61.0
Show newest version
// 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
import java.util.concurrent.CompletableFuture

interface AuthRuleServiceAsync {

    fun v2(): V2ServiceAsync

    /**
     * Creates an authorization rule (Auth Rule) and applies it at the program, account, or card
     * level.
     */
    @JvmOverloads
    fun create(
        params: AuthRuleCreateParams,
        requestOptions: RequestOptions = RequestOptions.none()
    ): CompletableFuture

    /**
     * Detail the properties and entities (program, accounts, and cards) associated with an existing
     * authorization rule (Auth Rule).
     */
    @JvmOverloads
    fun retrieve(
        params: AuthRuleRetrieveParams,
        requestOptions: RequestOptions = RequestOptions.none()
    ): CompletableFuture

    /** Update the properties associated with an existing authorization rule (Auth Rule). */
    @JvmOverloads
    fun update(
        params: AuthRuleUpdateParams,
        requestOptions: RequestOptions = RequestOptions.none()
    ): CompletableFuture

    /** Return all of the Auth Rules under the program. */
    @JvmOverloads
    fun list(
        params: AuthRuleListParams,
        requestOptions: RequestOptions = RequestOptions.none()
    ): CompletableFuture

    /** Applies an existing authorization rule (Auth Rule) to an program, account, or card level. */
    @JvmOverloads
    fun apply(
        params: AuthRuleApplyParams,
        requestOptions: RequestOptions = RequestOptions.none()
    ): CompletableFuture

    /**
     * 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.
     */
    @JvmOverloads
    fun migrateV1ToV2(
        params: AuthRuleMigrateV1ToV2Params,
        requestOptions: RequestOptions = RequestOptions.none()
    ): CompletableFuture

    /**
     * Remove an existing authorization rule (Auth Rule) from an program, account, or card-level.
     */
    @JvmOverloads
    fun remove(
        params: AuthRuleRemoveParams,
        requestOptions: RequestOptions = RequestOptions.none()
    ): CompletableFuture
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy