---
updatedAt: 2026-09-02T17:35:26.000Z
agentTools:
  projectIndex: https://docs.go.v7labs.com/llms.txt
---

# Adds a user's role in a Folder.

Adds a user's role in a Folder. This role will override any inherited roles from the Workspace (if any).
`user_id` parameter must be a valid user's UUID.


# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "Common.APIErrorDetails": {
        "description": "Additional structured error context. Shape varies by error code.\n\n- For conflict errors: contains a `conflicts` array with conflicting resources\n- For other errors: may contain arbitrary error-specific context",
        "nullable": true,
        "oneOf": [
          {
            "$ref": "#/components/schemas/Common.ConflictErrorDetails"
          },
          {
            "additionalProperties": true,
            "description": "Generic error details for non-conflict errors",
            "type": "object",
            "x-struct": null,
            "x-validate": null
          }
        ],
        "title": "Common.APIErrorDetails",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Common.APIErrorDetails",
        "x-validate": null
      },
      "Users.ResourceMemberResponse": {
        "additionalProperties": false,
        "description": "A member of a resource (either a user or a user group)",
        "properties": {
          "missing_access": {
            "$ref": "#/components/schemas/Users.MissingAccess"
          },
          "role": {
            "enum": [
              "owner",
              "admin",
              "editor",
              "contributor",
              "reviewer",
              "reader",
              "worker"
            ],
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "user": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Users.RegularUser"
              },
              {
                "$ref": "#/components/schemas/Users.ServiceAccount"
              },
              {
                "enum": [
                  "anyone"
                ],
                "type": "string",
                "x-struct": null,
                "x-validate": null
              }
            ],
            "x-struct": null,
            "x-validate": null
          },
          "user_group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Users.UserGroupResponse"
              }
            ],
            "nullable": true,
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "role",
          "missing_access"
        ],
        "title": "Users.ResourceMemberResponse",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Users.ResourceMemberResponse",
        "x-validate": null
      },
      "Users.MissingAccessItem": {
        "additionalProperties": false,
        "properties": {
          "resource_key": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "resource_type": {
            "enum": [
              "workspace",
              "case",
              "data_store",
              "playbook_folder",
              "playbook",
              "hub",
              "hub_file",
              "folder",
              "project",
              "user",
              "integration",
              "organization"
            ],
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "resource_type",
          "resource_key"
        ],
        "title": "Users.MissingAccessItem",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Users.MissingAccessItem",
        "x-validate": null
      },
      "Users.RegularUser": {
        "additionalProperties": false,
        "description": "A user",
        "properties": {
          "email": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "first_name": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "id": {
            "$ref": "#/components/schemas/Common.UUID"
          },
          "last_activity_at": {
            "$ref": "#/components/schemas/Common.NullableDateTime"
          },
          "last_name": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "profile_picture_url": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "type": {
            "enum": [
              "regular"
            ],
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "id"
        ],
        "title": "Users.RegularUser",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Users.RegularUser",
        "x-validate": null
      },
      "Common.APIError": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "example": "bad_request",
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "details": {
            "$ref": "#/components/schemas/Common.APIErrorDetails"
          },
          "message": {
            "example": "Bad Request",
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "code",
          "message"
        ],
        "title": "Common.APIError",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Common.APIError",
        "x-validate": null
      },
      "Common.DateTime": {
        "description": "DateTime in RFC3339 format",
        "example": "2020-01-20T14:00:00Z",
        "format": "date-time",
        "title": "Common.DateTime",
        "type": "string",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Common.DateTime",
        "x-validate": null
      },
      "Users.AddMemberRequest": {
        "additionalProperties": false,
        "description": "Adds a user to a resource",
        "properties": {
          "role": {
            "enum": [
              "admin",
              "editor",
              "contributor",
              "reviewer",
              "reader",
              "worker"
            ],
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "role"
        ],
        "title": "Users.AddMemberRequest",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Users.AddMemberRequest",
        "x-validate": null
      },
      "Common.ConflictErrorDetails": {
        "additionalProperties": false,
        "description": "Details for conflict errors",
        "properties": {
          "conflicts": {
            "description": "List of conflicting resources",
            "items": {
              "additionalProperties": true,
              "type": "object",
              "x-struct": null,
              "x-validate": null
            },
            "type": "array",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "conflicts"
        ],
        "title": "Common.ConflictErrorDetails",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Common.ConflictErrorDetails",
        "x-validate": null
      },
      "Users.MemberId": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/Common.UUID"
          }
        ],
        "title": "Users.MemberId",
        "x-struct": null,
        "x-validate": null
      },
      "Users.ServiceAccount": {
        "additionalProperties": false,
        "description": "A service account",
        "properties": {
          "created_at": {
            "$ref": "#/components/schemas/Common.DateTime"
          },
          "external_id": {
            "description": "The Auth0 client ID for this service account",
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "id": {
            "$ref": "#/components/schemas/Common.UUID"
          },
          "name": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "type": {
            "enum": [
              "service_account"
            ],
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "id",
          "name",
          "external_id",
          "created_at"
        ],
        "title": "Users.ServiceAccount",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Users.ServiceAccount",
        "x-validate": null
      },
      "Common.NullableDateTime": {
        "description": "DateTime in RFC3339 format",
        "example": "2020-01-20T14:00:00Z",
        "format": "date-time",
        "nullable": true,
        "title": "Common.NullableDateTime",
        "type": "string",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Common.NullableDateTime",
        "x-validate": null
      },
      "Users.MissingAccess": {
        "description": "List of parent resources in system that user doesn't have access to,\nwhich will prevent access to this resource.\n* If null, the data wasn't requested or isn't available; this will always happen for `anyone` user,\n  after role deletion or when listing multiple users without `show_missing_access=true` parameter.\n* When this list is empty, the user has full access to the resource according to their listed role.\n* When this list is not empty, the user needs to be granted read access to the resources in the list before\n  they can access the current resource using listed role.\n",
        "items": {
          "$ref": "#/components/schemas/Users.MissingAccessItem"
        },
        "nullable": true,
        "title": "Users.MissingAccess",
        "type": "array",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Users.MissingAccess",
        "x-validate": null
      },
      "Users.UserGroupResponse": {
        "additionalProperties": false,
        "description": "A user group",
        "properties": {
          "description": {
            "nullable": true,
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "id": {
            "$ref": "#/components/schemas/Common.UUID"
          },
          "name": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "Users.UserGroupResponse",
        "type": "object",
        "x-struct": "Elixir.AgiDbWeb.Schemas.Users.UserGroupResponse",
        "x-validate": null
      },
      "Common.UUID": {
        "example": "e23ff3f3-8f77-4e78-9e81-fdb25abfb781",
        "format": "uuid",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "title": "Common.UUID",
        "type": "string",
        "x-struct": null,
        "x-validate": null
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "in": "header",
        "name": "X-API-KEY",
        "type": "apiKey"
      },
      "BearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "title": "V7 Go API",
    "version": "0.1.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/api/workspaces/{workspace_id}/folders/{folder_id}/members/{user_id}": {
      "post": {
        "callbacks": {},
        "description": "Adds a user's role in a Folder. This role will override any inherited roles from the Workspace (if any).\n`user_id` parameter must be a valid user's UUID.\n",
        "operationId": "user-folder-member-add",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "workspace_id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Common.UUID"
            }
          },
          {
            "description": "",
            "in": "path",
            "name": "folder_id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Common.UUID"
            }
          },
          {
            "description": "",
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Users.MemberId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Users.AddMemberRequest"
              }
            }
          },
          "description": "Users.AddMemberRequest",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users.ResourceMemberResponse"
                }
              }
            },
            "description": "Users.ResourceMemberResponse"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.APIError"
                }
              }
            },
            "description": "Common.APIError"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.APIError"
                }
              }
            },
            "description": "Common.APIError"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.APIError"
                }
              }
            },
            "description": "Common.APIError"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.APIError"
                }
              }
            },
            "description": "Common.APIError"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.APIError"
                }
              }
            },
            "description": "Common.APIError"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.APIError"
                }
              }
            },
            "description": "Common.APIError"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.APIError"
                }
              }
            },
            "description": "Common.APIError"
          }
        },
        "summary": "Adds a user's role in a Folder.",
        "tags": [
          "UsersFolderMember"
        ]
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    },
    {
      "ApiKeyAuth": []
    }
  ],
  "servers": [
    {
      "description": "EU",
      "url": "https://go.v7labs.com",
      "variables": {}
    },
    {
      "description": "US",
      "url": "https://go.us.v7labs.com",
      "variables": {}
    },
    {
      "description": "UAE",
      "url": "https://go.uae.v7labs.com",
      "variables": {}
    }
  ]
}
```