# Grafbase

Grafbase is a platform that accelerates the development of GraphQL APIs, offering features like edge caching, unified data access, and seamless integration with popular authentication strategies.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 28
- **Triggers:** 0
- **Slug:** `GRAFBASE`
- **Version:** 20260312_00

## Tools

### Add Zitadel Redirect URI

**Slug:** `GRAFBASE_ADD_ZITADEL_REDIRECT`

Add a redirect URI to Zitadel OAuth configuration in Grafbase. Use when you need to register a new redirect URI for OAuth flows with Zitadel identity provider.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Assign Team Role

**Slug:** `GRAFBASE_ASSIGN_TEAM_ROLE`

Tool to assign a role to a team member in Grafbase. Use this when you need to change a team member's role between MEMBER and ADMIN. ADMIN role grants team management privileges including adding/removing members and changing roles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("MEMBER" | "ADMIN") | Yes | Role to assign to the team member. MEMBER grants standard access, ADMIN grants administrative privileges including team management. |
| `team_id` | string | Yes | Unique identifier of the team. Must be a valid Grafbase team ID. |
| `member_id` | string | Yes | Unique identifier of the member to assign the role to. Must be a valid Grafbase user ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Grafbase API Key

**Slug:** `GRAFBASE_DELETE_API_KEY`

Delete an existing Grafbase API key (access token) by ID. Use after confirming the key ID via the List API Keys action. This action permanently revokes the API key's access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key_id` | string | Yes | The unique identifier of the Grafbase API key (access token) to delete. Obtain this ID by first listing API keys using the List API Keys action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Grafbase Audit Log

**Slug:** `GRAFBASE_DELETE_AUDIT_LOG`

Tool to delete a specific Grafbase audit log entry. IMPORTANT: Grafbase does not expose a public API to delete audit logs. Audit logs are read-only compliance records retained for 90 days and can only be exported as CSV from the Grafbase Dashboard. This action validates connectivity to the Grafbase API and returns an informative response about this limitation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `log_id` | string | Yes | The unique identifier of the audit log entry to delete. Note: Grafbase audit logs cannot be deleted via API - they are retained for 90 days and only exportable via CSV from the dashboard. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Extension

**Slug:** `GRAFBASE_DELETE_EXTENSION`

Tool to delete a Grafbase extension configuration by its unique ID. Note: Grafbase extensions are primarily configured via grafbase.toml configuration file and WebAssembly modules, not through a REST API. This action attempts to delete via the API endpoint if it exists; otherwise, it returns guidance on how to remove extensions via configuration. Use this action when you need to programmatically attempt to remove an extension configuration, understanding that the operation may require manual configuration changes if the API endpoint is not available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `extension_id` | string | Yes | The unique identifier of the extension to delete. Note: Grafbase extensions are typically configured via grafbase.toml, not via REST API. This action attempts to delete via API if supported, otherwise returns guidance. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete MCP Server

**Slug:** `GRAFBASE_DELETE_MCP_SERVER`

Tool to delete a Grafbase MCP server configuration by its unique ID. Note: Grafbase MCP is primarily configured via grafbase.toml configuration file, not through a REST API. This action attempts to delete via the API endpoint if it exists; otherwise, it returns guidance on how to disable MCP via configuration. Use this action when you need to programmatically attempt to remove an MCP server configuration, understanding that the operation may require manual configuration changes if the API endpoint is not available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `server_id` | string | Yes | The unique identifier of the MCP server configuration to delete. Note: Grafbase MCP is typically configured via grafbase.toml, not via REST API. This action attempts to delete via API if supported, otherwise returns guidance. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Grafbase Subgraph

**Slug:** `GRAFBASE_DELETE_SCHEMA`

