> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a book by identifier.

> Returns details, parent-portfolio information, and entitled-user information only when the current user can
view the book. This is a read-only lookup. HTTP 200 has a null body when the identifier is unavailable to
the caller.



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json get /api/Books/{id}
openapi: 3.0.4
info:
  title: Derivitec Api 1.0
  version: '1.0'
servers:
  - url: https://api.riskportal.activeviam.com
security:
  - oauth2: []
  - apikey: []
tags:
  - name: AdminUser
  - name: AtotiReport
  - name: AtotiSession
  - name: BloombergOAuth
  - name: Bond
  - name: BondYieldCurvePage
  - name: BookAccess
  - name: Books
  - name: Commodity
  - name: Counterparties
  - name: Currencies
  - name: Equity
  - name: EquityDividend
  - name: EquityPage
  - name: FeatureFlag
  - name: Fx
  - name: FxPage
  - name: GroupAccess
  - name: Home
  - name: LegacyPosition
  - name: MarketData
  - name: MarketDataProvider
  - name: MarketDataProviderAccess
  - name: Meta
  - name: Notification
  - name: Organisation
  - name: PnLReport
  - name: PortfolioAccess
  - name: Portfolios
  - name: Position
  - name: PositionFilter
  - name: PricingEnvironment
  - name: PricingEnvironmentAccess
  - name: RateAsset
  - name: RateAssetPage
  - name: Report
  - name: ReportDefinition
  - name: ReportHistoryLauncherQuery
  - name: ReportLauncher
  - name: ReportQuery
  - name: ReportQueryViewUser
  - name: ReportRestriction
  - name: ReportView
  - name: RiskReport
  - name: Tradable
  - name: TradeBooking
  - name: User
  - name: VarReport
  - name: VarReportQuery
  - name: YieldCurvePage
