openapi: 3.0.1
info:
title: Miro Developer Platform AI Interaction Logs User API
version: v2.0
description: '<img src="https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n" width="1685" height="593">
### Miro Developer Platform concepts
- New to the Miro Developer Platform? Interested in learning more about platform concepts??
[Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes.
### Getting started with the Miro REST API
- [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes.
- [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes.
### Miro REST API tutorials
Check out our how-to articles with step-by-step instructions and code examples so you can:
- [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth)
### Miro App Examples
Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro''s Developer Platform 2.0.
'
servers:
- url: https://api.miro.com/
tags:
- name: User
paths:
/Users:
get:
tags:
- User
description: 'Retrieves the list of users in your organization. <br><b> <br>Note</b>: The API returns users that are members in the organization, it does not return users that are added in the organization as guests.'
parameters:
- name: attributes
in: query
required: false
description: 'A comma-separated list of attribute names to return in the response. <br><br> Example attributes: id, userName, displayName, name, userType, active, emails, photos, groups, roles. You can also retrieve attributes within complex attributes, for Example: emails.value. The API also supports sorting and the filter parameter.'
schema:
type: string
- name: filter
in: query
required: false
description: 'You can request a subset of resources by specifying the filter query parameter containing a filter expression. Attribute names and attribute operators used in filters are not case sensitive. The filter parameter must contain at least one valid expression. Each expression must contain an attribute name followed by an attribute operator and an optional value. <br>eq = equal<br> ne = not equal<br> co = contains<br> sw = starts with<br> ew = ends with<br> pr = preset (has value)<br> gt = greater than<br> ge = greater than or equal to<br> lt = less than<br> le = less than or equal to<br> and = Logical "and"<br> or = Logical "or"<br> not = "Not" function<br> () = Precedence grouping <br>The value must be passed within parenthesis. <br><br> <u>Example filters</u>:<br><br> For fetching users with user name as user@miro.com: userName eq "user@miro.com" <br><br> For fetching all active users in the organization: active eq true <br><br> For fetching users with "user" in their displayName: displayName co "user" <br><br> For fetching users that are member of a specific group (team): groups.value eq "3458764577585056871" <br><br> For fetching users that are not of userType Full: userType ne "Full"'
schema:
type: string
- name: startIndex
in: query
required: false
description: 'Use startIndex in combination with count query parameters to receive paginated results. <br><br> start index is 1-based. <br><br> Example: startIndex=1'
schema:
type: integer
- name: count
in: query
required: false
description: 'Specifies the maximum number of query results per page. <br><br> Use count in combination with startIndex query parameters to receive paginated results. <br><br> The count query parameter is set to 100 by default and the maximum value allowed for this parameter is 1000. <br><br> Example: count=12'
schema:
type: integer
- name: sortBy
in: query
required: false
description: 'Specifies the attribute whose value will be used to order the response. <br><br> Example: sortBy=userName, sortBy=emails.value'
schema:
type: string
- name: sortOrder
in: query
required: false
description: 'Defines the order in which the sortBy parameter is applied. <br><br> Example: sortOrder=ascending'
schema:
type: string
enum:
- ascending
- descending
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserListResponse'
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
totalResults: 1
itemsPerPage: 1
startIndex: 1
Resources:
- schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
application/json:
schema:
$ref: '#/components/schemas/UserListResponse'
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
totalResults: 1
itemsPerPage: 1
startIndex: 1
Resources:
- schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
operationId: listUsers
summary: List users
x-codeSamples:
- lang: curl
label: List users
source: "curl -X GET 'https://api.miro.com/api/v1/scim/Users' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'"
- lang: javascript
label: List users (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/Users',\n {\n method: 'GET',\n headers: {\n 'Authorization': 'Bearer <token>',\n 'Content-Type': 'application/scim+json'\n },\n // no body\n }\n);\nconst data = await res.json();\nconsole.log(data);"
post:
tags:
- User
description: 'Creates a new user in the organization. <br><br> <br>Note</b>: All newly provisioned users are added to the default team.'
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/CreateUserResource'
application/json:
schema:
$ref: '#/components/schemas/CreateUserResource'
required: true
responses:
'201':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/CreateUserResponse'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
application/json:
schema:
$ref: '#/components/schemas/CreateUserResponse'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
headers:
Location:
description: URL of the created resource.
schema:
type: string
format: uri
'400':
$ref: '#/components/responses/createUser400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'409':
$ref: '#/components/responses/createUser409'
'413':
$ref: '#/components/responses/413'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
operationId: createUser
summary: Create user
x-codeSamples:
- lang: curl
label: Create user
source: "curl -X POST 'https://api.miro.com/api/v1/scim/Users' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'\n -d '{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"userName\": \"bjensen\",\n \"name\": {\n \"givenName\": \"Barbara\",\n \"familyName\": \"Jensen\"\n },\n \"active\": true,\n \"emails\": [\n {\n \"value\": \"bjensen@example.com\",\n \"primary\": true\n }\n ]\n}'"
- lang: javascript
label: Create user (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/Users',\n {\n method: 'POST',\n headers: {\n 'Authorization': 'Bearer <token>',\n 'Content-Type': 'application/scim+json'\n },\n body: JSON.stringify({\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"userName\": \"bjensen\",\n \"name\": {\n \"givenName\": \"Barbara\",\n \"familyName\": \"Jensen\"\n },\n \"active\": true,\n \"emails\": [\n {\n \"value\": \"bjensen@example.com\",\n \"primary\": true\n }\n ]\n})\n }\n);\nconst data = await res.json();\nconsole.log(data);"
/Users/{id}:
get:
tags:
- User
description: 'Retrieves a single user resource. <br><b> <br>Note</b>: Returns only users that are members in the organization. It does not return users that are added in the organization as guests.'
parameters:
- name: id
in: path
description: User ID of the user to be retrieved
required: true
schema:
type: string
- name: attributes
in: query
required: false
description: 'A comma-separated list of attribute names to return in the response. <br><br> <br>Example attributes</b> - id, userName, displayName, name, userType, active, emails, photos, groups, roles. <br><br> <br>Note</b>: It is also possible to fetch attributes within complex attributes, for Example: emails.value'
schema:
type: string
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResource'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
application/json:
schema:
$ref: '#/components/schemas/UserResource'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/getUser404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
operationId: getUser
summary: Get user
x-codeSamples:
- lang: curl
label: Get user
source: "curl -X GET 'https://api.miro.com/api/v1/scim/Users/{id}' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'"
- lang: javascript
label: Get user (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/Users/{id}',\n {\n method: 'GET',\n headers: {\n 'Authorization': 'Bearer <token>',\n 'Content-Type': 'application/scim+json'\n },\n // no body\n }\n);\nconst data = await res.json();\nconsole.log(data);"
put:
tags:
- User
description: 'Updates an existing user resource. This is the easiest way to replace user information. <br><br> If the user is deactivated, <br> userName, userType, and roles.value cannot be updated. <br> emails.value, emails.display, emails.primary get ignored and do not return any error. <br><br> Note: If the user is not a member in the organization, they cannot be updated. Additionally, users with guest role in the organization cannot be updated. '
parameters:
- name: id
in: path
description: User ID. A server-assigned, unique identifier for this user.
required: true
schema:
type: string
requestBody:
description: Payload to update user information.
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResource'
application/json:
schema:
$ref: '#/components/schemas/UserResource'
required: true
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResource'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
application/json:
schema:
$ref: '#/components/schemas/UserResource'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
headers:
ETag:
description: Entity tag identifying the current version of the resource.
schema:
type: string
'400':
$ref: '#/components/responses/updateUser400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/updateUser404'
'409':
$ref: '#/components/responses/updateUser409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
operationId: replaceUser
summary: Replace user
x-codeSamples:
- lang: curl
label: Replace user
source: "curl -X PUT 'https://api.miro.com/api/v1/scim/Users/{id}' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'\n -d '{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"userName\": \"bjensen\",\n \"name\": {\n \"givenName\": \"Barbara\",\n \"familyName\": \"Jensen\"\n },\n \"active\": true,\n \"emails\": [\n {\n \"value\": \"bjensen@example.com\",\n \"primary\": true\n }\n ]\n}'"
- lang: javascript
label: Replace user (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/Users/{id}',\n {\n method: 'PUT',\n headers: {\n 'Authorization': 'Bearer <token>',\n 'Content-Type': 'application/scim+json'\n },\n body: JSON.stringify({\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"userName\": \"bjensen\",\n \"name\": {\n \"givenName\": \"Barbara\",\n \"familyName\": \"Jensen\"\n },\n \"active\": true,\n \"emails\": [\n {\n \"value\": \"bjensen@example.com\",\n \"primary\": true\n }\n ]\n})\n }\n);\nconst data = await res.json();\nconsole.log(data);"
patch:
tags:
- User
description: 'Updates an existing user resource, overwriting values for specified attributes. Attributes that are not provided will remain unchanged. PATCH operation only updates the fields provided. <br><br> Note: If the user is not a member in the organization, they cannot be updated. Additionally, users with guest role in the organization cannot be updated. '
parameters:
- name: id
in: path
description: User ID. A server-assigned, unique identifier for this user.
required: true
schema:
type: string
requestBody:
description: Payload to update user information. <br><br> The body of a PATCH request must contain the attribute `Operations`, and its value is an array of one or more PATCH operations. Each PATCH operation object must have exactly one "op" member.
content:
application/scim+json:
schema:
$ref: '#/components/schemas/PatchUserResource'
application/json:
schema:
$ref: '#/components/schemas/PatchUserResource'
required: true
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResource'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
application/json:
schema:
$ref: '#/components/schemas/UserResource'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
id: 2819c223-7f76-453a-919d-413861904646
userName: bjensen
name:
givenName: Barbara
familyName: Jensen
active: true
emails:
- value: bjensen@example.com
primary: true
meta:
resourceType: User
location: /Users/2819c223-7f76-453a-919d-413861904646
headers:
ETag:
description: Entity tag identifying the current version of the resource.
schema:
type: string
'400':
$ref: '#/components/responses/updateUser400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/updateUser404'
'409':
$ref: '#/components/responses/updateUser409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
operationId: patchUser
summary: Patch user
x-codeSamples:
- lang: curl
label: Patch user (active)
source: "curl -X PATCH 'https://api.miro.com/api/v1/scim/Users/{id}' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'\n -d '{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ],\n \"Operations\": [\n {\n \"op\": \"replace\",\n \"path\": \"active\",\n \"value\": true\n }\n ]\n}'"
- lang: javascript
label: Patch user (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/Users/{id}',\n {\n method: 'PATCH',\n headers: {\n 'Authorization': 'Bearer <token>',\n 'Content-Type': 'application/scim+json'\n },\n body: JSON.stringify({\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:PatchOp\"\n ],\n \"Operations\": [\n {\n \"op\": \"replace\",\n \"path\": \"active\",\n \"value\": true\n }\n ]\n})\n }\n);\nconst data = await res.json();\nconsole.log(data);"
delete:
tags:
- User
operationId: deleteUser
summary: Delete user
description: 'Deletes a single user from the organization.<br><br> Note: A user who is the last admin in the team or the last admin in the organization cannot be deleted. User must be a member in the organization to be deleted. Users that have guest role in the organization cannot be deleted. <br><br> After a user is deleted, the ownership of all the boards that belong to the deleted user is transferred to the oldest team member who currently has an admin role.'
parameters:
- name: id
in: path
description: User ID. A server-assigned, unique identifier for this user.
required: true
schema:
type: string
responses:
'204':
description: Successful Operation - No content
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/deleteUser404'
'409':
$ref: '#/components/responses/deleteUser409'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
components:
schemas:
CreateUserResponse:
$ref: '#/components/schemas/UserResource'
PatchUserResource:
type: object
required:
- schemas
- Operations
properties:
schemas:
type: array
description: Identifies which schema(s) this resource used. In this case, identifies the request as a SCIM PatchOp.
items:
type: string
enum:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
example: urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
type: array
description: 'A list of patch operations. <br><br>
Updating the user to deactivated/reactivated, <br> { "op": "Replace", "path": "active", "value": "true/false" } must be provided in the Operations array.<br><br> Renaming the user, <br> { "op": "Replace", "path": "displayName", "value": "New displayName" } must be provided in the Operations array.<br><br> Upgrading userType (license) to Full, <br> { "op": "Replace", "path": "userType", "value": "Full" } must be provided in the Operations array. Note that userType (license) cannot be downgraded using this operation.<br><br> Updating userName of the user, <br> { "op": "Replace", "path": "userName", "value": "oleg@test.com" } must be provided in the Operations array. <br><br> Updating userRole of the user, { "op": "Replace", <br> "path": "roles[primary eq true].value", "value": "ORGANIZATION_INTERNAL_ADMIN" must be provided in the Operations array. Note that ORGANIZATION_INTERNAL_ADMIN and ORGANIZATION_INTERNAL_USER are the only supported primary user roles and guest roles are not supported. <br><br> Adding an admin role, <br> { "op": "Add", "path": "roles", "value": [{"value": "Content Admin", "type": "organization_admin_role", "primary": false}]} must be provided in the Operations array. <br><br> Removing an admin role, <br> { "op": "Remove", "path":"roles[value eq \"Content Admin\"]" } must be provided in the Operations array. <br><br> Updating department of the user, <br> { "op": "Replace", "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department", "value": "IT" } must be provided in the Operations array. Similarly, attributes such as employeeNumber, costCentre, organization, division, manager (displayName and value) can also be updated. '
items:
type: object
required:
- op
- path
- value
properties:
op:
type: string
description: The operation to perform.
enum:
- Add
- Remove
- Replace
example: Replace
path:
type: string
description: Attribute path being modified.
example: userType
value:
type: string
description: The value to apply in the operation.
example: Full
CreateUserResource:
type: object
required:
- userName
properties:
schemas:
type: array
description: Identifies which schema(s) this resource uses. In this case it is the SCIM core User schema.
items:
type: string
enum:
- urn:ietf:params:scim:schemas:core:2.0:User
example: urn:ietf:params:scim:schemas:core:2.0:User
userName:
type: string
description: 'The unique username/login identifier. An email address in this case. <br><br> Note: Payload must include the userName attribute populated with an email address<br><br> User is created with this email address in the organization. This attribute will be used as full name of the created user if the displayName or name attribute is not provided.'
example: user@miro.com
name:
type: object
description: Structured object for the person’s name. This includes the family name (last name), and given name (first name).
required:
- familyName
- givenName
properties:
formatted:
description: 'This attribute is used if the displayName attribute is not provided, name attribute is provided and this attribute value is not empty. <br><br> Maximum length: 60 characters'
type: string
example: Adam Taylor
familyName:
description: 'This attribute is used if the displayName attribute is not provided, name attribute is provided and formatted attribute value is not provided. <br><br> Maximum length: Combined character count for both attributes givenName and familyName must not exceed 60 characters.'
type: string
example: Doe
givenName:
description: 'This attribute is used if the displayName attribute is not provided, name attribute is provided and formatted attribute value is not provided. <br><br> Maximum length: Combined character count for both attributes givenName and familyName must not exceed 60 characters.'
type: string
example: John
displayName:
description: 'A human-readable name for the user, typically the full name. This attribute is used if the value is not empty. <br><br> Maximum length: 60 characters'
type: string
example: John Doe
userType:
type: string
description: 'Free-form string to indicate the user license type in the organization. <br><br> Only supported values for license types are allowed. Supported license types can vary per organization. An organization can have one or more of the following license type values: Full, Free, Free Restricted, Full (Trial), Basic, Standard, Advanced. <br><br> Note: When `userType` is specified, the `userType` license is set per the value provided. When `userType` is not specified, the user license is set according to internal Miro logic, which depends on the organization plan.'
example: Full
active:
type: boolean
description: Indicates whether the user is active or deactivated in the organization.
photos:
type: array
description: 'An array of display picture for the user in the organization. Contains photo value and type. <br><br> Notes: Must be a text URL to the image. Supported file types: jpg, jpeg, bmp, png, gif. <br><br> To define file type, you should have defined file extension in url (e.g. https://host.com/avatar_user1.jpg) or request to url should return together with a file content a header Content-Type (e.g. Content-Type = image/jpeg) <br><br> Maximum file size to download is: 31457280 bytes. <br><br> Example (Okta): photos.^[type==photo].value <br> Example (Azure): photos[type eq "photo"].value'
items:
type: object
properties:
type:
type: string
example: photo
value:
type: string
example: https://example.com/path_to_image.jpg
roles:
type: array
description: 'An array of roles assigned to the user in the organization. Contains role value, display, type, and primary flag. <br><br> organization_user_role supported values include: ORGANIZATION_INTERNAL_ADMIN and ORGANIZATION_INTERNAL_USER. organization_admin_role supported values include: Content Admin, User Admin, Security Admin, or names of custom admin roles. <br><br> Example (Okta) for organization_user_role: roles.^[primary==true].value <br> Example (Azure) for organization_user_role: roles[primary eq "True"].value <br> Example (Okta) for organization_admin_role: roles.^[primary==false].value <br> Example (Azure) for organization_admin_role: roles[primary eq "False"].value <br>'
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/miro/refs/heads/main/openapi/miro-user-api-openapi.yml