Google Books Users API

The Users API from Google Books — 3 operation(s) for users.

OpenAPI Specification

google-books-users-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Books Mylibrary Users API
  description: The Google Books API allows you to perform full-text searches and retrieve book information, viewability, and eBook availability. You can also manage personal bookshelves, access volume metadata, and work with user library data.
  version: v1
  contact:
    name: Google
    url: https://developers.google.com/books
servers:
- url: https://www.googleapis.com/books/v1
security:
- oauth2: []
- apiKey: []
tags:
- name: Users
paths:
  /users/{userId}/bookshelves:
    get:
      operationId: listBookshelves
      summary: List bookshelves
      description: Retrieves a list of public bookshelves for the specified user.
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookshelfListResponse'
      tags:
      - Users
  /users/{userId}/bookshelves/{shelf}:
    get:
      operationId: getBookshelf
      summary: Get a bookshelf
      description: Retrieves metadata for a specific bookshelf for the specified user.
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - name: shelf
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bookshelf'
      tags:
      - Users
  /users/{userId}/bookshelves/{shelf}/volumes:
    get:
      operationId: listBookshelfVolumes
      summary: List volumes in a bookshelf
      description: Retrieves volumes in a specific bookshelf for the specified user.
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      - name: shelf
        in: path
        required: true
        schema:
          type: string
      - name: maxResults
        in: query
        schema:
          type: integer
      - name: startIndex
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeListResponse'
      tags:
      - Users
components:
  schemas:
    BookshelfListResponse:
      type: object
      properties:
        kind:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/Bookshelf'
    VolumeListResponse:
      type: object
      properties:
        kind:
          type: string
        totalItems:
          type: integer
        items:
          type: array
          items:
            $ref: '#/components/schemas/Volume'
    Bookshelf:
      type: object
      properties:
        kind:
          type: string
          const: books#bookshelf
        id:
          type: integer
        selfLink:
          type: string
          format: uri
        title:
          type: string
        access:
          type: string
          enum:
          - PRIVATE
          - PUBLIC
        updated:
          type: string
          format: date-time
        volumeCount:
          type: integer
    Volume:
      type: object
      properties:
        kind:
          type: string
          const: books#volume
        id:
          type: string
        etag:
          type: string
        selfLink:
          type: string
          format: uri
        volumeInfo:
          type: object
          properties:
            title:
              type: string
            subtitle:
              type: string
            authors:
              type: array
              items:
                type: string
            publisher:
              type: string
            publishedDate:
              type: string
            description:
              type: string
            industryIdentifiers:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - ISBN_10
                    - ISBN_13
                    - ISSN
                    - OTHER
                  identifier:
                    type: string
            pageCount:
              type: integer
            categories:
              type: array
              items:
                type: string
            averageRating:
              type: number
            ratingsCount:
              type: integer
            imageLinks:
              type: object
              properties:
                smallThumbnail:
                  type: string
                  format: uri
                thumbnail:
                  type: string
                  format: uri
            language:
              type: string
            previewLink:
              type: string
              format: uri
            infoLink:
              type: string
              format: uri
        saleInfo:
          type: object
          properties:
            country:
              type: string
            saleability:
              type: string
              enum:
              - FOR_SALE
              - FREE
              - NOT_FOR_SALE
              - FOR_PREORDER
            isEbook:
              type: boolean
            listPrice:
              type: object
              properties:
                amount:
                  type: number
                currencyCode:
                  type: string
        accessInfo:
          type: object
          properties:
            country:
              type: string
            viewability:
              type: string
              enum:
              - PARTIAL
              - ALL_PAGES
              - NO_PAGES
              - UNKNOWN
            embeddable:
              type: boolean
            publicDomain:
              type: boolean
            epub:
              type: object
              properties:
                isAvailable:
                  type: boolean
            pdf:
              type: object
              properties:
                isAvailable:
                  type: boolean
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/books: Manage your books
    apiKey:
      type: apiKey
      in: query
      name: key