Flow Unified API

Endpoints

Read and write cover every entity; update is available per entity where the connected system supports it.

Read and write cover every entity; update is available per entity where the connected system supports it — see that entity's own endpoint list in the API reference. The path carries the connected account and the entity type; LinkToAny resolves which platform that account belongs to and routes the call for you.

GET  /unified/{accountId}/{entityType}       # Read normalized records
POST /unified/{accountId}/{entityType}       # Write one record to the target system
PUT  /unified/{accountId}/{entityType}/{id}  # Update one existing record by its downstream system id

Parameters

ParameterInRequiredDescription
accountIdPathYesThe connected account the call is scoped to. Find it in the dashboard account switcher.
entityTypePathYesThe unified entity — e.g. customer, order, product, employee. See the API reference for the full list per industry vertical (e.g. Restaurant) or system category (Accounting).
idPathOnly on PUTThe downstream system's own identifier for the record being updated — not a Flow object id.
pageSizeQueryNoNumber of records per page on reads. See Pagination.

Read responses return an array of records normalized to the entity's unified schema. Write and update requests accept one record in that same schema as the JSON body, and return the target system's response mapped back through the unified contract.

Read

cURL
curl "https://api.linktoany.com/unified/{accountId}/order?pageSize=50" \
  -H "accept: application/json" \
  -H "authorization: Bearer ak_<your_api_key>"
SDK
// One page of normalized records
const page = await client.records.list(accountId, 'order', {
  pageSize: 50,
  filters: { updatedAfter: '2026-01-01T00:00:00Z' },
});

console.log(page.data, page.pagination?.hasMore);

Write

cURL
curl -X POST "https://api.linktoany.com/unified/{accountId}/product" \
  -H "accept: application/json" \
  -H "authorization: Bearer ak_<your_api_key>" \
  -H "content-type: application/json" \
  -d '{"externalId":"prd_tee_black_m","name":"Organic Tee — Black / M","sku":"TEE-BLK-M","price":32.0}'
SDK
// Validated against the entity's unified schema,
// then transformed into the platform's native shape
const result = await client.records.create(accountId, 'product', {
  externalId: 'prd_tee_black_m',
  name: 'Organic Tee — Black / M',
  sku: 'TEE-BLK-M',
  price: 32.0,
});

console.log(result.success, result.data);

Update

cURL
curl -X PUT "https://api.linktoany.com/unified/{accountId}/product/{id}" \
  -H "accept: application/json" \
  -H "authorization: Bearer ak_<your_api_key>" \
  -H "content-type: application/json" \
  -d '{"externalId":"prd_tee_black_m","name":"Organic Tee — Black / M","sku":"TEE-BLK-M","price":32.0}'

OpenAPI

An OpenAPI 3.0 description of these same endpoints is published alongside the schema export and downloadable from the Download OpenAPI spec button on the public docs page.

On this page