> For the complete documentation index, see [llms.txt](https://docs.channex.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.channex.io/api-v.1-documentation/groups-collection/update-group-api.md).

# Update Group API

## Update a group

> Update a group by its identifier. Attributes absent from the request are left unchanged. The updated group is returned.

```json
{"openapi":"3.1.0","info":{"title":"Channex.io — Public API","version":"0.0.0"},"tags":[{"name":"Groups","description":"Manage Groups — sets of Properties you manage together, and the users who may reach them. Every Property belongs to at least one Group and may belong to several; a Group that still holds a Property cannot be deleted."}],"servers":[{"url":"https://app.channex.io/api/v1","description":"Production server","variables":{}},{"url":"https://staging.channex.io/api/v1","description":"Staging server","variables":{}}],"security":[{"UserApiKeyAuth":[]}],"components":{"securitySchemes":{"UserApiKeyAuth":{"type":"apiKey","in":"header","name":"user-api-key","description":"API key for programmatic access, sent in the `user-api-key` header."}},"schemas":{"Common.Scalars.id":{"type":"string","format":"uuid"},"Groups.GroupResource":{"type":"object","required":["type","id","attributes","relationships"],"properties":{"type":{"type":"string","enum":["group"]},"id":{"$ref":"#/components/schemas/Common.Scalars.id"},"attributes":{"$ref":"#/components/schemas/Groups.Group"},"relationships":{"$ref":"#/components/schemas/Groups.GroupRelationships"}},"description":"A group as returned in responses."},"Groups.Group":{"type":"object","required":["id","title"],"properties":{"id":{"allOf":[{"$ref":"#/components/schemas/Common.Scalars.id"}],"description":"Unique group identifier."},"title":{"type":"string","minLength":1,"maxLength":255,"description":"Group title."}},"description":"A group — a set of properties and the users who may reach them — as returned in responses."},"Groups.GroupRelationships":{"type":"object","required":["properties","users"],"properties":{"properties":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Groups.EmbeddedProperty"}}},"required":["data"],"description":"Properties in the group."},"users":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Authentication.EmbeddedUser"}}},"required":["data"],"description":"Users with access to the group."}},"description":"Relationships of a group resource: the properties it holds and the users who may reach them."},"Groups.EmbeddedProperty":{"type":"object","required":["id","type","attributes"],"properties":{"id":{"$ref":"#/components/schemas/Common.Scalars.id"},"type":{"type":"string","enum":["property"]},"attributes":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Common.Scalars.id"},"title":{"type":"string"}},"required":["id","title"]}},"description":"A property as it appears among a group's relationships."},"Authentication.EmbeddedUser":{"type":"object","required":["type","id","attributes"],"properties":{"type":{"type":"string","enum":["user"]},"id":{"$ref":"#/components/schemas/Common.Scalars.id"},"attributes":{"$ref":"#/components/schemas/Authentication.EmbeddedUserAttributes"}},"description":"A user embedded in another resource's relationships, carrying identifier, name and email."},"Authentication.EmbeddedUserAttributes":{"type":"object","required":["id","name","email"],"properties":{"id":{"allOf":[{"$ref":"#/components/schemas/Common.Scalars.id"}],"description":"User identifier. Mirrors the resource id."},"name":{"type":"string","description":"Display name of the user."},"email":{"allOf":[{"$ref":"#/components/schemas/Common.Scalars.email"}],"description":"Email address the account is registered with."}},"description":"Identifier, display name and email address of an embedded user."},"Common.Scalars.email":{"type":"string","format":"email"},"Common.Errors.UnparsableRequest":{"type":"object","required":["errors"],"properties":{"errors":{"$ref":"#/components/schemas/Common.Errors.UnparsableRequestObject"}},"description":"The request body could not be parsed as JSON."},"Common.Errors.UnparsableRequestObject":{"type":"object","required":["code","title","details"],"properties":{"code":{"type":"string","enum":["bad_request"]},"title":{"type":"string","enum":["Bad Request"]},"details":{"type":"object","unevaluatedProperties":{"type":"string"},"description":"Maps the part of the request that could not be parsed to the reason."}},"description":"Error object for an unparsable request body, naming the malformed part."},"Common.Errors.Unauthorized":{"type":"object","required":["errors"],"properties":{"errors":{"type":"object","required":["code","title"],"properties":{"code":{"type":"string","enum":["unauthorized"]},"title":{"type":"string","enum":["Unauthorized"]}},"description":"Shape of a single JSON:API error object: a stable machine code plus a human-readable title."}},"description":"Authentication credentials are missing or invalid."},"Common.Errors.NotFound":{"type":"object","required":["errors"],"properties":{"errors":{"type":"object","required":["code","title"],"properties":{"code":{"type":"string","enum":["resource_not_found"]},"title":{"type":"string","enum":["Resource Not Found"]}},"description":"Shape of a single JSON:API error object: a stable machine code plus a human-readable title."}},"description":"The requested resource does not exist."},"Common.Errors.InvalidArguments":{"type":"object","required":["errors"],"properties":{"errors":{"$ref":"#/components/schemas/Common.Errors.InvalidArgumentsObject"}},"description":"The request has missing or invalid arguments; `details` lists the messages per argument."},"Common.Errors.InvalidArgumentsObject":{"type":"object","required":["code","title","details"],"properties":{"code":{"type":"string","enum":["bad_request"]},"title":{"type":"string","enum":["Bad Request"]},"details":{"type":"object","unevaluatedProperties":{"type":"array","items":{"type":"string"}},"description":"Maps each invalid argument to the list of validation messages for that argument."}},"description":"Error object for invalid request arguments, adding per-argument messages."},"Common.Errors.ValidationError":{"type":"object","required":["errors"],"properties":{"errors":{"$ref":"#/components/schemas/Common.Errors.ValidationErrorObject"}},"description":"The request body failed validation."},"Common.Errors.ValidationErrorObject":{"type":"object","required":["code","title","details"],"properties":{"code":{"type":"string","enum":["validation_error"]},"title":{"type":"string","enum":["Validation Error"]},"details":{"type":"object","unevaluatedProperties":{"type":"array","items":{"type":"string"}},"description":"Maps each invalid field to the list of validation messages for that field."}},"description":"Error object for a failed validation, adding per-field messages."},"Groups.GroupUpdateRequest":{"type":"object","required":["group"],"properties":{"group":{"$ref":"#/components/schemas/Groups.GroupUpdate"}},"description":"Request body accepted when updating a group."},"Groups.GroupUpdate":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":255,"description":"Group title."}},"description":"Group attributes accepted when updating a group. Every attribute is optional; attributes absent from the request are left unchanged."}}},"paths":{"/groups/{id}":{"put":{"operationId":"Groups_update","summary":"Update a group","description":"Update a group by its identifier. Attributes absent from the request are left unchanged. The updated group is returned.","parameters":[{"name":"id","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Common.Scalars.id"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Groups.GroupResource"}},"description":"JSON:API document wrapping a single resource."}}}},"400":{"description":"The request body could not be parsed as JSON.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Errors.UnparsableRequest"}}}},"401":{"description":"Authentication credentials are missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Errors.Unauthorized"}}}},"404":{"description":"The requested resource does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.Errors.NotFound"}}}},"422":{"description":"The request has missing or invalid arguments; `details` lists the messages per argument.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Common.Errors.InvalidArguments"},{"$ref":"#/components/schemas/Common.Errors.ValidationError"}]}}}}},"tags":["Groups"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Groups.GroupUpdateRequest"}}}}}}}}
```
