Sets a role's badge to an uploaded image. The bytes are uploaded to the community's own repo, which is why this goes through the AppView: a space record must reference a blob living in the repo that holds the record. Replaces whatever badge was there before. Use social.colibri.beta.role.update with removeBadge to clear it.
Parameters
Input
image/*Accepts raw binary data
Output
application/jsonrole
refsocial.colibri.beta.community.defs#roleView
Required
The role with the new badge resolved.
Errors
AuthRequired
The request is missing, malformed, or unverifiable service auth. Forbidden
The caller lacks the role.manage permission. CommunityNotFound
No community exists at the given DID. RoleNotFound
No role exists at the given record key. RoleProtected
The role is marked protected and cannot be modified. RoleHierarchy
The role is at or above the caller's highest role position. UnsupportedImage
The bytes are not one of the accepted image types. ImageTooLarge
The image exceeds 256 KB. CredentialsUnavailable
The AppView cannot act as the community because its stored credentials are missing or unusable. UpstreamFailure
A PDS or third-party call the AppView depends on failed. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"description": "Sets a role's badge to an uploaded image. The bytes are uploaded to the community's own repo, which is why this goes through the AppView: a space record must reference a blob living in the repo that holds the record. Replaces whatever badge was there before. Use social.colibri.beta.role.update with removeBadge to clear it.",
"errors": [
{
"description": "The request is missing, malformed, or unverifiable service auth.",
"name": "AuthRequired"
},
{
"description": "The caller lacks the role.manage permission.",
"name": "Forbidden"
},
{
"description": "No community exists at the given DID.",
"name": "CommunityNotFound"
},
{
"description": "No role exists at the given record key.",
"name": "RoleNotFound"
},
{
"description": "The role is marked protected and cannot be modified.",
"name": "RoleProtected"
},
{
"description": "The role is at or above the caller's highest role position.",
"name": "RoleHierarchy"
},
{
"description": "The bytes are not one of the accepted image types.",
"name": "UnsupportedImage"
},
{
"description": "The image exceeds 256 KB.",
"name": "ImageTooLarge"
},
{
"description": "The AppView cannot act as the community because its stored credentials are missing or unusable.",
"name": "CredentialsUnavailable"
},
{
"description": "A PDS or third-party call the AppView depends on failed.",
"name": "UpstreamFailure"
}
],
"input": {
"description": "The raw image bytes, at most 256 KB. The content type must be one of image/jpeg, image/png, image/gif or image/webp, and is sniffed rather than trusted.",
"encoding": "image/*"
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"role": {
"description": "The role with the new badge resolved.",
"ref": "social.colibri.beta.community.defs#roleView",
"type": "ref"
}
},
"required": [
"role"
],
"type": "object"
}
},
"parameters": {
"properties": {
"community": {
"description": "The community the role belongs to.",
"format": "did",
"type": "string"
},
"role": {
"description": "The role's record key.",
"format": "record-key",
"type": "string"
}
},
"required": [
"community",
"role"
],
"type": "params"
},
"type": "procedure"
}