TrustPipe
TrustPipe
API Documentation

Integrate TrustPipe into your apps, scripts and workflows

A simple REST API to manage tables, rows, and run enrichments programmatically.

Getting Started

1

Generate an API key in Settings → API Keys.

2

Include it as a Bearer token in every request:

Authorization: Bearer tp_your_api_key_here

Base URL

https://yhewmeyrrrujicqweflc.supabase.co/functions/v1/api

Quick Examples

curl https://yhewmeyrrrujicqweflc.supabase.co/functions/v1/api/tables \
  -H "Authorization: Bearer tp_your_key_here"

Credits & Limits

  • Enrichment — credits deducted per row per pipe (same as the UI).
  • Discovery — 1 credit per company returned.
  • Pagination — max 100 rows per request. Use limit and offset query params.
  • Tables, rows, columns — free to read/write.

Endpoint Reference

GET/tablesList all your tables

Query Parameters

?limit=50&offset=0

Response

{
  "data": [{ "id": "uuid", "name": "My Table", "description": "...", "created_at": "..." }],
  "total": 42,
  "limit": 50,
  "offset": 0
}
POST/tablesCreate a new table

Request Body

{
  "name": "Leads Q1",
  "description": "Q1 lead list",
  "columns": [
    { "name": "company_name", "display_name": "Company", "type": "text" },
    { "name": "email", "display_name": "Email", "type": "text" }
  ]
}

Response

{ "data": { "id": "uuid", "name": "Leads Q1", ... } }
GET/tables/:idGet a table with its columns

Response

{ "data": { "id": "uuid", "name": "...", "columns": [...] } }
GET/tables/:id/rowsList rows (paginated)

Query Parameters

?limit=50&offset=0

Response

{
  "data": [{ "id": "uuid", "data": { "company_name": "Acme", ... }, "enrichment_status": "pending" }],
  "total": 100, "limit": 50, "offset": 0
}
POST/tables/:id/rowsAdd rows to a table

Request Body

{
  "rows": [
    { "data": { "company_name": "Acme Corp", "email": "hello@acme.com" } },
    { "data": { "company_name": "Globex", "email": "info@globex.com" } }
  ]
}

Response

{ "data": [...], "inserted": 2 }
PUT/rows/:idUpdate a row

Request Body

{ "data": { "company_name": "Acme Corp Updated" } }

Response

{ "data": { "id": "uuid", "data": { ... } } }
DELETE/rows/:idDelete a row

Response

{ "success": true }
POST/enrichStart an enrichment job

Request Body

{
  "table_id": "uuid",
  "row_ids": ["uuid1", "uuid2"],
  "pipes": [
    {
      "id": "people:workemail:waterfall@1",
      "name": "Work Email Finder",
      "mappings": { "first_name": "first_name", "last_name": "last_name", "company_website_url": "website" }
    }
  ]
}

Response

{ "data": { "id": "job-uuid", "status": "pending", ... }, "message": "Enrichment job started" }
GET/jobs/:idCheck enrichment job status

Response

{ "data": { "id": "uuid", "status": "completed", "rows_processed": 10, "rows_failed": 0 } }
POST/discoverDiscover companies by criteria

Request Body

{
  "industry": "SaaS",
  "country": "gb",
  "city": "London",
  "employee_range": "11-50 employees",
  "max_results": 25
}

Response

{ "success": true, "table_id": "uuid", "companies_found": 25, "credits_used": 25 }

Ready to start building?

Get your API key and start enriching in minutes.

Get API Keys