Docs Endpoints Reader Instances

Reader Instances

4
GET/v1/reader-instancesList reader instances.

Parameters

NameTypeDescriptionRequired
limitintegerMaximum number of resources to return. Must be between 1 and 50.No
nextTokenstringOpaque continuation token returned by the previous page.No

Request Body Fields

NameTypeOptionsRequired
limit
numberAnyNo
nextToken
stringAnyNo
curl -X GET "https://api.cirrusreader.com/v1/reader-instances" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Response Body Fields

NameTypeOptionsRequired
items
object[]AnyYes
nextToken
stringAnyNo
context
objectAnyYes

Response 200

The reader instances were returned successfully.

{
  "items": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "screenshot": "string",
      "isSampleOnly": true,
      "isDefault": true,
      "securityLevel": [
        "string"
      ],
      "createdAtIso": "2026-04-29T10:00:00.000Z",
      "updatedAtIso": "2026-04-29T10:00:00.000Z",
      "screenshotUpdatedAtIso": "2026-04-29T10:00:00.000Z"
    }
  ],
  "nextToken": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string",
    "authentication": {
      "requestId": "string",
      "authType": "apiKey",
      "sub": "string",
      "email": "string",
      "groups": "string",
      "keyId": "string",
      "organisationId": "string",
      "errorCode": "string",
      "error": "string",
      "user": {
        "id": "string",
        "sub": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "role": "Admin",
        "status": "Active",
        "onboarded": true,
        "userImage": "string",
        "billing": {
          "planId": "starter",
          "status": "incomplete",
          "billingAccessStatus": "enabled",
          "billingGracePeriodEndIso": "2026-04-29T10:00:00.000Z",
          "billingInterval": "month",
          "trialEndIso": "2026-04-29T10:00:00.000Z",
          "currentPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "cancelAtPeriodEnd": true,
          "publicationLimit": 1,
          "monthlyBandwidthLimitBytes": "string",
          "bandwidthPeriodStartIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodUsedBytes": "string",
          "bandwidthPeriodCalculatedThroughIso": "2026-04-29T10:00:00.000Z",
          "bandwidthAccessStatus": "enabled"
        }
      },
      "scopeId": "string"
    }
  }
}

Error Responses

Response 400

The request body or parameters failed validation.

{
  "error": "QL_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  },
  "details": [
    {
      "message": "string"
    }
  ]
}

Response 401

The request is missing valid authentication credentials.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 403

The authenticated user is not allowed to access this resource.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 404

The requested API key could not be found.

{
  "error": "EMPTY_RESPONSE",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 405

The request method is not supported.

{
  "error": "UNSUPPORTED_METHOD",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}
GET/v1/reader-instances/{id}Get reader instance by Id.

Parameters

NameTypeDescriptionRequired
idstringPath parameter.Yes
curl -X GET "https://api.cirrusreader.com/v1/reader-instances/ID" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Response Body Fields

NameTypeOptionsRequired
item
objectAnyYes
context
objectAnyYes

Response 200

The reader instance was returned successfully.

{
  "item": {
    "id": "string",
    "name": "string",
    "description": "string",
    "permittedDomains": [
      "string"
    ],
    "securityLevel": [
      "string"
    ],
    "screenshot": "string",
    "isSampleOnly": true,
    "isDefault": true,
    "createdBySub": "string",
    "scopeId": "string",
    "organisationId": "string",
    "configuration": {
      "plan": "base",
      "version": "base@3",
      "lastUpdated": "2026-04-29T10:00:00.000Z",
      "addons": {},
      "layout": {
        "version": "layout@1",
        "regions": {}
      },
      "private": {
        "authentication": {
          "authType": "none"
        }
      },
      "public": {
        "settings": {},
        "fonts": []
      }
    },
    "designerState": {
      "version": "lite-designer@2",
      "selectedLayout": 0,
      "featureState": {},
      "settingsState": {},
      "iconState": {},
      "fontState": {}
    },
    "createdAtIso": "2026-04-29T10:00:00.000Z",
    "updatedAtIso": "2026-04-29T10:00:00.000Z",
    "screenshotUpdatedAtIso": "2026-04-29T10:00:00.000Z"
  },
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string",
    "authentication": {
      "requestId": "string",
      "authType": "apiKey",
      "sub": "string",
      "email": "string",
      "groups": "string",
      "keyId": "string",
      "organisationId": "string",
      "errorCode": "string",
      "error": "string",
      "user": {
        "id": "string",
        "sub": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "role": "Admin",
        "status": "Active",
        "onboarded": true,
        "userImage": "string",
        "billing": {
          "planId": "starter",
          "status": "incomplete",
          "billingAccessStatus": "enabled",
          "billingGracePeriodEndIso": "2026-04-29T10:00:00.000Z",
          "billingInterval": "month",
          "trialEndIso": "2026-04-29T10:00:00.000Z",
          "currentPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "cancelAtPeriodEnd": true,
          "publicationLimit": 1,
          "monthlyBandwidthLimitBytes": "string",
          "bandwidthPeriodStartIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodUsedBytes": "string",
          "bandwidthPeriodCalculatedThroughIso": "2026-04-29T10:00:00.000Z",
          "bandwidthAccessStatus": "enabled"
        }
      },
      "scopeId": "string"
    }
  }
}

