Introduction

API Reference

The Tidal Control API gives you programmatic access to your organisation's data. Use it to export data for reporting, feed it into other tools, or build custom dashboards.

Endpoint: https://portal.tidalcontrol.com/graphql

Protocol: GraphQL over HTTPS. All requests are POST with a JSON body.

10 articles

Authentication

Authenticate with the Tidal Control API. The OAuth 2.0 Device Authorization Grant for scripts and CLI tools, plus read-only machine-to-machine credentials.

Querying data

The pagination, filtering and sorting patterns every list query in the Tidal Control API shares. Learn them once, plus counting records and handling errors.

Exporting risks

Export risks from the Tidal Control API with the risks_paged query, including likelihood, impact and residual scores, treatment decisions and linked controls.

Exporting controls

Export controls from the Tidal Control API with the controls_paged query, with category, effectiveness status, linked risks, assets and framework references.

Exporting assets

Export assets from the Tidal Control API with the assets_paged query, including CIA scores, linked controls, risks and information types, with a Python script.

Exporting issues

Export issues from the Tidal Control API with the issues_paged query. Findings, gaps, incidents and action plans linked to controls and assets, with a script.

Exporting tasks

Export tasks and assessments from the Tidal Control API with activities_paged and an activityTypes filter, using inline fragments for assessment-only fields.

Reporting use cases

Build the reports compliance teams need from the Tidal Control API. Control effectiveness per period, overdue controls, combined status and department filters.

Schema introspection

Use GraphQL introspection to discover which queries, mutations, types and fields the Tidal Control API exposes, and inspect a mutation before you ever call it.

Adding evidence

Write data with the Tidal Control GraphQL API. Upload an evidence file, create an execution task on a control and attach the file, with a full Python example.