Tool to delete a subgraph from a Grafbase federated graph. Use this when you need to remove a subgraph from the schema registry. The operation can be run as a dry run first to check if deletion would cause composition errors in the federated graph. Required: account_slug, subgraph_name Optional: branch (defaults to 'main'), graph_slug, message, dry_run

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch` | string | No | The branch name where the subgraph exists (defaults to 'main') |
| `dry_run` | boolean | No | If True, validates the deletion without actually removing the subgraph. Useful for checking composition impact. |
| `message` | string | No | Optional message describing the reason for deletion |
| `graph_slug` | string | No | Optional graph slug if the account has multiple graphs |
| `account_slug` | string | Yes | The organization/account slug that owns the graph (e.g., 'my-organization') |
| `subgraph_name` | string | Yes | The name of the subgraph to delete from the federated graph |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Schema Check

**Slug:** `GRAFBASE_DELETE_SCHEMA_CHECK`

Attempt to delete a schema check from the Grafbase platform. IMPORTANT LIMITATION: The Grafbase Platform API does not support deleting schema checks. Schema checks are immutable audit records that provide a historical trail of schema validations. They cannot be deleted through the API. This action will verify the schema check exists and return an informative response indicating that deletion is not supported by the Grafbase API. If you need to manage schema checks, consider: - Using the 'List Schema Checks' action to view existing checks - Using the 'Get Schema Check' action to retrieve details of a specific check - Schema checks are automatically created via 'grafbase check' CLI command or API

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | The unique identifier of the schema check. Note: Grafbase does not support deleting schema checks as they are immutable audit records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Grafbase Team

**Slug:** `GRAFBASE_DELETE_TEAM`

Tool to delete a team from the Grafbase organization. Use when removing a team that is no longer needed. This action permanently removes the team and its associated permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | The unique identifier of the team to delete. Must be a valid CompositeID format (e.g., 'team_01KFQJ7YT4PSP01A09ACVTR899'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Disable MCP Server

**Slug:** `GRAFBASE_DISABLE_MCP`

Disable the Model Context Protocol (MCP) server for a Grafbase project. MCP enables AI agents to query your GraphQL APIs using natural language. Use this action when you need to turn off MCP access to your API. Note: In most Grafbase deployments, MCP is configured via grafbase.toml (setting [mcp].enabled = false). This action attempts to disable MCP via API if the endpoint supports it, otherwise returns guidance for configuration-based disabling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | No | Optional reason for disabling MCP; included in the response message for audit/logging purposes. |
| `dry_run` | boolean | No | If true, simulates the disable action without making changes. The API call is still executed but response indicates dry-run mode. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enable Grafbase MCP Server

**Slug:** `GRAFBASE_ENABLE_MCP`

Enable the Model Context Protocol (MCP) server on a Grafbase gateway. MCP allows AI tools (like Cursor, Windsurf, VS Code) to explore and query your GraphQL API using natural language. This tool attempts to enable MCP via the gateway API. Note: MCP is typically enabled via gateway configuration (grafbase.toml with [mcp].enabled = true). If the API endpoint is not supported or the gateway is unreachable, this tool returns guidance for manual configuration. Use this when you need to activate MCP support on a Grafbase gateway.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | No | Optional reason or context for enabling MCP. Used for logging and message annotation only. |
| `dry_run` | boolean | No | If true, indicates a dry run intent. The API call is still executed but this flag is logged for reference. |
| `enabled` | boolean | No | Target enabled state (true to enable, false to disable). If not provided, the default enable behavior is used. |
| `server_url` | string | No | Optional custom MCP server URL to configure. If provided, it may be sent in the request body if the endpoint accepts it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Grafbase Audit Log

**Slug:** `GRAFBASE_GET_AUDIT_LOG`

Tool to retrieve a specific Grafbase audit log entry by searching organization activity. Note: Grafbase does not expose a direct API to fetch individual audit log entries by ID. This action queries organization member activity via the GraphQL API and attempts to find a matching entry based on the provided log_id (which can be a timestamp, user ID, or action type). For full audit log access, use the CSV export feature in the Grafbase dashboard (Settings > Audit Logs) which is available to organization owners and admins.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `log_id` | string | Yes | Identifier for the audit log entry to retrieve. Can be a timestamp, user ID, or action type to search for. |
| `organization_slug` | string | No | Organization slug to scope the audit log search (optional) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Extension by Name

**Slug:** `GRAFBASE_GET_EXTENSION_BY_NAME`

Tool to retrieve a Grafbase extension by its name. Returns detailed information including the extension's ID, name, versions, and ownership details. Use this when you need to look up an extension by name rather than ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the extension to retrieve (e.g., 'postgres', 'auth0', 'stripe') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Extension Version By Name And Version

**Slug:** `GRAFBASE_GET_EXTENSION_VERSION_BY_NAME_AND_VERSION`

Tool to retrieve details of a specific Grafbase extension version by name and version. Use when you need to query information about a particular version of an extension, including its creation date and license.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | string | Yes | The semantic version of the extension (e.g., '0.6.1') |
| `extension_name` | string | Yes | The name of the extension (e.g., 'postgres', 'mongodb') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Federated Schema

**Slug:** `GRAFBASE_GET_FEDERATED_SCHEMA`

Retrieves the composed federated graph schema from Grafbase in SDL format. Use this to inspect the unified schema after all subgraph schemas have been composed. Returns the full GraphQL SDL including all types, queries, mutations, and subscriptions. Requires at least one federated graph with published subgraphs to return a schema.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch` | string | No | Branch name to retrieve the federated schema for (defaults to 'main' if not provided) |
| `graph_slug` | string | No | Slug identifier of the federated graph (e.g., 'my-graph'). If not provided, returns the schema from the first available graph. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Grafbase Invitation

