Files
HopFrame/docs/api/endpoints/group.md

5.0 KiB

Group Endpoints

Used Models

API Endpoint: GetGroups

Endpoint: GET /api/v1/groups

Description: Retrieves a list of all groups.

Authorization Required: Yes

Required Permission: hopframe.admin.groups.read

Parameters: None

Response:

  • 200 OK: Returns a list of groups.
    [
      {
        "Name": "string",
        "IsDefaultGroup": "boolean",
        "Description": "string",
        "CreatedAt": "2023-12-23T00:00:00Z",
        "Permissions": [
          {
            "Id": 1,
            "PermissionName": "string",
            "GrantedAt": "2023-12-23T00:00:00Z"
          }
        ]
      }
    ]
    
  • 401 Unauthorized: User is not authorized to access this endpoint.

API Endpoint: GetDefaultGroups

Endpoint: GET /api/v1/groups/default

Description: Retrieves a list of default groups.

Authorization Required: Yes

Required Permission: hopframe.admin.groups.read

Parameters: None

Response:

  • 200 OK: Returns a list of default groups.
    [
      {
        "Name": "string",
        "IsDefaultGroup": "boolean",
        "Description": "string",
        "CreatedAt": "2023-12-23T00:00:00Z",
        "Permissions": [
          {
            "Id": 1,
            "PermissionName": "string",
            "GrantedAt": "2023-12-23T00:00:00Z"
          }
        ]
      }
    ]
    
  • 401 Unauthorized: User is not authorized to access this endpoint.

API Endpoint: GetUserGroups

Endpoint: GET /api/v1/groups/user/{userId}

Description: Retrieves a list of groups for a specific user.

Authorization Required: Yes

Required Permission: hopframe.admin.groups.read

Parameters:

  • userId: string (path) - The ID of the user.

Response:

  • 200 OK: Returns a list of groups for the user.
    [
      {
        "Name": "string",
        "IsDefaultGroup": "boolean",
        "Description": "string",
        "CreatedAt": "2023-12-23T00:00:00Z",
        "Permissions": [
          {
            "Id": 1,
            "PermissionName": "string",
            "GrantedAt": "2023-12-23T00:00:00Z"
          }
        ]
      }
    ]
    
  • 400 Bad Request: Invalid user ID.
  • 401 Unauthorized: User is not authorized to access this endpoint.
  • 404 Not Found: User does not exist.

API Endpoint: GetGroup

Endpoint: GET /api/v1/groups/{name}

Description: Retrieves details of a specific group.

Authorization Required: Yes

Required Permission: hopframe.admin.groups.read

Parameters:

  • name: string (path) - The name of the group.

Response:

  • 200 OK: Returns the details of the group.
    {
      "Name": "string",
      "IsDefaultGroup": "boolean",
      "Description": "string",
      "CreatedAt": "2023-12-23T00:00:00Z",
      "Permissions": [
        {
          "Id": 1,
          "PermissionName": "string",
          "GrantedAt": "2023-12-23T00:00:00Z"
        }
      ]
    }
    
  • 401 Unauthorized: User is not authorized to access this endpoint.
  • 404 Not Found: Group does not exist.

API Endpoint: CreateGroup

Endpoint: POST /api/v1/groups

Description: Creates a new group.

Authorization Required: Yes

Required Permission: hopframe.admin.groups.create

Parameters:

  • group: PermissionGroup (body) - The group to be created.

Response:

  • 200 OK: Returns the created group.
    {
      "Name": "string",
      "IsDefaultGroup": "boolean",
      "Description": "string",
      "CreatedAt": "2023-12-23T00:00:00Z",
      "Permissions": [
        {
          "Id": 1,
          "PermissionName": "string",
          "GrantedAt": "2023-12-23T00:00:00Z"
        }
      ]
    }
    
  • 400 Bad Request: Provide a group.
  • 400 Bad Request: Group names must start with 'group.'.
  • 401 Unauthorized: User is not authorized to access this endpoint.
  • 409 Conflict: Group already exists.

API Endpoint: UpdateGroup

Endpoint: PUT /api/v1/groups

Description: Updates an existing group.

Authorization Required: Yes

Required Permission: hopframe.admin.groups.update

Parameters:

  • group: PermissionGroup (body) - The group to be updated.

Response:

  • 200 OK: Returns the updated group.
    {
      "Name": "string",
      "IsDefaultGroup": "boolean",
      "Description": "string",
      "CreatedAt": "2023-12-23T00:00:00Z",
      "Permissions": [
        {
          "Id": 1,
          "PermissionName": "string",
          "GrantedAt": "2023-12-23T00:00:00Z"
        }
      ]
    }
    
  • 401 Unauthorized: User is not authorized to access this endpoint.
  • 404 Not Found: Group does not exist.

API Endpoint: DeleteGroup

Endpoint: DELETE /api/v1/groups/{name}

Description: Deletes a specific group.

Authorization Required: Yes

Required Permission: hopframe.admin.groups.delete

Parameters:

  • name: string (path) - The name of the group to be deleted.

Response:

  • 200 OK: Group deleted successfully.
  • 401 Unauthorized: User is not authorized to access this endpoint.
  • 404 Not Found: Group does not exist.