{
  "id": "reference",
  "title": "Redis Feature Form reference",
  "url": "https://redis.io/docs/latest/develop/ai/featureform/reference/",
  "summary": "Reference data for the ff CLI, Python client, gRPC API, and RBAC permissions.",
  "tags": [],
  "last_updated": "2026-07-30T11:11:54+01:00",
  "page_type": "content",
  "content_hash": "5546e93436d3adc95ce967e99ebb9dcbaf4a7c359b57cbb8d9a72d424675a962",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "This page collects reference data for Redis Feature Form. For help understaind the concepts behind Redis Feature Form, see [Concepts](https://redis.io/docs/latest/develop/ai/featureform/concepts)."
    },
    {
      "id": "permissions",
      "title": "Permissions",
      "role": "security",
      "text": "The role table on [Configure authentication and RBAC](https://redis.io/docs/latest/operate/featureform/configure-auth#built-in-roles) summarizes which permissions each role grants; the table below lists every permission the authorization service checks. To grant a role on a workspace, see [Manage workspaces](https://redis.io/docs/latest/develop/ai/featureform/manage-workspace).\n\n| Permission ID | Category | Resource scope | What it grants |\n| --- | --- | --- | --- |\n| `workspace.create` | workspace | deployment | Create new workspaces. |\n| `workspace.read` | workspace | workspace | Read workspace metadata. |\n| `workspace.list` | workspace | deployment | List visible workspaces. |\n| `workspace.update` | workspace | workspace | Update workspace metadata. |\n| `workspace.delete` | workspace | workspace | Delete a workspace. |\n| `workspace.membership.manage` | workspace | workspace | Manage workspace RBAC bindings. |\n| `graph.read` | graph | workspace | Read graph and resource metadata. |\n| `catalog.read` | catalog | workspace | Read catalog metadata. |\n| `provider.read` | infrastructure | workspace | Read provider definitions. |\n| `provider.write` | infrastructure | workspace | Mutate provider definitions. |\n| `secret_provider.read` | infrastructure | workspace | Read secret-provider definitions. |\n| `secret_provider.write` | infrastructure | workspace | Mutate secret-provider definitions. |\n| `apply.plan` | mutation | workspace | Run apply planning. |\n| `apply.write` | mutation | workspace | Apply workspace changes. |\n| `serving.metadata.read` | data | workspace or resource | Read serving metadata. |\n| `serving.read` | data | workspace or resource | Read served feature values. |\n| `dataframe.read` | data | workspace | Read dataframe data. |\n| `training_set.read` | data | workspace or resource | Read training-set data. |\n| `scheduler.read` | operations | workspace | Read scheduler state. |\n| `scheduler.control` | operations | workspace | Control scheduler state. |\n| `audit.read` | audit | workspace or deployment | Read audit logs. |\n| `machine_credential.read` | machine credentials | workspace | Read machine credentials. |\n| `machine_credential.write` | machine credentials | workspace | Create, rotate, and revoke machine credentials. |"
    },
    {
      "id": "grpc-services",
      "title": "gRPC services",
      "role": "content",
      "text": "This section lists the public gRPC services Feature Form exposes. Most users interact with these services indirectly through the `ff` CLI or the `featureform` Python client, both documented below."
    },
    {
      "id": "service-index",
      "title": "Service index",
      "role": "content",
      "text": "| Service | Purpose |\n| --- | --- |\n| `WorkspaceService` | Workspace CRUD and lookup |\n| `ProviderService` | Workspace-scoped provider CRUD |\n| `SecretProviderService` | Workspace-scoped secret-provider CRUD |\n| `ApplyService` | Declarative graph apply and dry-run planning |\n| `ResourceService` | Graph browsing, lineage, search, versions, and workspace stats |\n| `CatalogService` | Physical catalog inspection |\n| `ServingService` | Online serving and serving metadata |\n| `DataframeService` | Dataframe plan resolution |\n| `RbacService` | Roles, permissions, access, and bindings |\n| `MachineCredentialService` | Machine credential lifecycle |\n| `AuditService` | Audit log listing |\n| `VersionService` | Version compatibility and auth discovery metadata |"
    },
    {
      "id": "service-operations",
      "title": "Service operations",
      "role": "content",
      "text": "- `WorkspaceService`: create, get, list, update, delete\n- `ProviderService`: register, get, list, update, delete\n- `SecretProviderService`: register, get, list, update, delete\n- `ApplyService`: apply and plan\n- `ResourceService`: per-resource get and list plus lineage, impact, versions, and workspace stats"
    },
    {
      "id": "apply-request-fields",
      "title": "Apply request fields",
      "role": "content",
      "text": "- `workspace_id`\n- `resources`\n- `dry_run`\n- `apply_strategy`\n- `execution_mode`"
    },
    {
      "id": "provider-config-models",
      "title": "Provider config models",
      "role": "content",
      "text": "- `PostgresConfig`\n- `SnowflakeConfig`\n- `S3Config`\n- `SparkProviderConfig`\n- `ProviderHealth`\n- `SecretRef`"
    },
    {
      "id": "cli",
      "title": "CLI",
      "role": "content",
      "text": "This section lists `ff` CLI commands and global flags. For usage in context, see [Define and deploy features](https://redis.io/docs/latest/develop/ai/featureform/define-and-deploy-features), [Manage workspaces](https://redis.io/docs/latest/develop/ai/featureform/manage-workspace), and [Register providers](https://redis.io/docs/latest/develop/ai/featureform/register-providers)."
    },
    {
      "id": "global-flags",
      "title": "Global flags",
      "role": "content",
      "text": "Connection and transport:\n\n- `--server`, `-s`\n- `--grpc-server`\n- `--transport rest|grpc`\n- `--timeout`, `-t`\n- `--no-tls`\n\nAuthentication:\n\n- `--token`\n- `--client-id`\n- `--client-secret`\n- `--issuer-url`\n\nCLI behavior:\n\n- `--output`, `-o`\n- `--config`\n- `--no-color`\n- `--verbose`, `-v`\n- `--skip-version-check`"
    },
    {
      "id": "top-level-commands",
      "title": "Top-level commands",
      "role": "content",
      "text": "- `ff version`\n- `ff ping`\n- `ff workspace`\n- `ff provider`\n- `ff secret-provider`\n- `ff apply`\n- `ff auth`\n- `ff rbac`\n- `ff machine-credential`\n- `ff audit`\n- `ff catalog`\n- `ff graph`\n- `ff scheduler`\n- `ff dataframe`\n- `ff config`"
    },
    {
      "id": "python-client",
      "title": "Python client",
      "role": "content",
      "text": "This section lists the public symbols the `featureform` Python package exports. For usage, see [Define and deploy features](https://redis.io/docs/latest/develop/ai/featureform/define-and-deploy-features) to author a definitions file, and [Serve features](https://redis.io/docs/latest/develop/ai/featureform/serve-features) to read features at inference time."
    },
    {
      "id": "client-apis",
      "title": "Client APIs",
      "role": "content",
      "text": "- `ff.Client`\n- `ff.WorkspaceClient`\n- `ff.ProviderClient`\n- `ff.SecretProviderClient`\n- `ff.ApplyResult`\n- `ff.ApplyWaitResult`"
    },
    {
      "id": "common-error-types",
      "title": "Common error types",
      "role": "content",
      "text": "- `ff.FeatureformError`\n- `ff.ConnectionError`\n- `ff.InvalidArgumentError`\n- `ff.NotFoundError`\n- `ff.TimeoutError`\n- `ff.ValidationError`"
    },
    {
      "id": "secret-provider-and-provider-helpers",
      "title": "Secret-provider and provider helpers",
      "role": "content",
      "text": "- `ff.EnvSecretProvider`\n- `ff.VaultSecretProvider`\n- `ff.K8sSecretProvider`\n- `ff.PostgresProvider`\n- `ff.RedisProvider`\n- `ff.S3Provider`\n- `ff.SparkProvider`\n- `ff.get_postgres(name)`\n- `ff.get_provider(name)`"
    },
    {
      "id": "core-resource-types",
      "title": "Core resource types",
      "role": "content",
      "text": "- `ff.Entity`\n- `ff.Dataset`\n- `ff.Feature`\n- `ff.Label`\n- `ff.TrainingSet`\n- `ff.FeatureView`"
    }
  ],
  "examples": []
}
