Skip to main content
Managed accounts (aka retailer credentials) allow you to use your own retailer accounts (e.g., Amazon) for order processing. This gives you control over the accounts used to place orders and can help with order limits and account management.

Overview

When you create retailer credentials, Zinc uses those accounts to log in and place orders on your behalf. Credentials are encrypted and stored securely.
If you don’t configure retailer credentials, Zinc will use default internal accounts to process your orders.

Order Locking

To prevent conflicts and ensure order integrity, managed accounts are locked during order processing. Only one order can be processed at a time per managed account. If you submit multiple orders simultaneously using the same managed account, they will be queued and processed sequentially. This prevents issues like duplicate cart items or checkout conflicts that could occur if multiple orders were placed concurrently on the same retailer account.

Endpoints

MethodEndpointDescription
GET/users/managed-accountsList all your retailer credentials
POST/users/managed-accountsCreate new retailer credentials
PUT/users/managed-accounts/{short_id}Update existing credentials
DELETE/users/managed-accounts/{short_id}Delete credentials

Create Credentials

curl -X POST https://api.zinc.com/users/managed-accounts \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "your-amazon-password",
    "retailer": "amazon"
  }'

Request Fields

FieldTypeRequiredDescription
emailstringYesThe email address for the retailer account
passwordstringNoThe password for the retailer account (encrypted on storage)
retailerstringNoRetailer name (e.g., amazon). If omitted, applies as default credentials

Response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "short_id": "zn_acct_a1b2c3d4",
  "email": "[email protected]",
  "retailer": "amazon",
  "created_at": "2026-01-15T10:30:00Z",
  "updated_at": "2026-01-15T10:30:00Z"
}
Passwords are never returned in API responses. They are encrypted and stored securely.

List Credentials

curl https://api.zinc.com/users/managed-accounts \
  -H "Authorization: Bearer <your_api_key>"

Response

{
  "credentials": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "short_id": "zn_acct_a1b2c3d4",
      "email": "[email protected]",
      "retailer": "amazon",
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-01-15T10:30:00Z"
    }
  ],
  "total": 1
}

Update Credentials

Use the short_id from the credentials response to update:
curl -X PUT https://api.zinc.com/users/managed-accounts/zn_acct_a1b2c3d4 \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "password": "new-password"
  }'

Request Fields

All fields are optional. Only provided fields are updated.
FieldTypeDescription
emailstringNew email address
passwordstringNew password
retailerstringNew retailer association

Delete Credentials

curl -X DELETE https://api.zinc.com/users/managed-accounts/zn_acct_a1b2c3d4 \
  -H "Authorization: Bearer <your_api_key>"
Returns 204 No Content on success.

Response Fields

FieldTypeDescription
idstring (UUID)Unique identifier
short_idstringShort identifier used in URLs (e.g., zn_acct_a1b2c3d4)
emailstringRetailer account email
retailerstring or nullRetailer name, or null if default credentials
created_atstring (ISO 8601)When the credentials were created
updated_atstring (ISO 8601)When the credentials were last updated

Best Practices

  1. Use dedicated accounts - Create retailer accounts specifically for Zinc orders to avoid conflicts with personal orders
  2. Monitor account health - Retailer accounts can be locked if flagged for unusual activity. Check for login_failed or account_locked errors
  3. Keep credentials updated - If you change your retailer account password, update it here to avoid order failures