# AccountsApi

## AccountsApi

All URIs are relative to *<https://moon-vault-api-git-ew-supabase-migration-moonup.vercel.app>*

| Method                                  | HTTP request                                      | Description |
| --------------------------------------- | ------------------------------------------------- | ----------- |
| [**broadcastTx**](#broadcastTx)         | **POST** /accounts/{accountName}/broadcast-tx     |             |
| [**createAccount**](#createAccount)     | **POST** /accounts                                |             |
| [**deleteAccount**](#deleteAccount)     | **DELETE** /accounts/{accountName}                |             |
| [**deployContract**](#deployContract)   | **POST** /accounts/{accountName}/deploy           |             |
| [**getAccount**](#getAccount)           | **GET** /accounts/{accountName}                   |             |
| [**getBalance**](#getBalance)           | **GET** /accounts/{accountName}/balance           |             |
| [**getNonce**](#getNonce)               | **GET** /accounts/{accountName}/nonce             |             |
| [**listAccounts**](#listAccounts)       | **GET** /accounts                                 |             |
| [**signMessage**](#signMessage)         | **POST** /accounts/{accountName}/sign-message     |             |
| [**signTransaction**](#signTransaction) | **POST** /accounts/{accountName}/sign-transaction |             |
| [**signTypedData**](#signTypedData)     | **POST** /accounts/{accountName}/sign-typed-data  |             |
| [**transferEth**](#transferEth)         | **POST** /accounts/{accountName}/transfer-eth     |             |

## **broadcastTx**

> BroadCastRawTransactionAPIResponse broadcastTx(authorization, accountName, broadcastInput)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val authorization : kotlin.String = authorization_example // kotlin.String | 
val accountName : kotlin.String = accountName_example // kotlin.String | 
val broadcastInput : BroadcastInput =  // BroadcastInput | 
try {
    val result : BroadCastRawTransactionAPIResponse = apiInstance.broadcastTx(authorization, accountName, broadcastInput)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#broadcastTx")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#broadcastTx")
    e.printStackTrace()
}
```

#### Parameters

| Name               | Type                                                                     | Description | Notes |
| ------------------ | ------------------------------------------------------------------------ | ----------- | ----- |
| **authorization**  | **kotlin.String**                                                        |             |       |
| **accountName**    | **kotlin.String**                                                        |             |       |
| **broadcastInput** | [**BroadcastInput**](https://docs.usemoon.ai/sdks/kotlin/broadcastinput) |             |       |

#### Return type

[**BroadCastRawTransactionAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/broadcastrawtransactionapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **createAccount**

> AccountAPIResponse createAccount(authorization, createAccountInput)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val authorization : kotlin.String = authorization_example // kotlin.String | 
val createAccountInput : CreateAccountInput =  // CreateAccountInput | 
try {
    val result : AccountAPIResponse = apiInstance.createAccount(authorization, createAccountInput)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#createAccount")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#createAccount")
    e.printStackTrace()
}
```

#### Parameters

| Name                   | Type                                                                             | Description | Notes |
| ---------------------- | -------------------------------------------------------------------------------- | ----------- | ----- |
| **authorization**      | **kotlin.String**                                                                |             |       |
| **createAccountInput** | [**CreateAccountInput**](https://docs.usemoon.ai/sdks/kotlin/createaccountinput) |             |       |

#### Return type

[**AccountAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/accountapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **deleteAccount**

> AccountAPIResponse deleteAccount(authorization, accountName)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val authorization : kotlin.String = authorization_example // kotlin.String | 
val accountName : kotlin.String = accountName_example // kotlin.String | 
try {
    val result : AccountAPIResponse = apiInstance.deleteAccount(authorization, accountName)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#deleteAccount")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#deleteAccount")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type              | Description | Notes |
| ----------------- | ----------------- | ----------- | ----- |
| **authorization** | **kotlin.String** |             |       |
| **accountName**   | **kotlin.String** |             |       |

#### Return type

[**AccountAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/accountapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **deployContract**

> TransactionAPIResponse deployContract(authorization, accountName, deployInput)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val authorization : kotlin.String = authorization_example // kotlin.String | 
val accountName : kotlin.String = accountName_example // kotlin.String | 
val deployInput : DeployInput =  // DeployInput | 
try {
    val result : TransactionAPIResponse = apiInstance.deployContract(authorization, accountName, deployInput)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#deployContract")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#deployContract")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type                                                               | Description | Notes |
| ----------------- | ------------------------------------------------------------------ | ----------- | ----- |
| **authorization** | **kotlin.String**                                                  |             |       |
| **accountName**   | **kotlin.String**                                                  |             |       |
| **deployInput**   | [**DeployInput**](https://docs.usemoon.ai/sdks/kotlin/deployinput) |             |       |

#### Return type

[**TransactionAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/transactionapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **getAccount**

> AccountAPIResponse getAccount(authorization, accountName)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val authorization : kotlin.String = authorization_example // kotlin.String | 
val accountName : kotlin.String = accountName_example // kotlin.String | 
try {
    val result : AccountAPIResponse = apiInstance.getAccount(authorization, accountName)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#getAccount")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#getAccount")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type              | Description | Notes |
| ----------------- | ----------------- | ----------- | ----- |
| **authorization** | **kotlin.String** |             |       |
| **accountName**   | **kotlin.String** |             |       |

#### Return type

[**AccountAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/accountapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **getBalance**

> BalanceAPIResponse getBalance(accountName, authorization, chainId)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val accountName : kotlin.String = accountName_example // kotlin.String | 
val authorization : kotlin.String = authorization_example // kotlin.String | 
val chainId : kotlin.String = chainId_example // kotlin.String | 
try {
    val result : BalanceAPIResponse = apiInstance.getBalance(accountName, authorization, chainId)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#getBalance")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#getBalance")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type              | Description | Notes |
| ----------------- | ----------------- | ----------- | ----- |
| **accountName**   | **kotlin.String** |             |       |
| **authorization** | **kotlin.String** |             |       |
| **chainId**       | **kotlin.String** |             |       |

#### Return type

[**BalanceAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/balanceapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **getNonce**

> NonceAPIResponse getNonce(accountName, authorization)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val accountName : kotlin.String = accountName_example // kotlin.String | 
val authorization : kotlin.String = authorization_example // kotlin.String | 
try {
    val result : NonceAPIResponse = apiInstance.getNonce(accountName, authorization)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#getNonce")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#getNonce")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type              | Description | Notes |
| ----------------- | ----------------- | ----------- | ----- |
| **accountName**   | **kotlin.String** |             |       |
| **authorization** | **kotlin.String** |             |       |

#### Return type

[**NonceAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/nonceapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **listAccounts**

> AccountAPIResponse listAccounts(authorization)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val authorization : kotlin.String = authorization_example // kotlin.String | 
try {
    val result : AccountAPIResponse = apiInstance.listAccounts(authorization)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#listAccounts")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#listAccounts")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type              | Description | Notes |
| ----------------- | ----------------- | ----------- | ----- |
| **authorization** | **kotlin.String** |             |       |

#### Return type

[**AccountAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/accountapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: Not defined
* **Accept**: application/json

## **signMessage**

> SignMessageAPIResponse signMessage(accountName, authorization, signMessage)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val accountName : kotlin.String = accountName_example // kotlin.String | 
val authorization : kotlin.String = authorization_example // kotlin.String | 
val signMessage : SignMessage =  // SignMessage | 
try {
    val result : SignMessageAPIResponse = apiInstance.signMessage(accountName, authorization, signMessage)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#signMessage")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#signMessage")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type                                                               | Description | Notes |
| ----------------- | ------------------------------------------------------------------ | ----------- | ----- |
| **accountName**   | **kotlin.String**                                                  |             |       |
| **authorization** | **kotlin.String**                                                  |             |       |
| **signMessage**   | [**SignMessage**](https://docs.usemoon.ai/sdks/kotlin/signmessage) |             |       |

#### Return type

[**SignMessageAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/signmessageapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **signTransaction**

> TransactionAPIResponse signTransaction(accountName, authorization, inputBody)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val accountName : kotlin.String = accountName_example // kotlin.String | 
val authorization : kotlin.String = authorization_example // kotlin.String | 
val inputBody : InputBody =  // InputBody | 
try {
    val result : TransactionAPIResponse = apiInstance.signTransaction(accountName, authorization, inputBody)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#signTransaction")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#signTransaction")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type                                                           | Description | Notes |
| ----------------- | -------------------------------------------------------------- | ----------- | ----- |
| **accountName**   | **kotlin.String**                                              |             |       |
| **authorization** | **kotlin.String**                                              |             |       |
| **inputBody**     | [**InputBody**](https://docs.usemoon.ai/sdks/kotlin/inputbody) |             |       |

#### Return type

[**TransactionAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/transactionapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **signTypedData**

> SignMessageAPIResponse signTypedData(accountName, authorization, signTypedData)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val accountName : kotlin.String = accountName_example // kotlin.String | 
val authorization : kotlin.String = authorization_example // kotlin.String | 
val signTypedData : SignTypedData =  // SignTypedData | 
try {
    val result : SignMessageAPIResponse = apiInstance.signTypedData(accountName, authorization, signTypedData)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#signTypedData")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#signTypedData")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type                                                                   | Description | Notes |
| ----------------- | ---------------------------------------------------------------------- | ----------- | ----- |
| **accountName**   | **kotlin.String**                                                      |             |       |
| **authorization** | **kotlin.String**                                                      |             |       |
| **signTypedData** | [**SignTypedData**](https://docs.usemoon.ai/sdks/kotlin/signtypeddata) |             |       |

#### Return type

[**SignMessageAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/signmessageapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json

## **transferEth**

> TransactionAPIResponse transferEth(accountName, authorization, inputBody)

#### Example

```kotlin
// Import classes:
//import org.usemoonai.moonsdk.infrastructure.*
//import org.usemoonai.moonsdk.models.*

val apiInstance = AccountsApi()
val accountName : kotlin.String = accountName_example // kotlin.String | 
val authorization : kotlin.String = authorization_example // kotlin.String | 
val inputBody : InputBody =  // InputBody | 
try {
    val result : TransactionAPIResponse = apiInstance.transferEth(accountName, authorization, inputBody)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling AccountsApi#transferEth")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling AccountsApi#transferEth")
    e.printStackTrace()
}
```

#### Parameters

| Name              | Type                                                           | Description | Notes |
| ----------------- | -------------------------------------------------------------- | ----------- | ----- |
| **accountName**   | **kotlin.String**                                              |             |       |
| **authorization** | **kotlin.String**                                              |             |       |
| **inputBody**     | [**InputBody**](https://docs.usemoon.ai/sdks/kotlin/inputbody) |             |       |

#### Return type

[**TransactionAPIResponse**](https://docs.usemoon.ai/sdks/kotlin/transactionapiresponse)

#### Authorization

Configure ApiKeyAuth: ApiClient.apiKey\["x-api-key"] = "" ApiClient.apiKeyPrefix\["x-api-key"] = "" Configure BearerAuth: ApiClient.apiKey\["Authorization"] = "" ApiClient.apiKeyPrefix\["Authorization"] = ""

#### HTTP request headers

* **Content-Type**: application/json
* **Accept**: application/json
