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

# Introduction

Welcome to the Sturdy Technologies API documentation. Our API provides a comprehensive suite of financial services including virtual card management, US bank account operations, and multiple payment methods.

## Overview

The Sturdy Technologies API enables you to:

* **Manage Users**: Create and manage customer accounts
* **US Bank Accounts**: Provision US bank accounts with ACH, RTP, and Wire capabilities
* **Virtual Cards**: Issue and manage virtual payment cards
* **Payments**: Execute transfers via USD direct transfer, card push, and PayPal payouts
* **Transaction Management**: Track and monitor all financial transactions

## Base URL

All API requests should be made to:

```
https://sandbox.sturdytechnologies.com/v3
```

## Authentication

The Sturdy Technologies API uses OAuth 2.0 for authentication. To access the API, you'll need to:

1. **Obtain Credentials**: Get your `client_id` and `client_secret` from your Sturdy Technologies account
2. **Request Access Token**: Use Basic Authentication with your credentials to obtain a Bearer token
3. **Make API Calls**: Include the Bearer token in the Authorization header for all subsequent requests

### Getting Your Access Token

**Endpoint**: `POST /auth/token`

**Authentication**: Basic Auth (username: `client_id`, password: `client_secret`)

**Request Body** (application/x-www-form-urlencoded):

```
grant_type=client_credentials
scope=card, us_account
```

**Example Response**:

```json theme={null}
{
  "success": true,
  "message": "Token generated successfully",
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "Bearer",
    "expires_in_seconds": 3600,
    "scope": "card,us_account"
  }
}
```

### Using Your Access Token

Include the access token in the Authorization header for all API requests:

```
Authorization: Bearer <your_access_token>
```

## Quick Start

Here's a simple workflow to get started:

1. **Authenticate** and obtain your access token
2. **Create a User** to represent a customer in your system
3. **Create a US Account** or **Virtual Card** for the user
4. **Make Payments** or track transactions as needed

### Example: Creating a User

```bash theme={null}
curl -X POST https://sandbox.sturdytechnologies.com/v3/users \
  -H "Authorization: Bearer <your_access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "user_123",
    "firstname": "John",
    "lastname": "Doe",
    "email": "john.doe@example.com",
    "telephone": "+1234567890"
  }'
```

## API Resources

### Users

Manage customer accounts within your application. Users are the foundation for all other operations.

### Accounts

Provision US bank accounts with multiple transfer capabilities (ACH, RTP, Wire) for your users.

### Cards

Issue virtual payment cards with customizable balances and types (Lite, Multiuse-Lite, Virtual, Physical).

### Payments

Execute various payment types:

* **USD Direct Transfer**: ACH and Wire transfers to US bank accounts
* **Push to Card**: Instant transfers to debit cards
* **PayPal Payout**: Send funds to PayPal accounts

## Response Format

All API responses follow a consistent format:

**Success Response**:

```json theme={null}
{
  "success": true,
  "message": "Operation completed successfully",
  "data": {
    // Response data
  }
}
```

**Error Response**:

```json theme={null}
{
  "success": false,
  "message": "Error description"
}
```

## HTTP Status Codes

The API uses standard HTTP status codes:

* `200 OK`: Request succeeded
* `201 Created`: Resource created successfully
* `400 Bad Request`: Invalid request parameters
* `401 Unauthorized`: Authentication failed or token expired
* `404 Not Found`: Resource not found
* `500 Internal Server Error`: Server error occurred

## Rate Limiting

Please be mindful of rate limits when making API calls. Contact our support team for specific rate limit information for your account.

## Support

Need help? Reach out to our support team:

* **Email**: [support@sturdytechnologies.com](mailto:support@sturdytechnologies.com)
* **Documentation**: [https://docs.sturdytechnologies.com](https://docs.sturdytechnologies.com)

## Sandbox vs Production

You're currently viewing documentation for our **sandbox environment**. The sandbox allows you to test integrations without affecting real data or finances.

When you're ready to go live, you'll receive production credentials and the production base URL.

## Next Steps

* Explore the [API Reference](/api-reference) for detailed endpoint documentation
* Review our [Authentication Guide](/guides/authentication) for advanced auth scenarios
* Check out [Code Examples](/examples) in various programming languages
* Read our [Best Practices](/guides/best-practices) for optimal API usage
