PublishDrive
Api

List books

GET
/books
apikey<token>

In: header

Query Parameters

page?integer
Default1
Range1 <= value
perPage?integer
Default50
Range1 <= value <= 100
sort?string
Default"createdAt"
Value in"createdAt" | "title" | "productIdentifier"
format?string
Value in"ebook" | "print" | "audio"
language?string

Response Body

application/json

application/json

application/json

curl -X GET "https://api.publishdrive.com/v2/distribution/books?page=1&perPage=50&sort=createdAt&format=ebook&language=en"

{
  "data": [
    {
      "id": "e9e0d212-52cb-11f1-8d0d-aedf0546306a",
      "type": "book",
      "attributes": {
        "externalId": "ext-001",
        "format": "ebook",
        "title": "Sample Ebook",
        "subtitle": null,
        "seriesTitle": null,
        "seriesNumber": null,
        "productIdentifier": null,
        "productIdentifierType": null,
        "authors": [
          "Jane Doe"
        ],
        "language": [
          "EN"
        ],
        "status": "draft",
        "createdAt": "2026-01-01T12:00:00Z",
        "updatedAt": "2026-01-02T12:00:00Z"
      }
    },
    {
      "id": "e9e0d5a0-52cb-11f1-8d0d-aedf0546306a",
      "type": "book",
      "attributes": {
        "externalId": null,
        "format": "audio",
        "title": "Sample Audiobook",
        "subtitle": null,
        "seriesTitle": null,
        "seriesNumber": null,
        "productIdentifier": null,
        "productIdentifierType": null,
        "authors": [
          "Jane Doe"
        ],
        "language": [
          "EN"
        ],
        "status": "draft",
        "createdAt": "2026-01-01T12:00:00Z",
        "updatedAt": "2026-01-02T12:00:00Z"
      }
    }
  ],
  "meta": {
    "total": 2,
    "page": 1,
    "perPage": 20,
    "lastPage": 1
  },
  "links": {
    "self": "https://api.example.com/v2/distribution/books?page=1",
    "next": null,
    "prev": null
  }
}

{
  "title": "Server Request message failed validation",
  "status": 400,
  "detail": "Parameter perPage has invalid value",
  "instance": "/v2/distribution/books",
  "invalidParams": [
    {
      "name": "perPage",
      "reason": "Value 101 must be less or equal to 100"
    }
  ]
}
Empty
Empty

On this page