Each of these items is described in detail after the following list:
- A Wasabi account with access to the Wasabi Management Console. 
- Your Access Key ID and Secret Access Key for API authentication that were generated in the Wasabi Console. 
- A regional service endpoint (for example, s3.us-east-1.wasabisys.com). 
- An API client: - AWS CLI 
- SDK (for example, boto3, AWS SDK for JavaScript, etc.) 
- HTTP client (for example, Postman, cURL) 
 
Wasabi does not charge for egress or API requests, making it ideal for high-access workloads.
Create a Wasabi Account
Go to https://console.wasabi.com and sign up for a free trial or log in to your organization’s account.
Generate Access and Secret Keys
Log in to the Wasabi Console, then:
- Click Access Keys in the Console navigation panel. 
- Create new access and secret keys or use existing keys. 
- Copy both keys to a safe place. 
Choose Your Regional Service Endpoint
Refer to Service URLs for Wasabi’s Storage Regions.
Connect an API Client
Connect an API client using SDK or S3-compliant tools. Wasabi is S3-compatible, so you can use AWS SDKs and tools.
Using the Wasabi API Client (via HTTP)
You can use any HTTP client to interact with Wasabi using signed S3 requests.
Example: Upload with cURL
Requires pre-signed URL or AWS Signature v4 headers (generated using SDKs or tools like Postman, boto3, etc.)
curl -X PUT \
  --upload-file ./myfile.txt \
  "https://s3.us-west-1.wasabisys.com/my-wasabi-bucket/myfile.txt" \
  -H "Authorization: AWS <ACCESS_KEY>:<SIGNATURE>" \
  -H "x-amz-date: <ISO_TIMESTAMP>"Because manually signing requests is complex, it’s easier to use SDKs or CLI unless you're automating or integrating at a low level.
Using AWS SDKs (Python with boto3)
Install boto3
pip install boto3Example Python Script
import boto3
session = boto3.session.Session()
s3 = session.client(
    service_name='s3',
    aws_access_key_id='YOUR_ACCESS_KEY',
    aws_secret_access_key='YOUR_SECRET_KEY',
    endpoint_url='https://s3.us-west-1.wasabisys.com'
)
# Upload a file
s3.upload_file('localfile.txt', 'my-wasabi-bucket', 'remote/path/localfile.txt')
# List files
response = s3.list_objects_v2(Bucket='my-wasabi-bucket')
for obj in response.get('Contents', []):
    print(obj['Key'])