Skip to content
Get started

Customer API

Grunddata also provides a rich customer API for IT teams, integrations and automated workflows. The web app, Excel plugin and Google Sheets add-on use this same API, so an integration built against it follows the same authentication, validation, commits and versioning rules as the user interfaces.

The API is built with FastAPI and publishes interactive documentation for each customer environment:

Resource URL
Swagger UI <customer-api-base-url>/docs
ReDoc <customer-api-base-url>/redoc
OpenAPI schema <customer-api-base-url>/openapi.json

Replace <customer-api-base-url> with the customer API host supplied by your Grunddata administrator. Depending on the deployment’s reverse proxy, this may include an /api prefix. For example:

https://<customer-api-host>/api/docs
https://<customer-api-host>/api/openapi.json
  1. Open the customer API’s /docs URL.

  2. Find the operation you want. The operations are grouped by domain, such as models, tables, attributes, records, views, tags and authentication.

  3. Click Try it out.

  4. Fill in the path parameters and request body shown by the schema.

  5. Click Execute. Swagger UI shows the request URL, response status and response body.

The customer API routes are protected by the same tenant and user authentication used by the web app. A request must be made in the context of the correct customer environment.

The API includes operations for:

Area Examples
Models List, create, update and delete models
Tables List, create, update and delete tables; inspect the table overview; create initial attributes and Excel formulas atomically
Attributes List and manage datatypes, required/unique settings, domain references, validation schemas and formulas
Records Read records, create and update records in batches, delete records, validate rules
Views Create, update, list and delete stable OData contracts
Tags List and manage catalogue labels used for filtering and access control
OData Read configured views using the OData protocol

The exact request and response models, required fields and allowed operations are always defined by the live Swagger UI and OpenAPI schema.

Using the API does not create a way around governance:

  • Required and unique attributes are enforced.
  • Datatypes, max length, precision and scale are enforced.
  • Domain attributes must resolve to records in the referenced domain table.
  • Attribute and table validation rules are enforced.
  • Record writes produce commits and versions.
  • Failed writes are returned through record audit information and do not partially save the failing record.

Use the following decision guide:

Need Recommended interface
Build a Power BI model OData
Refresh a read-only Excel report OData
Load data into an ETL pipeline OData for reads; customer API for writes
Create a new model or table automatically Customer API
Synchronise records from another system Customer API batch record operations
Let a person maintain records Excel plugin or Google Sheets add-on
Explore and test a request manually Swagger UI at /docs

Ask your Grunddata administrator for:

  1. The customer API base URL for the environment you need.
  2. The Microsoft Entra application and delegated scope used by your integration.
  3. The tenant and group access required for the models and tables involved.
  4. Any deployment-specific /api prefix used by the reverse proxy.

Do not put client secrets in a spreadsheet, script shared with end users, or frontend code. Use your organisation’s approved secret store and service-to-service authentication pattern.