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

# Reserve resources



## OpenAPI

````yaml POST /inventory/pools/{poolId}/reserve
openapi: 3.1.0
info:
  title: Wave Lines API
  version: 1.0.0
servers: []
security:
  - client_id: []
    secret_key: []
tags:
  - name: lines
    description: Line lifecycle operations
  - name: payments
    description: Payment listing and lookup
  - name: tax-receipts
    description: Tax receipt listing, lookup and document download
  - name: subscriptions
    description: Subscription lookup, product management and invoices
  - name: holders
    description: Holder (customer) listing, lookup and creation
  - name: usage
    description: 'Usage: per-product line balance and consumption'
  - name: Portability
    description: >-
      Number portability: port-in request creation, listing, modification and
      cancellation, plus the consolidated portability status
  - name: Inventory
    description: >-
      Inventory resource pools: pool listing, the resources held in a pool and
      resource reservations
  - name: Catalog
    description: Catalog offers exposed by the Wave Catalog API
paths:
  /inventory/pools/{poolId}/reserve:
    post:
      tags:
        - Inventory
      summary: Reserve resources from a pool
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: poolId
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                count:
                  type: integer
                  exclusiveMinimum: 0
                  maximum: 5
                  description: How many resources to reserve in a single batch (1-5).
                attributes:
                  type: object
                  additionalProperties:
                    type:
                      - string
                      - number
                      - 'null'
                  description: >-
                    Restricts the reservation to resources matching these
                    attributes exactly.
              required:
                - count
              additionalProperties: false
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  resources:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        status:
                          type: string
                          enum:
                            - available
                            - reserved
                            - active
                            - suspended
                            - quarantined
                            - decommissioned
                        brokerId:
                          type: string
                        typeId:
                          type: string
                        externalCode:
                          type: string
                        location:
                          type: string
                        poolId:
                          type: string
                        metadata:
                          anyOf:
                            - type: object
                              additionalProperties:
                                type:
                                  - 'null'
                                  - string
                                  - number
                            - type: 'null'
                        attributes:
                          type: object
                          additionalProperties:
                            type:
                              - 'null'
                              - string
                              - number
                        reservationTTL:
                          type: integer
                          minimum: 0
                        reservationId:
                          type: string
                        reservedAt:
                          type: string
                        quarantineTTL:
                          type: integer
                          minimum: 0
                        quarantinedAt:
                          type: string
                        associatedResourceIds:
                          type: array
                          items:
                            type: string
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                      required:
                        - id
                        - status
                        - brokerId
                        - typeId
                        - metadata
                        - attributes
                        - reservationTTL
                        - associatedResourceIds
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  reservationId:
                    type:
                      - 'null'
                      - string
                required:
                  - resources
                  - reservationId
                additionalProperties: false
components:
  securitySchemes:
    client_id:
      type: apiKey
      in: header
      name: client_id
    secret_key:
      type: apiKey
      in: header
      name: secret_key

````