Skip to content
Back

Permissions in create_operations() Python SDK

  • 0
  • Databases
  • Cloud
flo<3ler
17 Oct, 2025, 12:38

How can I set permissions for create_operations()? What even is the correct way to use permissions in Python (using SDK version 13.4.1) ? In my cloud function creating a table works and sets the correct permissions:

TypeScript
            database_id,
            table_id=user_id,
            name=user_name,
            permissions=[
                Permission.read(Role.user(user_id)),
                Permission.write(Role.user(user_id)),
            ],
        )```

but subsequently using `create_operations()` creates a row but does not see any permissions:

tablesDB.create_operations( transaction_id=transaction_id["$id"], operations=[ { "action": "create", "databaseId": userDB_id, "tableId": os.environ["POLICY_COLL_ID"], "rowId": f"{user_id}-policy", "data": { "acceptedTimestamp": datetime_truncated }, "permissions": [ Permission.read(Role.user(user_id)), Permission.write(Role.user(user_id)), ], }, ) ```

TL;DR
To set permissions in `create_operations()`, use the correct syntax for permissions in Python SDK version 13.4.1. Rather than passing strings directly, specify permissions using `Permission.read()` and `Permission.write()`. The correct way to set permissions for `create_operations()` is: ``` tablesDB.create_operations( transaction_id=transaction_id["$id"], operations=[ { "action": "create", "databaseId": userDB_id, "tableId": os.environ["POLICY_COLL_ID"], "rowId": f"{user_id}-policy", "data": { "accepted
flo<3ler
17 Oct, 2025, 12:41

I realize this may be an older syntax since I can see this example in the docs at https://appwrite.io/docs/references/cloud/server-python/tablesDB:

TypeScript
result = tables_db.create_table(
    database_id = '<DATABASE_ID>',
    table_id = '<TABLE_ID>',
    name = '<NAME>',
    permissions = ["read("any")"], # optional
    row_security = False, # optional
    enabled = False # optional
)
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more