---
title: "REST API: Update Space Role"
type: "wiki"
space: "Axero Documentation"
author: "Anonymous User"
created: 2011-03-29T08:15:40Z
updated: 2026-09-28T01:21:34Z
tags: ["API"]
url: "https://my.axerosolutions.com/spaces/5/axero-documentation/wiki/view/530/rest-api-update-space-role"
---

# REST API: Update Space Role

[Open API Guide](https://my.axerosolutions.com/spaces/5/axero-documentation/api-guide?id=530)
PUT/api/spaces/\{SpaceID\}/roles/\{RoleID\}

Update a space role's name or description. ResponseData is true when the role was saved.

## Request

### Request Header
| Header | Required | Value | Description |
| :--- | :--- | :--- | :--- |
| `Authorization` | YES | `Bearer YOUR_TOKEN` | Bearer token for the authenticated user. [Learn how to create Bearer tokens](https://my.axerosolutions.com/spaces/5/axero-documentation/wiki/view/108973/creating-bearer-tokens). |
| `Content-Type` | YES | `application/json` | Must be set to `application/json` |
### Required Parameters
| Parameter | Type | Required | Location | Description |
| :--- | :--- | :--- | :--- | :--- |
| `RoleID` | Integer | YES | Path | Unique identifier for a particular role |
| `SpaceID` | Integer | YES | Path | Unique identifier of the space the role belongs to. Part of the route only: the role is looked up by RoleID. |
| `Role JSON` | String | YES | Body | The fields to change, as a JSON object like the example below. Each name must match exactly, including case: an unknown name answers 500. Leave out RoleID and SpaceID, which are read from the body too and would point the update at another role. |
### Optional Parameters
| Parameter | Type | Required | Location | Description |
| :--- | :--- | :--- | :--- | :--- |
| `RoleName` | String | NO | Body | Display name for the role. It must be unused in the space: a name another role in the space already uses answers 200 with ResponseData false. A JSON list or another value that is not text is saved as its JSON text. |
| `Description` | String | NO | Body | Text describing what permissions or access this role grants. A JSON list or another value that is not text is saved as its JSON text. |
## Example

### Request Header

```
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
```

### Request URL

`https://your-site.com/api/spaces/23/roles/780`

### Request Body

```
{
  "RoleName": "System Analyst",
  "Description": "A systems analyst uses computers and related systems to design new IT solutions, modify, enhance or adapt existing systems and integrate new features."
}
```

### Success Response

```
{
  "IsError": false,
  "ResponseMessage": "",
  "ResponseData": true
}
```

### Error Response

```
{
  "Message": "The request is invalid."
}
```

## Error Handling

| Status Code | Likely Cause | Next Action |
| :--- | :--- | :--- |
| 400 Bad Request | SpaceID or RoleID in the path is not an integer. A body that is not a JSON object is not refused with 400: the call fails with 500 and an empty body. | Send numeric IDs and a JSON object body. |
| 401 Unauthorized | Missing or invalid Bearer token. | Check token validity. [Learn how to create Bearer tokens →](https://my.axerosolutions.com/spaces/5/axero-documentation/wiki/view/108973/creating-bearer-tokens) |
| 403 Forbidden | User does not have sufficient permissions. | Confirm the user has the required roles for this action. |
| 500 Server Error | No role has that RoleID, the body is missing or null, or it names a field a role does not have. | Check the RoleID, then retry later. |
| 200 with ResponseData false | Another role in the space already has this RoleName. | Choose another name. |

## Rate Limits

While Axero does not enforce hard rate limits by default, we recommend the following best practices to ensure optimal performance:

- **Sustained Request Rate:** Do not exceed 5 API calls per second
- **Sequential Processing:** Wait for each request to complete before sending the next in automated workflows
- **Concurrent Connections:** If parallel processing is required, limit to 3 or fewer simultaneous requests
- **Response Timeout:** Ensure API responses complete within 15 seconds during testing

Axero may implement temporary rate restrictions if excessive API usage affects overall site performance. For high-volume integrations, contact Axero to discuss your requirements.