Error Responses

Response 400

The request body or parameters failed validation.

{
  "error": "QL_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  },
  "details": [
    {
      "message": "string"
    }
  ]
}

Response 401

The request is missing valid authentication credentials.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 403

The authenticated user is not allowed to access this resource.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 404

The requested API key could not be found.

{
  "error": "EMPTY_RESPONSE",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 405

The request method is not supported.

{
  "error": "UNSUPPORTED_METHOD",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}
DELETE/v1/reader-instances/{id}Delete reader instance by id

Parameters

NameTypeDescriptionRequired
idstringPath parameter.Yes
curl -X DELETE "https://api.cirrusreader.com/v1/reader-instances/ID" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Response Body Fields

NameTypeOptionsRequired
item
objectAnyYes
context
objectAnyYes

Response 200

Reader instance deleted successfully.

{
  "item": {
    "id": "string",
    "name": "string",
    "description": "string",
    "permittedDomains": [
      "string"
    ],
    "securityLevel": [
      "string"
    ],
    "screenshot": "string",
    "isSampleOnly": true,
    "isDefault": true,
    "createdBySub": "string",
    "scopeId": "string",
    "organisationId": "string",
    "configuration": {
      "plan": "base",
      "version": "base@3",
      "lastUpdated": "2026-04-29T10:00:00.000Z",
      "addons": {},
      "layout": {
        "version": "layout@1",
        "regions": {}
      },
      "private": {
        "authentication": {
          "authType": "none"
        }
      },
      "public": {
        "settings": {},
        "fonts": []
      }
    },
    "designerState": {
      "version": "lite-designer@2",
      "selectedLayout": 0,
      "featureState": {},
      "settingsState": {},
      "iconState": {},
      "fontState": {}
    },
    "createdAtIso": "2026-04-29T10:00:00.000Z",
    "updatedAtIso": "2026-04-29T10:00:00.000Z",
    "screenshotUpdatedAtIso": "2026-04-29T10:00:00.000Z"
  },
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string",
    "authentication": {
      "requestId": "string",
      "authType": "apiKey",
      "sub": "string",
      "email": "string",
      "groups": "string",
      "keyId": "string",
      "organisationId": "string",
      "errorCode": "string",
      "error": "string",
      "user": {
        "id": "string",
        "sub": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "role": "Admin",
        "status": "Active",
        "onboarded": true,
        "userImage": "string",
        "billing": {
          "planId": "starter",
          "status": "incomplete",
          "billingAccessStatus": "enabled",
          "billingGracePeriodEndIso": "2026-04-29T10:00:00.000Z",
          "billingInterval": "month",
          "trialEndIso": "2026-04-29T10:00:00.000Z",
          "currentPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "cancelAtPeriodEnd": true,
          "publicationLimit": 1,
          "monthlyBandwidthLimitBytes": "string",
          "bandwidthPeriodStartIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodUsedBytes": "string",
          "bandwidthPeriodCalculatedThroughIso": "2026-04-29T10:00:00.000Z",
          "bandwidthAccessStatus": "enabled"
        }
      },
      "scopeId": "string"
    }
  }
}

