Miro API uses common HTTP codes to indicate the status of the request. In addition to the HTTP code, we complement each response with a corresponding JSON object.

In general, response codes are divided into four (4) categories:

2xx

Request received and successfully processed

3xx

The client must perform additional actions to complete the request

4xx

An error occurred in handling the request. The most common cause of this error is an invalid parameter.

5xx

An internal error occurred on the Miro servers when processing the request

Error Object

type
string

error

status
int

The HTTP status of the response

code
string

A short string describing the kind of error that occurred

context
object

Additional context information describing the error

message

A human-readable message describing the error

Error Codes

Common error codes that may be produced when using the API are listed in the following table. We recommend handling all errors.

This is not an exhaustive list and additional errors may occur. Usually, these errors are described for specific methods.

Status

Code

Description

400

invalidParameters

Invalid parameters in request. For more information, see the Invalid Parameters Context section at the bottom of this page.

401

tokenNotProvided

No authorization data was found on the request

401

tokenNotFound

The API key does not exist

403

insufficientPermissions

Insufficient permissions to do this action

404

notFound

The requested resource is not found

500

internalError

Invalid Parameters Context

The context contains fields field with an array of JSON objects. They represent invalid parameters and describe what went wrong.

{  
   "status":400,
   "code":"invalidParameters",
   "message":"Method parameters are not valid",
   "context":{  
      "fields":[  
         {  
            "field":"team",
            "reason":"notFound",
            "message":"Team not found"
         },
         {  
            "field":"sharingPolicy.access",
            "reason":"invalidParameter",
            "message":"Invalid value: must be one of private, view or comment"
         }
      ]
   },
   "type":"error"
}

Currently, there are two possible values for the reason field: notFound and invalidParameter.

There is also a message field with a human-readable message describing the error.