# Grain API Documentation

This is the complete API documentation for connecting to the Grain 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 **Grain connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

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

## Grain actions

- PUT `add-tag-to-recording` Add Tag to Recording
- POST `create-hook` Create Hook
- DELETE `delete-hook` Delete Hook
- GET `download-recording` Download Recording
- GET `get-recording` Get Recording
- GET `get-recording-transcript-json` Get Recording Transcript JSON
- GET `get-recording-transcript-srt` Get Recording Transcript SRT
- GET `get-recording-transcript-txt` Get Recording Transcript TXT
- GET `get-recording-transcript-vtt` Get Recording Transcript VTT
- GET `list-hooks` List Hooks
- GET `list-meeting-types` List Meeting Types
- GET `list-recordings` List Recordings
- GET `list-teams` List Teams
- GET `list-users` List Users
- DELETE `remove-tag-from-recording` Remove Tag from Recording
- PUT `share-recording-to-team` Share Recording to Team
- PUT `share-recording-to-user` Share Recording to User
- DELETE `unshare-recording-from-team` Unshare Recording from Team
- DELETE `unshare-recording-from-user` Unshare Recording from User
- PUT `update-recording` Update Recording
