API "Update Group" new_group_name not working

Hi, SeaTable!

I tried to change the group name using the API,

and although I receive a successful response, the actual group name does not change.
(By the way, the group owner changes correctly.)

Could you please check if there is any issue with the API?
Here is the Python code I sent.

Thank you for your assistance!

=== MY PYTHON CODE (I’m using SeaTable Server) ===

async def update_group(self, name_or_id: Union[str, int], new_owner: str = None, new_group_name: str = None):
        if isinstance(name_or_id, str):
            group = await self.get_group(name_or_id=name_or_id)
            name_or_id = group.id

        METHOD = "PUT"
        URL = f"/api/v2.1/admin/groups/{name_or_id}/"
        DATA = aiohttp.FormData()
        _ = DATA.add_field("new_owner", new_owner) if new_owner else None
        _ = DATA.add_field("new_group_name", new_group_name) if new_group_name else None

        async with self.session_maker(token=self.account_token) as session:
            results = await self.request(session=session, method=METHOD, url=URL, data=DATA)

        return results

Can you check the URL variable?

The endpoint is /api/v2.1/org/<org_id>/admin/groups/{group_id}.

Hi rdb,
The endpoint api/v2.1/org/<org_id>/admin/groups/{group_id} is not working.
I’m using SeaTable Server, and all “/org/<org_id>” endpoints are not working.
“org_id = -1” is not working too.

I assume you have a self-hosted system?

Yes, I am!
I’m using self hosted SeaTable.

Dear eugene,

I just checked the code. The API-request you are using does not allow to change the name of the group.
Your api-endpoint api/v2.1/admin/groups/{group_id}/ only offers the following two parameters:

  • new_owner
  • quota

Where does the confusion come from? You are using a self-hosted system without organizations/teams. Therefore, you can only use the API-calls (https://api.seatable.io) from the areas:

  • ACCOUNT OPERATIONS - SYSTEM ADMIN
  • ACCOUNT OPERATIONS - USER

The API-request you are referring to is a TEAM ADMIN call and is not available on your system. In fact, the call you try to use is not part of the API reference yet, but I will add it in the following days.

Best regards,
Christoph

Thank you Christoph.
But self-hosted user also needs TEAM ADMIN’s APIs, too.
SYSTEM ADMIN’s API does not have “Add/Update/Delete/… Group” but I have a lot of groups and 100+ users.

Dear eugene,
please ignore my last answer. I was partly wrong and I need to explain more.

Difference between the different API-calls

Let me first explain the difference between the three areas at https://api.seatable.io:

  • Account Operations - System Admin
  • Account Operations - Team Admin
  • Account Operations - User

For all API-request from these three areas, you will an account-token. The permission level of the user credentials determines the permission of the account-token. Here are some examples:

  • a user with admin-permissions in SeaTable can execute all calls from System Admin and User. But the user is not allowed to execute calls from Team Admin.
  • a user with team admin permission in SeaTable can execute all calls from Team Admin and User.
  • a “normal” user can only execute requests from the section User.

https://cloud.seatable.io is a cloud solution therefore ever user belongs to a team and therefore every user can only be a user or a team admin. Only we (=SeaTable GmbH) have system admin accounts.

In your self-hosted system I assume that teams/organizations are not activated in dtable_web_settings.py. Consequently you will have no team admins. You will only have users and sys admins.

I hope this clarification makes it more clear.

How to differentiate these calls:

  • everytime you find an /api/v2.1/admin/… in the url, this call requires a System Admin.
  • everytime you find an /api/v2.1/org/{org_id}/… in the url, this call requires a Team Admin
  • all other calls can be used by everybody.

Group API calls

In my last answer I told you that there is no API call for a user to rename a group. I was wrong. I added multiple USER API calls to SeaTable API reference. Here is the call you are looking for:

This means a Group Admin or the Owner of a group can rename the group.


Also, there is an SYSTEM ADMIN API call to update a group, but this call does not support to “rename a group”. A System Admin can only transfer a base to another user: Transfer Group

Best regards
Christoph

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.