Read jobs, customers and other records from Fieldproxy
Read by exact match
An administrator creates a key in the web app under Settings, Security, API keys: give it a name, an expiry, only the operations this guide needs, and optionally only the tables it touches. Keep it in an environment variable, FIELDPROXY_API_KEY. Your API base is your workspace's regional host, for example https://api-india-1.fieldproxy.ai (India) or https://api-us-east-1.fieldproxy.ai (US East). This guide needs the Read operation.
condition is a non-empty object of column-value pairs. Every pair must match, by equality. It cannot be empty, so a call can never return or touch a whole table by accident.
curl -X POST https://api-india-1.fieldproxy.ai/api/read \
-H "x-api-key: $FIELDPROXY_API_KEY" \
-H "content-type: application/json" \
-d '{"tableName":"jobs","condition":{"status":"assigned","technician_id":42}}'// Node.js 18+ (built-in fetch)
const res = await fetch("https://api-india-1.fieldproxy.ai/api/read", {
method: "POST",
headers: { "x-api-key": process.env.FIELDPROXY_API_KEY, "content-type": "application/json" },
body: JSON.stringify({
"tableName": "jobs",
"condition": {
"status": "assigned",
"technician_id": 42
}
}),
})
const out = await res.json()
if (!res.ok) throw new Error(out.message)
console.log(out.rowCount, out.data)# Python 3 (pip install requests)
import os, requests
res = requests.post(
"https://api-india-1.fieldproxy.ai/api/read",
headers={"x-api-key": os.environ["FIELDPROXY_API_KEY"]},
json={
"tableName": "jobs",
"condition": {
"status": "assigned",
"technician_id": 42
}
},
timeout=30,
)
out = res.json()
res.raise_for_status()
print(out["rowCount"], out["data"]){
"data": [ { "id": 1042, "title": "Boiler service", "status": "assigned", "technician_id": 42, "...": "every column" } ],
"rowCount": 1,
"table": "jobs",
"tenant": "<workspace-id>"
}Exact matches here, anything else with SQL
/api/readmatches values exactly. For ranges,INlists, patterns, joins or totals, use read-only SQL (below).- Every matching row comes back with all its columns in one response (a test read of 5,001 rows did), so make the condition specific. For a sorted or trimmed list, use SQL.
- An unknown column returns 500 with
Read failedand the database error.
Ranges, joins and totals: read-only SQL
Connect an MCP client (Claude, ChatGPT, Cursor, Claude Code or your own agent) and use run_sql: one read-only SELECT on the workspace's own Postgres database, up to 500 rows, with a 5-second limit. export_csv saves up to 10,000 rows as a CSV link.
describe_schema({ "tables": ["jobs", "customers"] })
run_sql({ "sql": "SELECT j.id, j.title, c.company_name, j.status
FROM jobs j JOIN customers c ON c.id = j.customer_id
WHERE j.status = 'completed' LIMIT 50" })Table and column names differ per workspace, because each one is set up around its own business. The names below (jobs, customers, invoices) are typical, not guaranteed. To see the real ones, connect any MCP client and call describe_schema, or ask your Fieldproxy administrator.
Questions
Can I read jobs from Fieldproxy with an API?
Yes. POST /api/read with a table name and a condition returns every matching row with all its columns, for example every job assigned to one technician.
How do I query Fieldproxy data by date range or with joins?
Use read-only SQL through Fieldproxy's MCP server: run_sql runs any SELECT on the workspace's own Postgres database, up to 500 rows, and export_csv saves up to 10,000 rows.
Is Fieldproxy data open to my own tools?
Yes. Each workspace has its own Postgres database, readable through the REST API, read-only SQL, CSV and Excel export, and the db_sync automation step.
This is one way, not the only way
This guide shows one common way to do it. A Fieldproxy workspace can be reached from every side, and anything in it can be read, changed or automated:
- REST API: read, insert, update and delete on any table the key allows (REST API reference).
- MCP server: 170+ tools for Claude, ChatGPT, Copilot, Cursor and your own agents, including read-only SQL, proposed writes, automations and app building (MCP tools).
- Automations: 15 trigger types and about 50 step types, with webhooks in and signed webhooks and HTTP calls out (Webhooks and automations).
- Public forms, record links and customer portals for people outside the company (Public forms and links).
- Apps as JSON: new screens, fields, tables and workflows (Apps as JSON).
- Voice and text agents that work from the same data (Voice and text agents).
- Not listed here? Fieldproxy's team builds integrations with the other systems you use as part of setting up your workspace. Tell us what you need.
Checked against the Fieldproxy platform reference on October 18, 2026. Plain text for AI tools: /developers/guides/read-jobs.md
Get your own custom field service management within a day. Tailored to your workflows.
We set up a workspace on your own data and connect your AI or your systems on the call.
Get Demo