**Slug:** `GRAFBASE_GET_INVITATION`

Tool to retrieve details about a specific Grafbase invitation by ID. Use when you need to check the status, email, or creation date of an invitation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invitation_id` | string | Yes | The unique identifier of the invitation to retrieve. Uses CompositeID format (e.g., '01KFQJ7YT4PSP01A09ACVTR899'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Notifications Inbox Messages

**Slug:** `GRAFBASE_GET_NOTIFICATIONS_INBOX_MESSAGES`

Tool to retrieve notifications inbox messages for the authenticated Grafbase user. Returns all notification messages with counts of total and unread notifications. Use when you need to check for new notifications or see notification history.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Grafbase Schema Check

**Slug:** `GRAFBASE_GET_SCHEMA_CHECK`

Retrieve details of a specific schema check by its ID. This tool fetches comprehensive information about a schema validation check, including error details, git commit information, and approval status. Requires account_slug and graph_slug to identify the graph. Use the check_id from list_schema_checks to retrieve specific check details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_id` | string | Yes | The unique ID of the schema check to retrieve. Obtain this from list_schema_checks action. |
| `graph_slug` | string | Yes | The slug of the graph within the account (e.g., 'my-graph') |
| `account_slug` | string | Yes | The slug of the Grafbase account/organization (e.g., 'my-org') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Subgraph Schema

**Slug:** `GRAFBASE_GET_SUBGRAPH_SCHEMA`

Retrieves the GraphQL SDL schema for a specific subgraph by name. Use GRAFBASE_LIST_SUBGRAPHS first to discover available subgraph names. Returns the full schema definition including types, queries, mutations, and subscriptions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The unique name of the subgraph to retrieve the schema for. Use GRAFBASE_LIST_SUBGRAPHS to discover available subgraph names first. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List API Keys

**Slug:** `GRAFBASE_LIST_API_KEYS`

List all API keys (access tokens) for the authenticated Grafbase user. Uses the Grafbase Management API to retrieve access tokens with pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `last` | integer | No | Number of API keys to return from the end of the list (backward pagination). Max 100. |
| `after` | string | No | Cursor for forward pagination. Return items after this cursor. |
| `first` | integer | No | Number of API keys to return from the beginning of the list (forward pagination). Max 100. |
| `before` | string | No | Cursor for backward pagination. Return items before this cursor. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Grafbase Audit Logs

**Slug:** `GRAFBASE_LIST_AUDIT_LOGS`

