## Deposit into account

`client.Accounts.Deposit(ctx, id, body) (*AccountDepositResponse, error)`

**post** `/api/v1/accounts/{id}/deposit`

Deposit into account

### Parameters

- `id string`

- `body AccountDepositParams`

  - `Amount param.Field[string]`

  - `Description param.Field[string]`

### Returns

- `type AccountDepositResponse struct{…}`

  - `Account Account`

    - `ID string`

    - `AccountNumber string`

    - `AccountType AccountAccountType`

      - `const AccountAccountTypeChecking AccountAccountType = "checking"`

      - `const AccountAccountTypeSaving AccountAccountType = "saving"`

    - `Balance string`

    - `Currency string`

    - `Environment string`

    - `Status AccountStatus`

      - `const AccountStatusActive AccountStatus = "active"`

      - `const AccountStatusSuspended AccountStatus = "suspended"`

      - `const AccountStatusClosed AccountStatus = "closed"`

    - `UserID string`

    - `AdminUserID string`

    - `CreatedAt Time`

    - `OrganizationID string`

    - `UpdatedAt Time`

    - `UserRole string`

  - `Transaction Transaction`

    - `ID string`

    - `AccountID string`

    - `Amount string`

    - `BalanceAfter string`

    - `CreatedAt Time`

    - `Currency string`

    - `Status TransactionStatus`

      - `const TransactionStatusPending TransactionStatus = "pending"`

      - `const TransactionStatusCompleted TransactionStatus = "completed"`

      - `const TransactionStatusFailed TransactionStatus = "failed"`

      - `const TransactionStatusCancelled TransactionStatus = "cancelled"`

    - `TransactionType TransactionTransactionType`

      - `const TransactionTransactionTypeDeposit TransactionTransactionType = "deposit"`

      - `const TransactionTransactionTypeWithdrawal TransactionTransactionType = "withdrawal"`

      - `const TransactionTransactionTypeTransfer TransactionTransactionType = "transfer"`

      - `const TransactionTransactionTypeRecurringPayment TransactionTransactionType = "recurring_payment"`

      - `const TransactionTransactionTypeSavingsWithdraw TransactionTransactionType = "savings_withdraw"`

    - `UpdatedAt Time`

    - `Description string`

    - `ExternalRecipientID string`

    - `RecipientAccountID string`

    - `ReferenceID string`

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/railsinfra/rails-go"
  "github.com/railsinfra/rails-go/option"
)

func main() {
  client := rails.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Accounts.Deposit(
    context.TODO(),
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    rails.AccountDepositParams{
      Amount: "amount",
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Account)
}
```

#### Response

```json
{
  "account": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "account_number": "account_number",
    "account_type": "checking",
    "balance": "balance",
    "currency": "currency",
    "environment": "environment",
    "status": "active",
    "user_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "admin_user_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_at": "2019-12-27T18:11:19.117Z",
    "organization_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "user_role": "user_role"
  },
  "transaction": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "amount": "amount",
    "balance_after": "balance_after",
    "created_at": "2019-12-27T18:11:19.117Z",
    "currency": "currency",
    "status": "pending",
    "transaction_type": "deposit",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "description": "description",
    "external_recipient_id": "external_recipient_id",
    "recipient_account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "reference_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  }
}
```
