> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.fifteenth.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve Account

> Retrieve detailed information about a specific client account

## Overview

The Retrieve Account endpoint allows you to fetch complete details about a client's tax preparation account, including current status, project information, and recent activity. This endpoint is essential for monitoring client onboarding progress and account health.

## Request

### Path Parameters

<ParamField path="account_id" type="number" required>
  The unique Fifteenth account identifier.

  **Format**: Numeric ID\
  **Example**: `12345`
</ParamField>

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token with your Partner API key
</ParamField>

<ParamField header="Content-Type" type="string">
  Should be `application/json`
</ParamField>

### Query Parameters

## Response

### Account Information

<ResponseField name="id" type="string">
  Unique Fifteenth account identifier.
</ResponseField>

<ResponseField name="email" type="string">
  Client's primary email address.
</ResponseField>

<ResponseField name="first_name" type="string">
  Client's first name.
</ResponseField>

<ResponseField name="last_name" type="string">
  Client's last name.
</ResponseField>

<ResponseField name="status" type="string">
  Current account status.

  **Values**:

  * `active` - Account is active and ready for use
  * `onboarding` - Client is completing initial setup
</ResponseField>

## Examples

### Basic Account Retrieval

<CodeGroup>
  ```python Python theme={null}
  import requests

  account_id = 12345
  url = f"https://api.fifteenth.com/v1beta/accounts/{account_id}"

  headers = {
      "Authorization": "Bearer 15th_your_api_key_here",
      "Content-Type": "application/json"
  }

  response = requests.get(url, headers=headers)
  account = response.json()

  print(f"Account Status: {account['status']}")
  print(f"Client: {account['first_name']} {account['last_name']}")
  print(f"Email: {account['email']}")
  ```

  ```javascript JavaScript theme={null}
  const accountId = 12345;
  const url = `https://api.fifteenth.com/v1beta/accounts/${accountId}`;

  const headers = {
      'Authorization': 'Bearer 15th_your_api_key_here',
      'Content-Type': 'application/json'
  };

  const response = await fetch(url, { headers });
  const account = await response.json();

  console.log(`Account Status: ${account.status}`);
  console.log(`Client: ${account.first_name} ${account.last_name}`);
  console.log(`Email: ${account.email}`);
  ```

  ```bash cURL theme={null}
  curl -X GET "https://api.fifteenth.com/v1beta/accounts/12345" \
    -H "Authorization: Bearer 15th_your_api_key_here" \
    -H "Content-Type: application/json"
  ```
</CodeGroup>

## Response Examples

### Basic Account Response

```json Response theme={null}
{
  "id": 12345,
  "email": "john.doe@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "status": "active"
}
```

## Error Responses

<ResponseField name="404 Not Found" type="object">
  Account not found with the provided ID.

  ```json theme={null}
  {
    "error": {
      "code": "ACCOUNT_NOT_FOUND",
      "message": "Account not found",
      "details": {
        "account_id": 12345
      }
    }
  }
  ```
</ResponseField>

<ResponseField name="403 Forbidden" type="object">
  Account exists but you don't have access (not your partner's client).

  ```json theme={null}
  {
    "error": {
      "code": "ACCESS_DENIED",
      "message": "You don't have access to this account",
      "details": {
        "account_id": 12345
      }
    }
  }
  ```
</ResponseField>

<ResponseField name="400 Bad Request" type="object">
  Invalid request parameters.

  ```json theme={null}
  {
    "error": {
      "code": "INVALID_PARAMETERS", 
      "message": "Invalid request parameters"
    }
  }
  ```
</ResponseField>

## Status Reference

### Account Status Values

| Status       | Description                         | Typical Actions                     |
| ------------ | ----------------------------------- | ----------------------------------- |
| `active`     | Account is ready for tax services   | Upload documents, start projects    |
| `onboarding` | Client completing initial setup     | Monitor onboarding progress         |
| `suspended`  | Account temporarily suspended       | Contact support                     |
| `completed`  | Tax services completed for the year | Review deliverables, plan next year |

## Usage Patterns

### Basic Account Information

Use the retrieve account endpoint to get basic client details:

```python theme={null}
def get_client_info(account_id):
    account = get_account(account_id)
    
    print(f"Client: {account['first_name']} {account['last_name']}")
    print(f"Email: {account['email']}")
        print(f"Status: {account['status']}")
    
    return account
```

## Next Steps

<CardGroup cols={2}>
  <Card title="List Accounts" icon="list" href="/endpoints/accounts/list">
    Retrieve all accounts for your partner organization
  </Card>

  <Card title="Create Account" icon="user-plus" href="/endpoints/accounts/create">
    Create new client accounts with optional spouse
  </Card>

  <Card title="Project Status" icon="chart-line" href="/endpoints/projects/status">
    Get detailed project progress information
  </Card>

  <Card title="Upload Documents" icon="file-arrow-up" href="/endpoints/documents/upload">
    Upload tax documents for the account
  </Card>
</CardGroup>
