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.
API documentation
Section titled “API documentation”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/docshttps://<customer-api-host>/api/openapi.jsonUsing Swagger UI
Section titled “Using Swagger UI”-
Open the customer API’s
/docsURL. -
Find the operation you want. The operations are grouped by domain, such as models, tables, attributes, records, views, tags and authentication.
-
Click Try it out.
-
Fill in the path parameters and request body shown by the schema.
-
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.
What the API can do
Section titled “What the API can do”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.
The same rules as the UI
Section titled “The same rules as the UI”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.
API or OData?
Section titled “API or OData?”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 |
API access and support
Section titled “API access and support”Ask your Grunddata administrator for:
- The customer API base URL for the environment you need.
- The Microsoft Entra application and delegated scope used by your integration.
- The tenant and group access required for the models and tables involved.
- Any deployment-specific
/apiprefix 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.