Skip to content

Commit bcaacca

Browse files
committed
docs: enhance API documentation with web GUI management options
- Added tips for managing developer options and API keys through the web interface. - Updated the GraphQL sandbox enabling instructions to include a web GUI method. - Clarified API key management and authentication methods, including SSO/OIDC. - Revised the availability section to reflect native integration in Unraid v7.2 and provide guidance for earlier versions.
1 parent 0afc4e8 commit bcaacca

File tree

5 files changed

+76
-38
lines changed

5 files changed

+76
-38
lines changed

api/docs/public/cli.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ Switch between production and staging environments.
6161

6262
### Developer Mode
6363

64+
:::tip Web GUI Management
65+
You can also manage developer options through the web interface at **Settings****Management Access****Developer Options**
66+
:::
67+
6468
```bash
6569
unraid-api developer # Interactive prompt for tools
6670
unraid-api developer --sandbox true # Enable GraphQL sandbox
@@ -76,13 +80,17 @@ Configure developer features for the API:
7680

7781
## API Key Management
7882

83+
:::tip Web GUI Management
84+
You can also manage API keys through the web interface at **Settings****Management Access****API Keys**
85+
:::
86+
7987
### API Key Commands
8088

8189
```bash
8290
unraid-api apikey [options]
8391
```
8492

85-
Create and manage API keys.
93+
Create and manage API keys via CLI.
8694

8795
Options:
8896

@@ -94,6 +102,10 @@ Options:
94102

95103
## SSO (Single Sign-On) Management
96104

105+
:::info OIDC Configuration
106+
For OIDC/SSO provider configuration, see the web interface at **Settings****Management Access****API****OIDC** or refer to the [OIDC Provider Setup](./oidc-provider-setup.md) guide.
107+
:::
108+
97109
### SSO Base Command
98110

99111
```bash

api/docs/public/how-to-use-the-api.md

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,52 @@ The Unraid API provides a GraphQL interface that allows you to interact with you
44

55
## Enabling the GraphQL Sandbox
66

7-
1. Enable developer mode using the CLI:
8-
9-
```bash
10-
unraid-api developer --sandbox true
11-
```
12-
13-
Or use the interactive mode:
14-
15-
```bash
16-
unraid-api developer
17-
```
18-
19-
2. Once enabled, you can access the Apollo Sandbox interface
7+
### Web GUI Method (Recommended)
208

9+
1. Navigate to **Settings****Management Access****Developer Options**
10+
2. Enable the **GraphQL Sandbox** toggle
2111
3. Access the GraphQL playground by navigating to:
2212

2313
```txt
2414
http://YOUR_SERVER_IP/graphql
2515
```
2616
17+
### CLI Method
18+
19+
Alternatively, you can enable developer mode using the CLI:
20+
21+
```bash
22+
unraid-api developer --sandbox true
23+
```
24+
25+
Or use the interactive mode:
26+
27+
```bash
28+
unraid-api developer
29+
```
30+
2731
## Authentication
2832

2933
Most queries and mutations require authentication. You can authenticate using either:
3034

3135
1. API Keys
3236
2. Cookies (default method when signed into the WebGUI)
37+
3. SSO/OIDC (when configured)
38+
39+
### Managing API Keys
3340

34-
### Creating an API Key
41+
#### Web GUI Method (Recommended)
3542

36-
Use the CLI to create an API key:
43+
Navigate to **Settings****Management Access****API Keys** in your Unraid web interface to:
44+
45+
- View existing API keys
46+
- Create new API keys
47+
- Manage permissions and roles
48+
- Revoke or regenerate keys
49+
50+
#### CLI Method
51+
52+
You can also use the CLI to create an API key:
3753

3854
```bash
3955
unraid-api apikey --create
@@ -46,6 +62,8 @@ Follow the prompts to set:
4662
- Roles
4763
- Permissions
4864

65+
### Using API Keys
66+
4967
The generated API key should be included in your GraphQL requests as a header:
5068

5169
```json

api/docs/public/index.md

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,28 @@
22

33
The Unraid API provides a GraphQL interface for programmatic interaction with your Unraid server. It enables automation, monitoring, and integration capabilities.
44

5-
## Current Availability
5+
## Availability
66

7-
The API is available through the Unraid Connect Plugin:
7+
### Native Integration (Unraid v7.2-beta.1+)
88

