openapi: 3.0.1
info:
title: Miro Developer Platform AI Interaction Logs Discovery 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: Discovery
paths:
/ServiceProviderConfig:
get:
tags:
- Discovery
description: Retrieve supported operations and SCIM API basic configuration.
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ServiceProviderConfigResponse'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig
patch:
supported: true
bulk:
supported: false
filter:
supported: true
maxResults: 200
changePassword:
supported: false
sort:
supported: true
etag:
supported: false
authenticationSchemes:
- type: oauthbearertoken
name: OAuth Bearer Token
application/json:
schema:
$ref: '#/components/schemas/ServiceProviderConfigResponse'
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig
patch:
supported: true
bulk:
supported: false
filter:
supported: true
maxResults: 200
changePassword:
supported: false
sort:
supported: true
etag:
supported: false
authenticationSchemes:
- type: oauthbearertoken
name: OAuth Bearer Token
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
operationId: listServiceProviderConfigs
summary: Get Service Provider Config
x-codeSamples:
- lang: curl
label: Get ServiceProviderConfig
source: "curl -X GET 'https://api.miro.com/api/v1/scim/ServiceProviderConfig' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'"
- lang: javascript
label: Get ServiceProviderConfig (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/ServiceProviderConfig',\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);"
/ResourceTypes:
get:
tags:
- Discovery
description: Retrieve information about which SCIM resources are supported. <br><br> Currently, Miro supports Users and Groups as Resource Types.
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ResourceTypeListResponse'
example:
Resources:
- id: User
name: User
endpoint: /Users
schema: urn:ietf:params:scim:schemas:core:2.0:User
totalResults: 1
startIndex: 1
itemsPerPage: 1
schemas:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
application/json:
schema:
$ref: '#/components/schemas/ResourceTypeListResponse'
example:
Resources:
- id: User
name: User
endpoint: /Users
schema: urn:ietf:params:scim:schemas:core:2.0:User
totalResults: 1
startIndex: 1
itemsPerPage: 1
schemas:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
operationId: listResourceTypes
summary: List resource types
x-codeSamples:
- lang: curl
label: List resource types
source: "curl -X GET 'https://api.miro.com/api/v1/scim/ResourceTypes' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'"
- lang: javascript
label: List resource types (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/ResourceTypes',\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);"
/ResourceTypes/{resource}:
get:
tags:
- Discovery
description: Retrieve metadata for the available resource types (User and Group) that are supported.
parameters:
- name: resource
in: path
required: true
schema:
type: string
description: Resource type identifier for which to retrieve metadata. Supported values are 'User' and 'Group'.
enum:
- User
- Group
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ResourceType'
example:
id: User
name: User
endpoint: /Users
schema: urn:ietf:params:scim:schemas:core:2.0:User
application/json:
schema:
$ref: '#/components/schemas/ResourceType'
example:
id: User
name: User
endpoint: /Users
schema: urn:ietf:params:scim:schemas:core:2.0:User
headers:
ETag:
description: Entity tag identifying the current version of the resource.
schema:
type: string
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
operationId: getResourceType
summary: Get resource type
x-codeSamples:
- lang: curl
label: Get resource type
source: "curl -X GET 'https://api.miro.com/api/v1/scim/ResourceTypes/{resource}' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'"
- lang: javascript
label: Get resource type (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/ResourceTypes/{resource}',\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);"
/Schemas:
get:
tags:
- Discovery
description: Retrieve metadata about Users, Groups, and extension attributes that are currently supported.
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/SchemaListResponse'
example:
Resources:
- id: urn:ietf:params:scim:schemas:core:2.0:User
name: User
description: User Account
attributes:
- name: userName
type: string
required: true
totalResults: 1
startIndex: 1
itemsPerPage: 1
schemas:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
application/json:
schema:
$ref: '#/components/schemas/SchemaListResponse'
example:
Resources:
- id: urn:ietf:params:scim:schemas:core:2.0:User
name: User
description: User Account
attributes:
- name: userName
type: string
required: true
totalResults: 1
startIndex: 1
itemsPerPage: 1
schemas:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
operationId: listSchemas
summary: List schemas
x-codeSamples:
- lang: curl
label: List schemas
source: "curl -X GET 'https://api.miro.com/api/v1/scim/Schemas' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'"
- lang: javascript
label: List schemas (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/Schemas',\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);"
/Schemas/{uri}:
get:
tags:
- Discovery
description: Retrieve information about how users, groups, and enterprise-user attributes URIs that are formatted.
parameters:
- name: uri
in: path
description: Schema URI of a particular resource type.
required: true
schema:
type: string
enum:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:core:2.0:Group
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
responses:
'200':
description: Successful Operation
content:
application/scim+json:
schema:
$ref: '#/components/schemas/SchemaResource'
example:
id: urn:ietf:params:scim:schemas:core:2.0:User
name: User
description: User Account
attributes:
- name: userName
type: string
required: true
application/json:
schema:
$ref: '#/components/schemas/SchemaResource'
example:
id: urn:ietf:params:scim:schemas:core:2.0:User
name: User
description: User Account
attributes:
- name: userName
type: string
required: true
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
operationId: getSchema
summary: Get schema
x-codeSamples:
- lang: curl
label: Get schema
source: "curl -X GET 'https://api.miro.com/api/v1/scim/Schemas/{uri}' \\\n -H 'Authorization: Bearer <token>' \\\n -H 'Content-Type: application/scim+json'"
- lang: javascript
label: Get schema (fetch)
source: "const res = await fetch(\n 'https://api.miro.com/api/v1/scim/Schemas/{uri}',\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);"
components:
schemas:
ResourceTypeListResponse:
type: object
properties:
schemas:
type: array
description: An array of URNs that identify the schema(s) that define the structure of this response. <br><br> In this case, it contains urn:ietf:params:scim:api:messages:2.0:ListResponse, which indicates that this is a SCIM ListResponse response containing list of supported resource types.
items:
type: string
example: urn:ietf:params:scim:api:messages:2.0:ListResponse
totalResults:
type: number
description: Number of resource types returned in the response.
example: 2
Resources:
type: array
items:
type: object
properties:
schemas:
type: array
description: An array of URNs that identify the schema(s) that define the structure of this resource type.
items:
type: string
example: urn:ietf:params:scim:schemas:core:2.0:ResourceType
id:
type: string
description: Identifier of the resource type. Since Miro supports Users and Groups, the values are User or Group.
example: User
name:
type: string
description: Name of the resource type. Since Miro supports Users and Groups, the values are User or Group.
example: User
description:
type: string
description: Description of the resource type. Since Miro supports Users and Groups, the values are User or Group.
example: User
endpoint:
type: string
description: Endpoint extension of the resource type. Since Miro supports Users and Groups, the values are /Users or /Groups.
example: /Users
schema:
type: string
description: Schema URI of the resource type. Since Miro supports Users and Groups, the values are urn:ietf:params:scim:schemas:core:2.0:User or urn:ietf:params:scim:schemas:core:2.0:Group.
example: urn:ietf:params:scim:schemas:core:2.0:User
schemaExtensions:
type: array
description: Schema extensions supported for the resource type.
items:
type: object
properties:
schema:
type: string
description: Schema extension URI of the resource type.
example: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
required:
type: boolean
description: Indicator of whether the schema extension is required.
example: false
description: Information about the supported resource types. Currently Miro supports Users and Groups.
SchemaAttribute:
type: object
properties:
schemas:
type: array
description: Identifies which schema(s) this resource used. In this case it is the SCIM core User/Group schema.
items:
type: string
enum:
- urn:ietf:params:scim:schemas:core:2.0:User
example: urn:ietf:params:scim:schemas:core:2.0:User
name:
type: string
description: Name of schema attribute.
example: userName
type:
type: string
description: Type of schema attribute.
example: string
multiValued:
type: boolean
description: Indicates whether the attribute is multi-valued.
example: false
description:
type: string
description: Description of schema attribute.
example: Unique identifier for the user typically used by the user to directly authenticate to the service provider. Each User MUST include a non-empty userName value. This identifier MUST be unique across the service provider's entire set of Users.
required:
type: boolean
description: Indicates whether the attribute is required.
example: true
subAttributes:
type: array
items:
$ref: '#/components/schemas/SchemaAttribute'
caseExact:
type: boolean
description: Indicates whether the attribute is case exact.
example: false
mutability:
type: string
description: Indicates the mutability of the attribute.
example: readWrite
returned:
type: string
description: Indicates when the attribute is returned in a response.
example: default
uniqueness:
type: string
description: Indicates the uniqueness of the attribute.
example: server
description: Definition of schema attributes.
ResourceType:
type: object
properties:
schemas:
type: array
description: An array of URNs that identify the schema(s) that define the structure of this resource type.
items:
type: string
example: urn:ietf:params:scim:schemas:core:2.0:ResourceType
id:
type: string
description: Identifier of the resource type.
example: User
name:
type: string
description: Name of the resource type.
example: User
description:
type: string
description: Name of the resource type.
example: User
endpoint:
type: string
description: Endpoint extension of the resource type.
example: /Users
schema:
type: string
description: Schema URI of the resource type.
example: urn:ietf:params:scim:schemas:core:2.0:User
schemaExtensions:
type: array
description: Schema extensions supported for the resource type.
items:
type: object
properties:
schema:
type: string
description: Schema extension URI of the resource type.
example: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
required:
type: boolean
description: Indicator of whether the schema extension is required.
example: false
description: Metadata for the available resource types (User and Group)
SchemaResource:
type: object
properties:
id:
type: string
description: Identifier of the schema resource.
example: urn:ietf:params:scim:schemas:core:2.0:User
name:
type: string
description: Name of the schema resource.
example: User
description:
type: string
description: Description of the schema resource.
example: User Account
attributes:
type: array
description: Attributes that are currently supported.
items:
$ref: '#/components/schemas/SchemaAttribute'
meta:
type: object
description: Metadata about the schema resource.
properties:
resourceType:
type: string
description: Type of the resource.
example: Schema
location:
type: string
description: The URI of the resource.
example: https://miro.com/api/v1/scim/Schemas/urn:ietf:params:scim:schemas:core:2.0:User
description: Information on how users, groups, and enterprise-user attributes are formatted.
SchemaListResponse:
type: object
properties:
schemas:
type: array
description: Schema(s) that define the structure of this response. <br><br> In this case, it contains urn:ietf:params:scim:api:messages:2.0:ListResponse, which indicates that this is a SCIM ListResponse.
items:
type: string
example: urn:ietf:params:scim:api:messages:2.0:ListResponse
totalResults:
type: number
description: Number of schemas returned in the response.
example: 3
Resources:
type: array
description: Resources containing metadata about attributes that are currently supported.
items:
type: object
properties:
schemas:
type: array
description: Schema(s) that define the structure of this resource.
items:
type: string
example: urn:ietf:params:scim:schemas:core:2.0:Schema
id:
type: string
description: Identifier of the resource.
example: urn:ietf:params:scim:schemas:core:2.0:User
name:
type: string
description: Name of the resource.
example: User
description:
type: string
description: Description of the resource.
example: User Account
attributes:
type: array
description: Attributes that are currently supported.
items:
type: object
properties:
name:
type: string
description: Name of the attribute.
example: userName
type:
type: string
description: Data type of the attribute.
example: string
multiValued:
type: boolean
description: Indicates whether the attribute is multi-valued.
example: false
description:
type: string
description: Description of the attribute.
example: Unique identifier for the user typically used by the user to directly authenticate to the service provider. Each User MUST include a non-empty userName value. This identifier MUST be unique across the service provider's entire set of Users.
required:
type: boolean
description: Indicates whether the attribute is required.
example: true
caseExact:
type: boolean
description: Indicates whether the attribute is case exact.
example: false
mutability:
type: string
description: Indicates the mutability of the attribute.
example: readWrite
returned:
type: string
description: Indicates when the attribute is returned in a response.
example: default
uniqueness:
type: string
description: Indicates the uniqueness of the attribute.
example: server
meta:
type: object
description: Metadata about the resource.
properties:
resourceType:
type: string
description: Type of the resource.
example: Schema
location:
type: string
description: The URI of the resource.
example: https://miro.com/api/v1/scim/Schemas/urn:ietf:params:scim:schemas:core:2.0:User
description: Metadata about Users, Groups and extension attributes that are currently supported.
ServiceProviderConfigResponse:
type: object
properties:
schemas:
type: array
description: An array of URNs that identify the schema(s) that define the structure of this response. <br><br> In this case, it contains urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig, which indicates that this is a SCIM ServiceProviderConfig response.
items:
type: string
example: urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig
documentationUri:
type: string
description: A link to Miro SCIM documentation.
example: https://developers.miro.com/docs/scim
patch:
type: object
description: Indicator of whether the PATCH operation is supported.
properties:
supported:
type: boolean
description: Returns true if the operation is supported.
example: true
bulk:
type: object
description: Indicator of whether the Bulk operation is supported.
properties:
supported:
type: boolean
description: Returns true if the operation is supported.
example: false
maxOperations:
type: number
description: Maximum operations supported in a single request.
example: 0
maxPayloadSize:
type: number
description: Maximum payload size supported for a single request.
example: 0
filter:
type: object
description: Indicator of whether the Filter operation is supported.
properties:
supported:
type: boolean
description: Returns true if the operation is supported.
example: true
maxResults:
type: number
description: Maximum results returned in a list response.
example: 200
changePassword:
type: object
description: Indicator of whether the Change Password operation is supported.
properties:
supported:
type: boolean
description: Returns true if the operation is supported.
example: false
sort:
type: object
description: Indicator of whether the Sort operation is supported.
properties:
supported:
type: boolean
description: Returns true if the operation is supported.
example: true
etag:
type: object
description: Indicator of whether ETag is supported.
properties:
supported:
type: boolean
description: Returns true if ETag is supported.
example: false
authenticationSchemes:
type: array
description: A list of supported authentication schemes.
items:
type: object
properties:
name:
type: string
description: Name of the authentication scheme.
example: OAuth 2.0 Bearer Token
description:
type: string
description: Description of the authentication scheme.
example: The OAuth 2.0 Bearer Token Authentication scheme. OAuth enables clients to access protected resources by obtaining an access token which is defined in RFC 6750 as a string representing an access authorization issued to the client rather than using the resource owner's credentials directly.
specUri:
type: string
description: Specification URI of the authentication scheme.
example: http://tools.ietf.org/html/rfc6750
type:
type: string
description: Type of the authentication scheme.
example: oauthbearertoken
primary:
type: boolean
description: Returns true if this is the primary authentication scheme of the service provider.
example: true
description: Supported operations and SCIM API basic configuration.
securitySchemes:
oAuth2AuthCode:
type: oauth2
description: For more information, see https://developers.miro.com/reference/authorization-flow-for-expiring-tokens
flows:
authorizationCode:
authorizationUrl: https://miro.com/oauth/authorize
tokenUrl: https://api.miro.com/v1/oauth/token
scopes:
boards:read: Retrieve information about boards, board members, or items
boards:write: Create, update, or delete boards, board members, or items
microphone:listen: Access a user's microphone to record audio in an iFrame
screen:record: Access a user's screen to record it in an iFrame
webcam:record: Allows an iFrame to access a user's camera to record video
organizations:read: Read information about the organization, such as name, plan, number of licenses, organization settings, or organization members.
organizations:teams:read: Read team information, such as the list of teams, team settings, team members, for an organization.
organizations:teams:write: Create or delete teams, update team information, team settings, team members, for an organization.
x-settings:
publish: true