Error Responses

Response 400

The request body or parameters failed validation.

{
  "error": "QL_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  },
  "details": [
    {
      "message": "string"
    }
  ]
}

Response 401

The request is missing valid authentication credentials.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 403

The authenticated user is not allowed to access this resource.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 404

The requested API key could not be found.

{
  "error": "EMPTY_RESPONSE",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 405

The request method is not supported.

{
  "error": "UNSUPPORTED_METHOD",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}
POST/v1/reader-instances/{id}/copyDuplicate a reader instance by id.

Parameters

NameTypeDescriptionRequired
idstringPath parameter.Yes
curl -X POST "https://api.cirrusreader.com/v1/reader-instances/ID/copy" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Response Body Fields

NameTypeOptionsRequired
item
objectAnyYes
context
objectAnyYes

Response 201

The reader instance was copied successfully.

{
  "item": {
    "id": "string",
    "name": "string",
    "description": "string",
    "permittedDomains": [
      "string"
    ],
    "securityLevel": [
      "string"
    ],
    "screenshot": "string",
    "isSampleOnly": true,
    "isDefault": true,
    "createdBySub": "string",
    "scopeId": "string",
    "organisationId": "string",
    "configuration": {
      "plan": "base",
      "version": "base@3",
      "lastUpdated": "2026-04-29T10:00:00.000Z",
      "addons": {},
      "layout": {
        "version": "layout@1",
        "regions": {}
      },
      "private": {
        "authentication": {
          "authType": "none"
        }
      },
      "public": {
        "settings": {},
        "fonts": []
      }
    },
    "designerState": {
      "version": "lite-designer@2",
      "selectedLayout": 0,
      "featureState": {},
      "settingsState": {},
      "iconState": {},
      "fontState": {}
    },
    "createdAtIso": "2026-04-29T10:00:00.000Z",
    "updatedAtIso": "2026-04-29T10:00:00.000Z",
    "screenshotUpdatedAtIso": "2026-04-29T10:00:00.000Z"
  },
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string",
    "authentication": {
      "requestId": "string",
      "authType": "apiKey",
      "sub": "string",
      "email": "string",
      "groups": "string",
      "keyId": "string",
      "organisationId": "string",
      "errorCode": "string",
      "error": "string",
      "user": {
        "id": "string",
        "sub": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "role": "Admin",
        "status": "Active",
        "onboarded": true,
        "userImage": "string",
        "billing": {
          "planId": "starter",
          "status": "incomplete",
          "billingAccessStatus": "enabled",
          "billingGracePeriodEndIso": "2026-04-29T10:00:00.000Z",
          "billingInterval": "month",
          "trialEndIso": "2026-04-29T10:00:00.000Z",
          "currentPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "cancelAtPeriodEnd": true,
          "publicationLimit": 1,
          "monthlyBandwidthLimitBytes": "string",
          "bandwidthPeriodStartIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodEndIso": "2026-04-29T10:00:00.000Z",
          "bandwidthPeriodUsedBytes": "string",
          "bandwidthPeriodCalculatedThroughIso": "2026-04-29T10:00:00.000Z",
          "bandwidthAccessStatus": "enabled"
        }
      },
      "scopeId": "string"
    }
  }
}

Error Responses

Response 400

The request body or parameters failed validation.

{
  "error": "QL_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  },
  "details": [
    {
      "message": "string"
    }
  ]
}

Response 401

The request is missing valid authentication credentials.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 403

The authenticated user is not allowed to access this resource.

{
  "error": "AUTHENTICATION_ERROR",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 404

The requested API key could not be found.

{
  "error": "EMPTY_RESPONSE",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}

Response 405

The request method is not supported.

{
  "error": "UNSUPPORTED_METHOD",
  "message": "string",
  "context": {
    "path": "string",
    "method": "string",
    "requestId": "string"
  }
}