On this page
Use a MiniUp Table API
A MiniUp Table API lets an application read and change Table records over HTTP. Copy the public API URL from the Table’s API information and use the allowed methods and credentials shown for that Table.
Find the public Table API URL
- Open Dashboard → your Site → API and select the Table.
- Open its API information or OpenAPI Quick Doc and copy the base URL.
- Review the schema, current access permissions, and generated request examples.
For a Site named my-site and Table slug customer-leads, a typical base URL is:
https://my-site.miniup.app/api/data/my-site/customer-leadsUse the actual copied URL if your Site uses a different hostname. The schema URL is the base URL plus /schema. A record URL is the base URL plus /RECORD_ID.
Read records from a browser
This example requires a Table with public GET access. Render values as text, not untrusted HTML.
const response = await fetch(
"https://my-site.miniup.app/api/data/my-site/customer-leads?limit=25&offset=0"
);
if (!response.ok) throw new Error(`Table request failed: ${response.status}`);
const data = await response.json();
const rows = data.records.map(record => ({ id: record.id, ...record.fields }));
console.log(rows);List responses contain records, with each record exposing id and fields. An empty array is a valid empty result. Request another page with a larger offset rather than loading the entire Table at once.
Create, update, and delete from trusted code
These examples use the write-key contract. Enable the relevant method and use the credential shown for your Table. For a Developer API server key, replace the key header with x-miniup-api-key: YOUR_API_KEY.
# Create one record
curl -X POST 'https://my-site.miniup.app/api/data/my-site/customer-leads' -H 'Content-Type: application/json' -H 'x-miniup-write-key: YOUR_WRITE_KEY' --data '{"record":{"name":"Avery","email":"avery@example.com"}}'
# Update the specified record
curl -X PATCH 'https://my-site.miniup.app/api/data/my-site/customer-leads/RECORD_ID' -H 'Content-Type: application/json' -H 'x-miniup-write-key: YOUR_WRITE_KEY' --data '{"fields":{"name":"Avery Chen"}}'
# Delete the specified record
curl -X DELETE 'https://my-site.miniup.app/api/data/my-site/customer-leads/RECORD_ID' -H 'x-miniup-write-key: YOUR_WRITE_KEY'For public insert Tables, the authorized POST workflow does not require a private browser key. Public insert does not authorize GET, PATCH, or DELETE.
Filter, sort, and summarize a Table
| Public query parameter | Purpose |
|---|---|
limit, offset, includeTotal | Page through results and request a total |
field, value or filterField, filterValue | Match a field value |
sortField, sortDir | Sort with asc or desc |
q, searchFields | Search selected fields |
dateField, dateFrom, dateTo | Restrict a date range |
fields or columns, compact | Select a smaller response shape |
aggregate, aggregateField, groupBy | Request count, sum, avg, min, or max summaries |
bbox, longitudeField, latitudeField | Restrict coordinate records to a map area |
Use exact schema field names and URL-encode values with URLSearchParams. Start with the default record shape before opting into compact or aggregate responses, which have different shapes. For example, ?field=status&value=open&limit=25 fetches a bounded page of open records.
Handle Table API errors
Check response.ok before parsing success data. Show an error rather than an empty successful table when access fails. Review permissions and keys for 401, 403, or 405. Reduce request size for limit errors and retry transient failures without blindly repeating a create request that may already have succeeded.