# Users

The user of the cluster. Access is managed by certificates. The certificates are retrieved by the access endpoint. This tag groups all operations for users.

## Retrieve all Users

> This endpoint enables retrieving all Users using\
> pagination and optional filters.<br>

```json
{"openapi":"3.0.3","info":{"title":"Event Streams for Apache Kafka API","version":"3.1.0"},"tags":[{"name":"Users","description":"The user of the cluster. Access is managed by certificates. The certificates are\nretrieved by the access endpoint.\nThis tag groups all operations for users.\n"}],"servers":[{"url":"https://kafka.de-txl.ionos.com","description":"Germany, Berlin"},{"url":"https://kafka.de-fra.ionos.com","description":"Germany, Frankfurt (de/fra, de/fra/2)"},{"url":"https://kafka.fr-par.ionos.com","description":"France, Paris"},{"url":"https://kafka.es-vit.ionos.com","description":"Spain, Logroño"},{"url":"https://kafka.gb-lhr.ionos.com","description":"United Kingdom, London"},{"url":"https://kafka.gb-bhx.ionos.com","description":"United Kingdom, Worcester"},{"url":"https://kafka.us-las.ionos.com","description":"United States, Las Vegas"},{"url":"https://kafka.us-mci.ionos.com","description":"United States, Lenexa"},{"url":"https://kafka.us-ewr.ionos.com","description":"United States, Newark"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"UserReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of User resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of User resources.","type":"string"},"items":{"description":"The list of User resources.","type":"array","items":{"$ref":"#/components/schemas/UserRead"}}}}]},"UserRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the User.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["user"]},"href":{"description":"The URL of the User.","type":"string"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"properties":{"$ref":"#/components/schemas/User"}}},"ResourceMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceState"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceState":{"type":"object","description":"The current status of the resource.","required":["state"],"properties":{"state":{"$ref":"#/components/schemas/State"},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}},"State":{"type":"string","description":"State of the resource. Resource states:\n`AVAILABLE`: There are no pending modification requests for this item.\n`BUSY`: There is at least one modification request pending and all following requests will be queued.\n`DEPLOYING`: The resource is being created.\n`FAILED`: The creation of the resource failed.\n`UPDATING`: The resource is being updated.\n`FAILED_UPDATING`: An update to the resource was not successful.\n`DESTROYING`: A delete command was issued, and the resource is being deleted.\n"},"User":{"type":"object","description":"The user of the cluster. Access is managed by certificates. The certificates are\nretrieved by the access endpoint.\n","required":["name"],"properties":{"name":{"type":"string","description":"The name of the Kafka cluster user.\nMust be 63 characters or less and must begin and end with an alphanumeric character (`[a-z0-9A-Z]`)\nwith dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.\n","pattern":"^[A-Za-z0-9][-A-Za-z0-9_.]*[A-Za-z0-9]$","minLength":2,"maxLength":63}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/clusters/{clusterId}/users":{"get":{"operationId":"clustersUsersGet","summary":"Retrieve all Users","description":"This endpoint enables retrieving all Users using\npagination and optional filters.\n","parameters":[{"name":"clusterId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the Cluster."}],"tags":["Users"],"responses":{"200":{"description":"Returned all requested Users successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserReadList"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Retrieve Apache Kafka User with Credentials

> Returns the user by ID containing its access certificates in the metadata.

```json
{"openapi":"3.0.3","info":{"title":"Event Streams for Apache Kafka API","version":"3.1.0"},"tags":[{"name":"Users","description":"The user of the cluster. Access is managed by certificates. The certificates are\nretrieved by the access endpoint.\nThis tag groups all operations for users.\n"}],"servers":[{"url":"https://kafka.de-txl.ionos.com","description":"Germany, Berlin"},{"url":"https://kafka.de-fra.ionos.com","description":"Germany, Frankfurt (de/fra, de/fra/2)"},{"url":"https://kafka.fr-par.ionos.com","description":"France, Paris"},{"url":"https://kafka.es-vit.ionos.com","description":"Spain, Logroño"},{"url":"https://kafka.gb-lhr.ionos.com","description":"United Kingdom, London"},{"url":"https://kafka.gb-bhx.ionos.com","description":"United Kingdom, Worcester"},{"url":"https://kafka.us-las.ionos.com","description":"United States, Las Vegas"},{"url":"https://kafka.us-mci.ionos.com","description":"United States, Lenexa"},{"url":"https://kafka.us-ewr.ionos.com","description":"United States, Newark"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"UserReadAccess":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the user.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["user"]},"href":{"description":"The URL of the user.","type":"string"},"metadata":{"$ref":"#/components/schemas/UserAccessMetadata"},"properties":{"$ref":"#/components/schemas/User"}}},"UserAccessMetadata":{"allOf":[{"$ref":"#/components/schemas/ResourceMetadata"},{"type":"object","additionalProperties":false,"properties":{"certificateAuthority":{"type":"string","description":"PEM for the certificate authority."},"privateKey":{"type":"string","description":"PEM for the private key."},"certificate":{"type":"string","description":"PEM for the certificate."}}}]},"ResourceMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"$ref":"#/components/schemas/ResourceState"}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"ResourceState":{"type":"object","description":"The current status of the resource.","required":["state"],"properties":{"state":{"$ref":"#/components/schemas/State"},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}},"State":{"type":"string","description":"State of the resource. Resource states:\n`AVAILABLE`: There are no pending modification requests for this item.\n`BUSY`: There is at least one modification request pending and all following requests will be queued.\n`DEPLOYING`: The resource is being created.\n`FAILED`: The creation of the resource failed.\n`UPDATING`: The resource is being updated.\n`FAILED_UPDATING`: An update to the resource was not successful.\n`DESTROYING`: A delete command was issued, and the resource is being deleted.\n"},"User":{"type":"object","description":"The user of the cluster. Access is managed by certificates. The certificates are\nretrieved by the access endpoint.\n","required":["name"],"properties":{"name":{"type":"string","description":"The name of the Kafka cluster user.\nMust be 63 characters or less and must begin and end with an alphanumeric character (`[a-z0-9A-Z]`)\nwith dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between.\n","pattern":"^[A-Za-z0-9][-A-Za-z0-9_.]*[A-Za-z0-9]$","minLength":2,"maxLength":63}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/clusters/{clusterId}/users/{userId}/access":{"get":{"operationId":"clustersUsersAccessGet","summary":"Retrieve Apache Kafka User with Credentials","tags":["Users"],"description":"Returns the user by ID containing its access certificates in the metadata.","parameters":[{"name":"clusterId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the cluster."},{"name":"userId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the user."}],"responses":{"200":{"description":"Get user access information was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserReadAccess"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```
