Publication Collections
6/v1/collectionsList all Publication Collections.curl -X GET "https://api.cirrusreader.com/v1/collections" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"Response Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
items | object[] | Any | Yes |
context | object | Any | Yes |
Response 200
Fetch of Publication Collections successful.
{
"items": [
{
"id": "string",
"name": "string",
"description": "string",
"publicationCount": 1
}
],
"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"
}
}/v1/collectionsCreate a new Publication Collection.Request Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
name | string | Any | Yes |
description | string | Any | No |
curl -X POST "https://api.cirrusreader.com/v1/collections" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "string"
}'Request Body
application/json
{
"name": "string"
}Response Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
item | object | Any | Yes |
context | object | Any | Yes |
Response 201
The Publiction Collection was created successfully.
{
"item": {
"id": "string",
"name": "string",
"description": "string",
"publicationCount": 1
},
"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"
}
}/v1/collections/{id}Retrieve a single Publication Collection by ID.Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Path parameter. | Yes |
curl -X GET "https://api.cirrusreader.com/v1/collections/ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"Response Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
item | object | Any | Yes |
context | object | Any | Yes |
Response 200
The Publication Collection was returned successfully.
{
"item": {
"id": "string",
"name": "string",
"description": "string",
"publicationCount": 1
},
"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"
}
}/v1/collections/{id}Update the name, or description of an Publication Collection.Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Path parameter. | Yes |
Request Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
name | string | Any | Yes |
description | string | Any | No |
curl -X PATCH "https://api.cirrusreader.com/v1/collections/ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "string"
}'Request Body
application/json
{
"name": "string"
}Response Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
item | object | Any | Yes |
context | object | Any | Yes |
Response 200
The Publication Collection was updated successfully.
{
"item": {
"id": "string",
"name": "string",
"description": "string",
"publicationCount": 1
},
"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"
}
}/v1/collections/{id}Delete a Publication Collection by ID.Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Path parameter. | Yes |
curl -X DELETE "https://api.cirrusreader.com/v1/collections/ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"Response Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
item | object | Any | Yes |
context | object | Any | Yes |
Response 200
ThePublication Collection was deleted successfully.
{
"item": {
"id": "string",
"name": "string",
"description": "string",
"publicationCount": 1
},
"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"
}
}/v1/collections/bulkPerform a batch operation for Publication Collections.Request Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
operation | "setPublicationCollections" | setPublicationCollections | Yes |
params | object | Any | Yes |
curl -X POST "https://api.cirrusreader.com/v1/collections/bulk" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"operation": "setPublicationCollections",
"params": {
"publicationIds": [
"string"
],
"collectionIds": [
"string"
]
}
}'Request Body
application/json
{
"operation": "setPublicationCollections",
"params": {
"publicationIds": [
"string"
],
"collectionIds": [
"string"
]
}
}Response Body Fields
| Name | Type | Options | Required |
|---|---|---|---|
status | enum | okfail | Yes |
context | object | Any | Yes |
Response 201
The batch operation completed successfully.
{
"status": "ok",
"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 405
The request method is not supported.
{
"error": "UNSUPPORTED_METHOD",
"message": "string",
"context": {
"path": "string",
"method": "string",
"requestId": "string"
}
}