# Diffy API Documentation

This is the complete API documentation for connecting to the Diffy API using MindCloud's Universal API.

MindCloud offers one normalized API to access 3,400+ apps from a single place. It centralizes authentication and normalizes app APIs so they are easier and more consistent to use.

## Quickstart

1. A **MindCloud account** — sign in or create an account at [MindCloud](https://app.mindcloud.co).
2. A **MindCloud API Key** — create one in [API Keys](https://app.mindcloud.co/user/api-keys). Keep it on your server.
3. At least one **Diffy connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

```text
POST https://connect.mindcloud.co/v2/universal/apps/diffy/actions/{actionSlug}/run
```

## Diffy actions

- POST `compare-environments` Compare Environments
- POST `create-custom-uploaded-screenshot` Create Custom Uploaded Screenshot
- POST `create-diff` Create Diff
- POST `create-project` Create Project
- POST `create-screenshot` Create Screenshot
- DELETE `delete-diff` Delete Diff
- DELETE `delete-project` Delete Project
- DELETE `delete-screenshot` Delete Screenshot
- POST `exchange-api-key-for-token` Exchange API Key for Token
- GET `get-diff` Get Diff
- GET `get-project` Get Project
- GET `get-screenshot` Get Screenshot
- GET `list-project-diffs` List Project Diffs
- GET `list-project-screenshots` List Project Screenshots
- GET `list-projects` List Projects
- PUT `set-baseline-image` Set Baseline Image
- PUT `set-screenshot-set-as-baseline` Set Screenshot Set as Baseline
- PUT `start-or-stop-diff-jobs` Start or Stop Diff Jobs
- PUT `start-or-stop-screenshot-jobs` Start or Stop Screenshot Jobs
- PUT `update-diff-name` Update Diff Name
- PUT `update-project` Update Project
- PUT `update-screenshot` Update Screenshot
