> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visualradioassist.live/llms.txt
> Use this file to discover all available pages before exploring further.

# Machine Users

> Machine Users in Visual Radio Assist provide a secure way to authenticate automated systems and third-party integrations with the VRA Cloud platform.

Machine Users in Visual Radio Assist provide a secure way to authenticate automated systems and third-party integrations with the VRA Cloud platform. This functionality is essential for connecting external broadcast systems, scheduling software, and automation tools to your VRA instance.

## Overview

Machine Users are specialized accounts designed for system-to-system communication rather than human users. They provide API tokens that enable external applications to interact with VRA's GraphQL API securely and programmatically.

## Key Features

* **API Token Generation**: Create secure tokens for external system authentication
* **Granular Permissions**: Control what actions machine users can perform
* **Scalable Integration**: Support multiple external systems simultaneously

## Use Cases

Machine Users are commonly used for:

* **Broadcast Scheduling Integration**: Sync program schedules from external systems
* **Media Workflow Automation**: Automatically upload and manage media content
* **Real-time Data Exchange**: Stream live data between VRA and other broadcast tools
* **Custom Application Development**: Build custom interfaces and control systems

## Managing Machine Users

### Creating a Machine User

1. Navigate to the VRA Cloud dashboard
2. Go to **Settings** → **Broadcaster** → **Machine Users**
3. Click **Create New Machine User**
4. Configure the following settings:
   * **Name**: Descriptive name for the machine user
   * **Description**: Purpose and scope of the integration
   * **Permissions**: Select appropriate access levels
   * **Token Expiration**: Set token validity period (optional)

### Generating API Tokens

Once a Machine User is created:

1. Select the machine user from the list
2. Click **Generate Token**
3. Copy the generated token immediately (it won't be shown again)
4. Store the token securely in your external application

### Token Security Best Practices

* **Store Securely**: Never expose tokens in client-side code or version control
* **Use Environment Variables**: Store tokens in secure environment variables
* **Regular Rotation**: Regenerate tokens periodically for enhanced security
* **Principle of Least Privilege**: Grant only necessary permissions
* **Monitor Usage**: Regularly review API access logs

### Revoking Access

To revoke a machine user's access:

1. Go to **Machine Users** settings
2. Select the user to revoke
3. Click **Revoke Token** or **Delete Machine User**
4. Confirm the action

## Integration Examples

### Scheduling System Integration

Connect your existing broadcast scheduling system to automatically sync program information:

* Pull program data from external scheduling database
* Transform data to VRA format using GraphQL mutations
* Update VRA scheduling in real-time
* Handle recurring programs and schedule changes

### Media Automation

Automate media workflows:

* Monitor network folders for new content
* Automatically upload media to VRA Cloud Media Hub
* Associate media with scheduled programs
* Manage media metadata and categorization
