Miro Discovery API

The Discovery API from Miro — 5 operation(s) for discovery.

OpenAPI Specification

miro-discovery-api-openapi.yml Raw ↑
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