# Aikido

> Connect Aikido Security to Tidal Control so compliance tests read your code and cloud findings. All access is read-only, nothing is created, changed or deleted.

Source: https://tidalcontrol.com/docs/integrations/aikido

Tidal Control's Aikido integration monitors your Aikido Security environment for compliance purposes. All access is read-only. Tidal Control never creates, modifies, or deletes anything in Aikido.

## What this integration monitors

- **Issues:** Open security findings and their severity
- **Repositories:** Connected code repositories
- **Cloud accounts:** Connected cloud environments
- **Containers:** Container images under scan
- **Virtual machines:** Connected VMs
- **Domains:** Monitored domains
- **Teams & users:** Team membership and users

## Requirements

- Super User role in Tidal Control
- An Aikido account with permission to create API credentials

## Configuration step-by-step plan

We'll create an **Aikido OAuth2 API client** (Client ID and Client Secret), then add the connection in Tidal Control.

**Configuration steps:**

1. **Create an API client in Aikido**
2. **Configure the integration in Tidal Control**

## Step 1: Create an API client in Aikido

- Log in to [Aikido](https://app.aikido.dev)
- Go to **Integrations › API**
- Create a new API client
- **Copy the Client ID and Client Secret**: the secret is only shown once

> **warning:**

**Save the Client Secret immediately.** Aikido only shows the secret once at creation. If you close the dialog without copying it, you will need to create a new API client.

## Step 2: Configure the integration in Tidal Control

- Go to **Settings → Integrations** in Tidal Control
- Click the **plus icon** next to **Aikido**
- Fill in the configuration:
  - **Name:** A descriptive name, e.g. `Aikido`
  - **Client ID:** The Client ID from step 1
  - **Client Secret:** The Client Secret from step 1
  - **Region (optional):** The Aikido region your account uses (defaults to **EU**)
- Click **"Create"** to save the integration

## Configuration fields explained

The integration dialog asks for the following values:

**Name:**
- A descriptive name for this connection
- For example: `Aikido`, `Aikido Production`

**Client ID:**
- The Aikido OAuth2 client identifier
- Created in step 1

**Client Secret:**
- The secret part of the Aikido OAuth2 client
- Created in step 1
- Keep this value secure

**Region (optional):**
- The Aikido data region your account uses
- Leave on the default (EU) unless your account is hosted in another region

<table>
<thead>
<tr><th>Region</th><th>Endpoint</th></tr>
</thead>
<tbody>
<tr><td><code>EU</code></td><td>app.aikido.dev (default)</td></tr>
<tr><td><code>US</code></td><td>app.us.aikido.dev</td></tr>
<tr><td><code>ME</code></td><td>app.me.aikido.dev</td></tr>
</tbody>
</table>

## Verification

The integration is working when all of the following are true:

- Settings → Integrations shows Aikido under **Configured Integrations**
- Aikido tests are available in the Tests section
- Test refresh delivers results without authentication errors

## Frequently asked questions

**Does Tidal Control make changes in Aikido?**
No. The integration is read-only and only reads data from the Aikido public API.

**Which region should I choose?**
Use the region where your Aikido account is hosted. Most accounts are on the EU region (`app.aikido.dev`), which is the default. If you sign in at `app.us.aikido.dev` or `app.me.aikido.dev`, choose US or ME respectively.

## Common problems

**"Aikido OAuth2 authentication failed"**
- Check that the Client ID and Client Secret are correct and were not truncated
- The secret is only shown once. If you did not copy it, create a new API client

**Tests fail with an authorization error**
- Confirm the API client still exists in Aikido and has not been revoked

**No data or wrong data returned**
- Confirm the selected **Region** matches the region where your Aikido account is hosted

### Still can't figure it out?

Send an email to support@tidalcontrol.com, and we'll get back to you as soon as possible.

> **info:**

**Gather support info:** Note which browser you're using, exact error messages, and which steps you've already tried. This speeds up the solution considerably.
