Fetchify Documentation
Fetchify
Sign Up
Contact
Fetchify
Sign Up
Contact
  • Getting Started
  • Integrations

    • BigCommerce
    • CS-Cart
    • Ecommerce Templates
    • EKM
    • Formstack
    • Magento 2
    • Microsoft Dynamics 365
    • NetSuite
    • nopCommerce
    • Odoo
    • OpenCart
    • osCommerce
    • PrestaShop
    • Salesforce
    • Shopify Plus
    • Shopware
    • VirtueMart
    • WooCommerce
    • Xero
    • Zen Cart
    • Zapier
    • Zoey
  • Browser Extension

    • Chrome Browser Extension Guide
    • Firefox Browser Extension Guide
  • JavaScript Library

    • Address Auto-Complete
    • UK Postcode Lookup
    • Phone Validation
    • Email Validation
    • Bank Validation
    • Tutorials

      • Address Auto-Complete Website Integration
      • Customising Address Auto-Complete
      • Address Auto-Complete On Two Forms
      • UK Postcode Lookup in 15 Minutes
      • UK Postcode Lookup On Two Forms (Billing & Shipping)
      • Using Address Auto-Complete in React
      • Using Address Auto-Complete in Vue
    • Sample Code

      • Client Side JavaScript Address Auto-Complete
      • JavaScript & HTML – Client Side Postcode Lookup
  • Address & Validation API

    • Address Auto-Complete
    • Phone Validation API
    • Email Validation API
    • Bank Validation API
  • UK Postcode Lookup API

    • UK Postcode Lookup
    • UK Postcode Lookup (XML)
    • UK Postcode Geocodes
    • Errors
    • Sample Code

      • Microsoft C# Wrapper
      • Microsoft C++ Example Application
      • JSON API integration with jQuery UI
      • PHP – Server Side UK Postcode Lookup
      • Python – UK Postcode Lookup Example
      • RealStudio/XOJO Example
      • Microsoft VB.Net Sample Code
  • Embedded Tech API

    • Embedded Tech API
  • End-of-Life Announcements

    • Plugins & Extensions

Embedded Tech API

The Embedded Tech API (also known as the Account Automation API) lets Fetchify partner accounts create and manage sub-client accounts programmatically. Use it to provision new client accounts from your own platform, CRM, or onboarding flow without manual setup in the Fetchify portal.

Base URL: https://api.admin.fetchify.com

View the full OpenAPI specification on SwaggerHub.

Before You Start

You will need:

  • A Fetchify partner account
  • A Partner API key generated from your account settings

Partner API keys are UUIDs used as Bearer tokens. Generate or regenerate your key from Settings → Partner API Key in the Fetchify account portal.

Authentication

All requests require a Bearer token in the Authorization header:

Authorization: Bearer <your-partner-api-key>

The following endpoints are available:

  • List client accounts via GET /client
  • Create a client account via POST /client
  • List client account IDs via GET /client_list
  • Get client usage statistics via GET /client_usage
  • Allocate a credit pack via POST /credit_allocation
  • List client contacts via GET /contact

List client accounts

GET /client

Returns client accounts linked to your partner account. Supports optional query parameters for paging and filtering:

ParameterDescription
min_idMinimum client ID to return (inclusive)
max_idMaximum client ID to return (inclusive)
filtersOne or more filters to apply
columnsColumns to include in each result
tagsTags to include in each result
limitMaximum number of results to return

All parameters are optional. By default, results include client_id, client_name, account_status, and partner_id. Request other fields with columns, e.g. credits_used, available_credits, expires, industry_name, or tags.

Successful responses include a results array and optional paging links (previous, next) for cursor-based navigation.

Example request:

curl -X GET "https://api.admin.fetchify.com/client?limit=2" \
  -H "Authorization: Bearer <your-partner-api-key>" \
  -H "Accept: application/json"

If you omit min_id and max_id, the API returns the first page of your partner's clients, ordered by lowest client_id first, up to 100 results by default.

Example response (200):

{
  "results": [
    {
      "client_id": 4321,
      "client_name": "Example Client 1",
      "account_status": "active",
      "partner_id": 1234
    },
    {
      "client_id": 5678,
      "client_name": "Example Client 2",
      "account_status": "active",
      "partner_id": 1234
    }
  ],
  "paging": {
    "previous": "https://api.admin.fetchify.com/client?columns=%5B%22client_id%22%2C%22client_name%22%2C%22account_status%22%2C%22partner_id%22%5D&max_id=4321",
    "next": "https://api.admin.fetchify.com/client?columns=%5B%22client_id%22%2C%22client_name%22%2C%22account_status%22%2C%22partner_id%22%5D&min_id=5678"
  }
}

Use the paging.next URL to fetch the next page, or pass min_id manually to continue from a specific client ID.

Create a client account