9-
1. Install Unraid Connect Plugin from Apps
10-
2. [Configure the plugin](./how-to-use-the-api.md#enabling-the-graphql-sandbox)
11-
3. Access API functionality through the [GraphQL Sandbox](./how-to-use-the-api.md#accessing-the-graphql-sandbox)
9+
Starting with Unraid v7.2-beta.1, the API is integrated directly into the Unraid operating system:
10+
11+
- No plugin installation required
12+
- Automatically available on system startup
13+
- Deep system integration
14+
- Access through **Settings****Management Access****API**
1215

13-
## Future Availability
16+
### Plugin Installation (Earlier Versions)
1417

15-
The API will be integrated directly into the Unraid operating system in an upcoming OS release. This integration will:
18+
For Unraid versions prior to v7.2:
19+
20+
1. Install Unraid Connect Plugin from Apps
21+
2. [Configure the plugin](./how-to-use-the-api.md#enabling-the-graphql-sandbox)
22+
3. Access API functionality through the [GraphQL Sandbox](./how-to-use-the-api.md)
1623

17-
- Make the API a core part of the Unraid system
18-
- Remove the need for separate plugin installation
19-
- Enable deeper system integration capabilities
24+
:::tip Pre-release Versions
25+
You can install the Unraid Connect plugin on any version to access pre-release versions of the API and get early access to new features before they're included in Unraid OS releases.
26+
:::
2027

2128
## Documentation Sections
2229

@@ -29,10 +36,11 @@ The API will be integrated directly into the Unraid operating system in an upcom
2936

3037
The API provides:
3138

32-
- GraphQL Interface: Modern, flexible API with strong typing
33-
- Authentication: Secure access via API keys or session cookies
34-
- Comprehensive Coverage: Access to system information, array management, and Docker operations
35-
- Developer Tools: Built-in GraphQL sandbox for testing
36-
- Role-Based Access: Granular permission control
39+
- **GraphQL Interface**: Modern, flexible API with strong typing
40+
- **Authentication**: Multiple methods including API keys, session cookies, and SSO/OIDC
41+
- **Comprehensive Coverage**: Access to system information, array management, and Docker operations
42+
- **Developer Tools**: Built-in GraphQL sandbox configurable via web interface or CLI
43+
- **Role-Based Access**: Granular permission control
44+
- **Web Management**: Manage API keys and settings through the web interface
3745

3846
For detailed usage instructions, see [CLI Commands](./cli.md).

api/docs/public/oidc-provider-setup.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,10 @@ LOG_LEVEL=debug unraid-api start --debug
272272

273273
## Security Best Practices
274274

275-
1. **Use HTTPS when possible** - Provides encrypted connections for authentication
276-
2. **Use Simple Mode for authorization** - Prevents overly accepting configurations and reduces misconfiguration risks
277-
3. **Be specific with authorization** - Don't use overly broad rules
278-
4. **Rotate secrets regularly** - Update client secrets periodically
279-
5. **Test thoroughly** - Verify only intended users can access
275+
1. **Use Simple Mode for authorization** - Prevents overly accepting configurations and reduces misconfiguration risks
276+
2. **Be specific with authorization** - Don't use overly broad rules
277+
3. **Rotate secrets regularly** - Update client secrets periodically
278+
4. **Test thoroughly** - Verify only intended users can access
280279

281280
## Need Help?
282281

@@ -292,6 +291,7 @@ LOG_LEVEL=debug unraid-api start --debug
292291
The Unraid.net provider is built-in and pre-configured. You only need to configure authorization rules in the interface.
293292

294293
**Configuration:**
294+
295295
- **Issuer URL**: Pre-configured (built-in provider)
296296
- **Client ID/Secret**: Pre-configured (built-in provider)
297297
- **Redirect URI**: `http://YOUR_UNRAID_IP/graphql/api/auth/oidc/callback`

api/docs/public/upcoming-features.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,6 @@ We value community input! Please submit feature requests and feedback through:
167167
Versions prior to Unraid 7.2 require the API to be installed through the Unraid Connect plugin. Some features may not be available on older versions.
168168
:::
169169

170-
:::tip Development Builds
171-
You can always install the Unraid Connect plugin to track the latest released development changes and get early access to new API features before they're included in Unraid OS releases.
170+
:::tip Pre-release Versions
171+
You can always install the Unraid Connect plugin to access pre-release versions of the API and get early access to new features before they're included in Unraid OS releases.
172172
:::

0 commit comments

Comments
 (0)