Tool to list audit logs for Grafbase organizations. Audit logs track organization member activity including graph management, team operations, access control changes, and configuration updates. Note: Grafbase audit logs are retained for 90 days. Currently, the primary method to access audit logs is via CSV export from the Grafbase dashboard. This action attempts to query organization activity via the GraphQL API and returns available data or an informative response about API limitations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Pagination cursor to fetch logs after this point |
| `first` | integer | No | Maximum number of audit log entries to return (default: 50) |
| `organization_slug` | string | No | Organization slug to filter audit logs (optional, returns logs from all accessible organizations if not specified) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Extensions

**Slug:** `GRAFBASE_LIST_EXTENSIONS`

Tool to list all extensions configured for a Grafbase project. Returns extensions from the project's configuration. Use to discover what extensions are installed in your Grafbase gateway.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List MCP Servers

**Slug:** `GRAFBASE_LIST_MCP_SERVERS`

Check MCP server configuration status for a Grafbase gateway. Grafbase MCP servers are configured via grafbase.toml files, not through a dynamic API. This tool checks if the MCP endpoint is accessible and provides configuration guidance. Use this tool when you need to: - Check if MCP is enabled on a Grafbase gateway - Get the MCP endpoint URL for a gateway - Understand how to configure MCP for Grafbase

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `check_health` | boolean | No | If True, attempts to verify MCP endpoint accessibility. If False, returns configuration guidance without making network requests. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Grafbase Schema Checks

**Slug:** `GRAFBASE_LIST_SCHEMA_CHECKS`

List schema checks for a Grafbase graph. This tool retrieves the history of schema validation checks that have been run against a specific graph. Schema checks help detect breaking changes before deploying schema updates. Requires account_slug and graph_slug to identify the target graph. Supports cursor-based pagination using first/after or last/before parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `last` | integer | No | Number of schema checks to return from the end (max 100). Use with 'before' for backward pagination. |
| `after` | string | No | Cursor for forward pagination. Pass the 'endCursor' from a previous response. |
| `first` | integer | No | Number of schema checks to return (max 100). Use with 'after' for pagination. |
| `before` | string | No | Cursor for backward pagination. Pass the 'startCursor' from a previous response. |
| `branch` | string | No | Filter schema checks by branch name (e.g., 'main', 'staging') |
| `graph_slug` | string | Yes | The slug of the graph within the account (e.g., 'my-graph') |
| `account_slug` | string | Yes | The slug of the Grafbase account/organization (e.g., 'my-org') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Grafbase Schemas

**Slug:** `GRAFBASE_LIST_SCHEMAS`

Tool to list all schemas in the Grafbase schema registry. In Grafbase, the schema registry tracks published subgraphs in federated graphs. Each schema entry represents a subgraph with its name, endpoint URL, and associated graph/branch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch` | string | No | Branch name to filter schemas/subgraphs (defaults to showing all branches if not provided) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Grafbase Subgraphs

**Slug:** `GRAFBASE_LIST_SUBGRAPHS`

Tool to list published subgraphs in your Grafbase federated graphs. Use this to discover all subgraphs, their names, and endpoint URLs across your organizations. Optionally filter by branch name (e.g., 'main', 'dev').

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `branch` | string | No | Branch name to filter subgraphs (e.g., 'main', 'dev'). If not provided, returns subgraphs from all branches. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Notifications as Read

**Slug:** `GRAFBASE_MARK_NOTIFICATIONS_AS_READ`

Tool to mark Grafbase notifications as read. Use when you need to update the read status of one or more notifications in your notification inbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `notification_ids` | array | Yes | Array of notification IDs to mark as read. Each ID must be a valid 22-character CompositeID in ULID format (e.g., '01KFQJ7YT4PSP01A09ACVTR899'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Graph Owner

**Slug:** `GRAFBASE_REMOVE_GRAPH_OWNER`

Tool to remove an owner from a Grafbase graph. Use when you need to revoke ownership or access rights for a user or team on a specific graph.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `graph_id` | string | Yes | The unique identifier of the graph to remove the owner from. This is the graph ID in Grafbase format (e.g., 01KFQJ7YT4PSP01A09ACVTR899). |
| `owner_id` | string | Yes | The unique identifier of the owner (user or team) to remove from the graph. This can be a user ID or team ID in Grafbase format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
