Ariba Guided Buying - Asset Management API

The Asset Management API enables developers to retrieve purchase requisitions consisting of asset items and update asset data on those requisitions. This API is applicable for SAP ERP-integrated sites that have enabled the asset management feature.

OpenAPI Specification

ariba-guided-buying-asset-management-api.yaml Raw ↑
openapi: 3.0.3
info:
  title: Ariba Guided Buying - Asset Management API
  description: >-
    The Asset Management API enables developers to construct API queries that
    import asset records into the SAP Ariba solution and assign unique values to
    asset line items on requisitions. This API is applicable for SAP
    ERP-integrated sites that have enabled the asset management feature.
  version: 2026-02
  contact:
    name: SAP Ariba Developer Support
    url: https://developer.ariba.com
  x-generated-from: documentation
  x-last-validated: '2026-04-19'
servers:
  - url: https://openapi.ariba.com/api/asset-management/v1/prod
    description: Production environment
  - url: https://openapi.ariba.com/api/asset-management/v1/sandbox
    description: Sandbox environment
security:
  - OAuth2: []
tags:
  - name: Requisitions
    description: Asset requisition retrieval and update operations
paths:
  /requisitions:
    get:
      operationId: listAssetRequisitions
      summary: Ariba Guided Buying List Asset Requisitions
      description: >-
        Get requisitions consisting of asset line items that are in the In
        Progress state in the Asset Workbench in the buying solution. Requisitions
        move to this state after asset managers finish their approval.
      tags:
        - Requisitions
      parameters:
        - name: realm
          in: query
          required: true
          description: The SAP Ariba realm name identifying your site.
          schema:
            type: string
          example: mycompany-T
        - name: $filter
          in: query
          required: false
          description: >-
            Filter asset-based requisitions by attributes. Example:
            {TimeCreated eq 2018-09-26T09:00:00Z;TimeUpdated eq
            2018-09-27T09:00:00Z}
          schema:
            type: string
          example: '{TimeCreated eq 2026-01-01T00:00:00Z}'
        - name: $count
          in: query
          required: false
          description: Include total count in response when set to true.
          schema:
            type: boolean
          example: true
        - name: $skip
          in: query
          required: false
          description: Number of records to skip for pagination.
          schema:
            type: integer
          example: 0
      responses:
        '200':
          description: Successfully retrieved asset requisitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisitionsResponse'
              examples:
                listAssetRequisitions200Example:
                  summary: Default listAssetRequisitions 200 response
                  x-microcks-default: true
                  value:
                    count: 1
                    requisitions:
                      - id: REQ-500123
                        title: Office Equipment Purchase
                        status: InProgress
                        createdDate: '2026-01-15T09:00:00Z'
                        updatedDate: '2026-01-16T10:00:00Z'
                        lineItems:
                          - lineItemId: LINE-001
                            description: Laptop Computer
                            assetCategory: IT Equipment
                            quantity: 1
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden - insufficient permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '504':
          description: Gateway Timeout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /requisitions/$count:
    get:
      operationId: countAssetRequisitions
      summary: Ariba Guided Buying Count Asset Requisitions
      description: >-
        Get the total count of requisitions consisting of asset line items in
        the buying solution.
      tags:
        - Requisitions
      parameters:
        - name: realm
          in: query
          required: true
          description: The SAP Ariba realm name identifying your site.
          schema:
            type: string
          example: mycompany-T
      responses:
        '200':
          description: Successfully retrieved count of asset requisitions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountResponse'
              examples:
                countAssetRequisitions200Example:
                  summary: Default countAssetRequisitions 200 response
                  x-microcks-default: true
                  value:
                    count: 42
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /requisitions/batch/assets:
    post:
      operationId: updateAssetLineItems
      summary: Ariba Guided Buying Update Asset Line Items on Requisitions
      description: >-
        Update the Asset field for asset items on requisitions with unique asset
        values. The requisitions in which all asset items are assigned with
        unique asset values move under the Completed tab in the Asset Workbench
        and purchase orders are created after those requisitions are fully
        approved. Maximum 20 records per request.
      tags:
        - Requisitions
      parameters:
        - name: realm
          in: query
          required: true
          description: The SAP Ariba realm name identifying your site.
          schema:
            type: string
          example: mycompany-T
      requestBody:
        required: true
        description: Batch of asset line item updates.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchAssetUpdateRequest'
            examples:
              updateAssetLineItemsRequestExample:
                summary: Default updateAssetLineItems request
                x-microcks-default: true
                value:
                  updates:
                    - requisitionId: REQ-500123
                      lineItemId: LINE-001
                      assetNumber: ASSET-001234
      responses:
        '200':
          description: Successfully updated asset line items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchUpdateResponse'
              examples:
                updateAssetLineItems200Example:
                  summary: Default updateAssetLineItems 200 response
                  x-microcks-default: true
                  value:
                    processed: 1
                    succeeded: 1
                    failed: 0
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    OAuth2:
      type: oauth2
      description: >-
        OAuth 2.0 authentication. Obtain access token from
        https://api.ariba.com/v2/oauth/token using client credentials.
      flows:
        clientCredentials:
          tokenUrl: https://api.ariba.com/v2/oauth/token
          scopes: {}
  schemas:
    RequisitionsResponse:
      title: RequisitionsResponse
      description: Response containing a list of asset requisitions.
      type: object
      properties:
        count:
          type: integer
          description: Total count of requisitions.
          example: 1
        requisitions:
          type: array
          description: List of requisitions with asset line items.
          items:
            $ref: '#/components/schemas/Requisition'
    CountResponse:
      title: CountResponse
      description: Response containing count of asset requisitions.
      type: object
      properties:
        count:
          type: integer
          description: Total count of asset requisitions.
          example: 42
    BatchAssetUpdateRequest:
      title: BatchAssetUpdateRequest
      description: Request body for batch asset line item updates.
      type: object
      required:
        - updates
      properties:
        updates:
          type: array
          description: List of asset line item updates. Maximum 20 records.
          items:
            $ref: '#/components/schemas/AssetLineItemUpdate'
    AssetLineItemUpdate:
      title: AssetLineItemUpdate
      description: An individual asset line item update.
      type: object
      required:
        - requisitionId
        - lineItemId
        - assetNumber
      properties:
        requisitionId:
          type: string
          description: Requisition identifier.
          example: REQ-500123
        lineItemId:
          type: string
          description: Line item identifier within the requisition.
          example: LINE-001
        assetNumber:
          type: string
          description: Unique asset number assigned to this line item.
          example: ASSET-001234
    BatchUpdateResponse:
      title: BatchUpdateResponse
      description: Response for batch asset line item update.
      type: object
      properties:
        processed:
          type: integer
          description: Total number of records processed.
          example: 1
        succeeded:
          type: integer
          description: Number of records successfully updated.
          example: 1
        failed:
          type: integer
          description: Number of records that failed to update.
          example: 0
    Requisition:
      title: Requisition
      description: A purchase requisition with asset line items.
      type: object
      properties:
        id:
          type: string
          description: Requisition identifier.
          example: REQ-500123
        title:
          type: string
          description: Requisition title or description.
          example: Office Equipment Purchase
        status:
          type: string
          description: Current status of the requisition.
          example: InProgress
          enum:
            - InProgress
            - Completed
            - Approved
            - Pending
        createdDate:
          type: string
          format: date-time
          description: Date and time the requisition was created.
          example: '2026-01-15T09:00:00Z'
        updatedDate:
          type: string
          format: date-time
          description: Date and time the requisition was last updated.
          example: '2026-01-16T10:00:00Z'
        lineItems:
          type: array
          description: Line items in the requisition.
          items:
            $ref: '#/components/schemas/AssetLineItem'
    AssetLineItem:
      title: AssetLineItem
      description: An asset line item on a requisition.
      type: object
      properties:
        lineItemId:
          type: string
          description: Line item identifier.
          example: LINE-001
        description:
          type: string
          description: Line item description.
          example: Laptop Computer
        assetCategory:
          type: string
          description: Asset category classification.
          example: IT Equipment
        quantity:
          type: integer
          description: Quantity ordered.
          example: 1
        assetNumber:
          type: string
          description: Assigned asset number (populated after update).
          example: ASSET-001234
    ErrorResponse:
      title: ErrorResponse
      description: Error response.
      type: object
      properties:
        code:
          type: integer
          description: HTTP status code.
          example: 400
        message:
          type: string
          description: Error message.
          example: Bad Request