POST /client

Creates a new sub-client account under your partner account.

PropertyRequiredDescription
client_nameYesCompany name for the new client account
trial_enabledNoCreate the account as a trial instead of active. Trial accounts don't get a credit pack, so initial_pack_size must be omitted. Defaults to false
initial_pack_sizeNoSize of the credit pack to create. Must be at least 100 and a multiple of 100. Defaults to your account's "Auto-Renew Size" setting, or 100
auto_renew_enabledNoWhether the client's credit pack automatically renews. Defaults to your account's "Auto-Renew" setting, or false
auto_renew_sizeNoSize of the credit pack to renew with. Must be at least 100 and a multiple of 100. Defaults to your account's "Auto-Renew Size" setting, or 100

Example request:

curl -X POST "https://api.admin.fetchify.com/client" \
  -H "Authorization: Bearer <your-partner-api-key>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "client_name": "Example Client 1"
  }'

Example response (201):

{
  "results": [
    {
      "client_id": 4321,
      "client_name": "Example Client 1",
      "client_code": "EXA4321",
      "token": "xxxxx-xxxxx-xxxxx-xxxxx",
      "credit_pack_id": "12345"
    }
  ]
}

The token in the response is the Fetchify access token for the newly created client account.

List client account IDs

GET /client_list

Returns the IDs of all client accounts accessible to your partner account.

Example request:

curl -X GET "https://api.admin.fetchify.com/client_list" \
  -H "Authorization: Bearer <your-partner-api-key>" \
  -H "Accept: application/json"

Example response (200):

{
  "client_ids": [12345, 12346, 12347]
}

Get client usage statistics

GET /client_usage

Returns aggregated credit usage statistics for a single client account, optionally filtered to credit packs allocated within a date range.

ParameterRequiredDescription
client_idYesThe ID of the client account to return usage statistics for
start_dateNoOnly include credit packs created on or after this date (YYYY-MM-DD)
end_dateNoOnly include credit packs created on or before this date (YYYY-MM-DD)

Example request:

curl -X GET "https://api.admin.fetchify.com/client_usage?client_id=12345&start_date=2026-01-01&end_date=2026-12-31" \
  -H "Authorization: Bearer <your-partner-api-key>" \
  -H "Accept: application/json"

Example response (200):

{
  "client_id": 12345,
  "credit_pack_ids": [1, 2, 5],
  "total_credits_assigned": 1500,
  "total_credits_used": 800.25,
  "total_credits_expired": 50,
  "total_credits_remaining": 649.75
}

Allocate a credit pack

POST /credit_allocation

Allocates a new credit pack to a client account, deducting the size from your partner's credit pool. If the client account is currently pending or trial, it is activated as part of this operation.

PropertyRequiredDescription
client_idYesThe ID of the client account to allocate the credit pack to
sizeYesSize of the credit pack. Must be at least 100 and a multiple of 100

Example request:

curl -X POST "https://api.admin.fetchify.com/credit_allocation" \
  -H "Authorization: Bearer <your-partner-api-key>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "client_id": 12345,
    "size": 100
  }'

Example response (201):

{
  "credit_pack_id": 98765
}

List client contacts

GET /contact

Returns contact persons for client accounts, with the same paging, filtering, and column selection as List client accounts.

ParameterDescription
min_idMinimum contact ID to return (inclusive)
max_idMaximum contact ID to return (inclusive)
filtersOne or more filters to apply
columnsColumns to include in each result
tagsTags to include in each result
limitMaximum number of results to return

Example request:

curl -X GET "https://api.admin.fetchify.com/contact?limit=2" \
  -H "Authorization: Bearer <your-partner-api-key>" \
  -H "Accept: application/json"

Example response (200):

{
  "results": [
    {
      "contact_id": 456,
      "contact_type": "main",
      "contact_first_name": "John",
      "contact_last_name": "Smith",
      "contact_email": "john.smith@example.com",
      "client_id": 12345,
      "client_name": "Acme Corp"
    }
  ],
  "total": 5432,
  "paging": {
    "previous": "https://api.admin.fetchify.com/contact?max_id=999",
    "next": "https://api.admin.fetchify.com/contact?min_id=1101"
  }
}

Errors

Failed requests return a JSON body describing the problem:

{
  "error": {
    "message": "An access token is required"
  }
}

Common status codes:

StatusMeaning
400Invalid or missing input data
401Invalid or missing access token
404Resource not found, or not linked to your partner account

Common Use Cases

  • Provision Fetchify accounts automatically when a customer signs up on your platform
  • Sync client account and contact details into your internal admin or billing tools
  • Monitor client usage, credit consumption, and account status from your own dashboards
  • Top up a client's credit pack automatically based on usage thresholds

Support

If you need a partner API key or help integrating the Embedded Tech API, contact support@fetchify.com.