paths:
  /api/Books/{id}:
    get:
      tags:
        - Books
      summary: Retrieve a book by identifier.
      description: >-
        Returns details, parent-portfolio information, and entitled-user
        information only when the current user can

        view the book. This is a read-only lookup. HTTP 200 has a null body when
        the identifier is unavailable to

        the caller.
      operationId: GetBook
      parameters:
        - name: id
          in: path
          description: >-
            Required signed 32-bit Risk Portal book identifier constrained by
            the `{id:int}` route; no positive-range check is declared. For
            example, `42`.
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: >-
            Returns the accessible book details, or a null body when the
            identifier is unavailable to the caller.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookViewModel'
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    BookViewModel:
      required:
        - $type
        - description
        - id
        - name
        - status
      type: object
      properties:
        access_type_id:
          enum:
            - not_set
            - view
            - edit
            - owner
          type: string
          description: Access level for this book in the current view.
        description:
          maxLength: 255
          minLength: 5
          type: string
          description: Book description.
        id:
          type: integer
          description: Book identifier.
          format: int32
        name:
          maxLength: 100
          minLength: 3
          type: string
          description: Book display name.
        number_of_parent_portfolios:
          type: integer
          description: Number of parent portfolios linked to this book.
          format: int32
        parent_portfolios:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/PortfolioInfoViewModel'
          description: Parent portfolios linked to this book.
          nullable: true
          readOnly: true
        entitled_users:
          type: array
          items:
            $ref: '#/components/schemas/BookUserAccessViewModel'
          description: Users with recorded access to this book.
          nullable: true
          readOnly: true
        status:
          enum:
            - not_set
            - active
            - inactive
          type: string
          description: Lifecycle status of this book.
        $type:
          type: string
          enum:
            - Derivitec.Web.Models.Book.BookViewModel, Derivitec.Web.Models
      additionalProperties: false
      description: Detailed book view including related portfolios and entitled users.
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: false
    PortfolioInfoViewModel:
      required:
        - $type
        - id
        - name
        - status
      type: object
      properties:
        access_type_id:
          enum:
            - not_set
            - view
            - edit
            - owner
          type: string
          description: Access level for this portfolio in the current view.
        description:
          maxLength: 255
          minLength: 5
          type: string
          description: Portfolio description.
          nullable: true
        id:
          type: integer
          description: Portfolio identifier.
          format: int32
          example: 1001
        is_checked:
          type: boolean
          description: Whether this portfolio is marked as checked in the current view.
          example: true
        is_disabled:
          type: boolean
          description: Whether this portfolio is disabled in the current view.
          example: true
        name:
          maxLength: 100
          minLength: 3
          type: string
          description: Portfolio display name.
        number_of_books:
          type: integer
          description: Number of books linked to this portfolio.
          format: int32
          example: 0
        number_of_child_portfolios:
          type: integer
          description: Number of child portfolios linked to this portfolio.
          format: int32
          example: 0
        number_of_parent_portfolios:
          type: integer
          description: Number of parent portfolios linked to this portfolio.
          format: int32
          example: 0
        portfolio_type:
          enum:
            - derivitec
            - enfusion
            - orchestrade
            - liquidity_book
            - maia
            - fund_studio
            - not_set
          type: string
          description: >-
            Portfolio classification; the model initializes it to its declared
            default.
        status:
          enum:
            - not_set
            - active
            - inactive
          type: string
          description: Lifecycle status of this portfolio.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Models.Portfolio.PortfolioInfoViewModel,
              Derivitec.Web.Models
      additionalProperties: false
      description: Basic portfolio information.
    BookUserAccessViewModel:
      required:
        - $type
      type: object
      properties:
        access_created_by:
          type: string
          description: User reference recorded when the book access was created.
          nullable: true
        access_created_date:
          type: string
          description: Recorded book-access creation date, or null when unavailable.
          format: date-time
          nullable: true
        access_modified_by:
          type: string
          description: User reference recorded when the book access was last modified.
          nullable: true
        access_modified_date:
          type: string
          description: Recorded book-access modification date, or null when unavailable.
          format: date-time
          nullable: true
        access_type_description:
          type: string
          description: Display description of the access level.
          nullable: true
        access_type_id:
          enum:
            - not_set
            - view
            - edit
            - owner
          type: string
          description: Access level assigned to the user for this book.
        access_type_name:
          type: string
          description: Display name of the access level.
          nullable: true
        access_user_email:
          type: string
          description: Email address recorded for the access user.
          nullable: true
        access_user_first_name:
          type: string
          description: Given name recorded for the access user.
          nullable: true
        access_user_id:
          type: string
          description: Identifier of the user with this book access.
          nullable: true
        access_user_last_name:
          type: string
          description: Family name recorded for the access user.
          nullable: true
        access_user_full_name:
          type: string
          description: Display name of the access user.
          nullable: true
          readOnly: true
        access_user_name:
          type: string
          description: User name recorded for the access user.
          nullable: true
        access_version:
          type: integer
          description: Recorded version of the book-access entry.
          format: int32
        description:
          type: string
          description: Book description.
          nullable: true
        id:
          type: integer
          description: Book identifier.
          format: int32
        name:
          type: string
          description: Book display name.
          nullable: true
        number_of_parent_portfolios:
          type: integer
          description: Number of parent portfolios linked to the book.
          format: int32
        status_description:
          type: string
          description: Display description of the book lifecycle status.
          nullable: true
        status_id:
          enum:
            - not_set
            - active
            - inactive
          type: string
          description: Lifecycle status of the book.
        status_name:
          type: string
          description: Display name of the book lifecycle status.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Models.Book.BookUserAccessViewModel,
              Derivitec.Web.Models
      additionalProperties: false
      description: Book information together with a user's recorded access details.
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        OAuth2 access-token requested from AWS Cognito and provided as a Auth
        Bearer header
      flows:
        implicit:
          authorizationUrl: https://auth.riskportal.derivitec.com/oauth2/authorize
          scopes: {}
    apikey:
      type: apiKey
      description: API-Key requested via the site and provided as a header
      name: x-api-key
      in: header

````