SAP Ariba Procurement API

Enables integration with procurement processes including requisitions, purchase orders, invoices, suppliers, and receipts across the SAP Business Network.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

sap-ariba-procurement-api.yml Raw ↑
openapi: 3.1.0
info:
  title: SAP Ariba Procurement API
  description: >-
    Enables integration with SAP Ariba procurement processes including purchase
    orders, invoices, requisitions, receipts, and supplier management across
    the SAP Business Network. This API supports the complete
    procure-to-pay lifecycle from requisition creation through invoice
    reconciliation and payment processing.
  version: 1.0.0
  contact:
    name: SAP Ariba API Support
    url: https://developer.ariba.com
    email: [email protected]
  license:
    name: SAP Developer License
    url: https://www.sap.com/about/legal/developer-license.html
  termsOfService: https://www.ariba.com/legal/terms-of-use
  x-sap-api-type: REST
  x-sap-shortText: Procurement API for purchase orders, invoices, and suppliers
  x-sap-stateInfo:
    state: Active
  x-documentation:
  - url: https://help.sap.com/docs/ariba-apis
    description: SAP Help Portal - Ariba APIs
  - url: https://api.sap.com/package/SAPAribaOpenAPIs/rest
    description: SAP Business Accelerator Hub
  - url: >-
      https://help.sap.com/docs/ariba-apis/operational-reporting-api-for-procurement/operational-reporting-api-for-procurement
    description: Operational Reporting API for Procurement
servers:
- url: https://openapi.ariba.com/api/procurement/v1
  description: SAP Ariba Production API Server
- url: https://sandbox.ariba.com/api/procurement/v1
  description: SAP Ariba Sandbox API Server
security:
- oauth2: []
tags:
- name: Purchase Orders
  description: >-
    Create, retrieve, update, and manage purchase orders across the SAP Ariba
    Network. Supports standard and service purchase orders including new,
    change, cancel, and close operations.
- name: Purchase Order Line Items
  description: >-
    Manage individual line items within purchase orders including quantities,
    pricing, delivery schedules, and accounting assignments.
- name: Invoices
  description: >-
    Process and manage invoices including creation, approval workflows, status
    tracking, and payment reconciliation.
- name: Suppliers
  description: >-
    Access and manage supplier profiles, onboarding, qualifications,
    performance, and risk assessments on the SAP Ariba Network.
- name: Requisitions
  description: >-
    Create and manage purchase requisitions that initiate the procurement
    process and flow into purchase orders upon approval.
- name: Receipts
  description: >-
    Record goods receipts and service confirmations against purchase orders to
    support three-way matching.
paths:
  /orders:
    get:
      operationId: listPurchaseOrders
      summary: List Purchase Orders
      description: >-
        Retrieves a paginated list of purchase order headers matching the
        specified filter criteria. Supports filtering by buyer, supplier, date
        range, status, and other order attributes. Results are returned with
        pagination support using skip and limit parameters.
      tags:
      - Purchase Orders
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/LimitParam'
      - name: filter
        in: query
        description: >-
          OData-style filter expression to narrow results. Supports operators
          eq, ne, gt, lt, ge, le with the case-sensitive 'and' operator.
          Example: orderDate ge '2025-01-01' and status eq 'Ordered'
        required: false
        schema:
          type: string
      - name: orderBy
        in: query
        description: Field name to sort results by, with optional asc or desc direction
        required: false
        schema:
          type: string
      - name: supplierId
        in: query
        description: Filter by supplier AN-ID on the SAP Ariba Network
        required: false
        schema:
          type: string
      - name: buyerId
        in: query
        description: Filter by buyer AN-ID on the SAP Ariba Network
        required: false
        schema:
          type: string
      - name: status
        in: query
        description: Filter by purchase order status
        required: false
        schema:
          $ref: '#/components/schemas/PurchaseOrderStatus'
      - name: fromDate
        in: query
        description: >-
          Filter orders created on or after this date (ISO 8601 format
          YYYY-MM-DD)
        required: false
        schema:
          type: string
          format: date
      - name: toDate
        in: query
        description: >-
          Filter orders created on or before this date (ISO 8601 format
          YYYY-MM-DD)
        required: false
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Successfully retrieved list of purchase orders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPurchaseOrder
      summary: Create a Purchase Order
      description: >-
        Creates a new purchase order in the SAP Ariba system. The order must
        include header information, at least one line item, supplier details,
        and shipping address. Upon successful creation, the purchase order is
        transmitted through the Ariba Network to the designated supplier.
      tags:
      - Purchase Orders
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderCreate'
      responses:
        '201':
          description: Purchase order created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
          headers:
            Location:
              description: URI of the newly created purchase order
              schema:
                type: string
                format: uri
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          description: Conflict - duplicate order number or business rule violation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable entity - validation error in order data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orders/{orderId}:
    get:
      operationId: getPurchaseOrder
      summary: Get a Purchase Order
      description: >-
        Retrieves the complete details of a specific purchase order including
        header information, all line items, accounting assignments, shipping
        addresses, and current status. The orderId corresponds to the unique
        purchase order identifier (UniqueName) in SAP Ariba.
      tags:
      - Purchase Orders
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/OrderIdParam'
      responses:
        '200':
          description: Successfully retrieved purchase order details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updatePurchaseOrder
      summary: Update a Purchase Order
      description: >-
        Updates an existing purchase order with change request information.
        Supports modifications to line items, quantities, prices, delivery
        dates, and shipping addresses. Creates a new version of the purchase
        order and increments the version number. Change requests are transmitted
        to the supplier through the Ariba Network.
      tags:
      - Purchase Orders
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/OrderIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderUpdate'
      responses:
        '200':
          description: Purchase order updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Conflict - order is in a state that does not allow modification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable entity - validation error in update data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orders/{orderId}/cancel:
    post:
      operationId: cancelPurchaseOrder
      summary: Cancel a Purchase Order
      description: >-
        Cancels an existing purchase order and notifies the supplier through the
        Ariba Network. Only orders in Ordered or Confirmed status can be
        cancelled. Cancellation creates a new version with cancelled status.
      tags:
      - Purchase Orders
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/OrderIdParam'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  description: Reason for cancellation
                  maxLength: 1000
      responses:
        '200':
          description: Purchase order cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: >-
            Conflict - order cannot be cancelled in its current state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orders/{orderId}/lineItems:
    get:
      operationId: listPurchaseOrderLineItems
      summary: List Line Items for a Purchase Order
      description: >-
        Retrieves all line items associated with a specific purchase order
        including item details, quantities, pricing, delivery schedules,
        commodity codes, and accounting assignments.
      tags:
      - Purchase Order Line Items
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/OrderIdParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Successfully retrieved line items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orders/{orderId}/lineItems/{lineItemNumber}:
    get:
      operationId: getPurchaseOrderLineItem
      summary: Get a Specific Line Item
      description: >-
        Retrieves details for a specific line item within a purchase order
        identified by its line number (NumberOnPO).
      tags:
      - Purchase Order Line Items
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/OrderIdParam'
      - name: lineItemNumber
        in: path
        description: >-
          The line item number within the purchase order (NumberOnPO)
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved line item details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderLineItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /invoices:
    get:
      operationId: listInvoices
      summary: List Invoices
      description: >-
        Retrieves a paginated list of invoices. Supports filtering by supplier,
        buyer, purchase order reference, date range, status, and payment status.
      tags:
      - Invoices
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/LimitParam'
      - name: filter
        in: query
        description: OData-style filter expression
        required: false
        schema:
          type: string
      - name: supplierId
        in: query
        description: Filter by supplier AN-ID
        required: false
        schema:
          type: string
      - name: buyerId
        in: query
        description: Filter by buyer AN-ID
        required: false
        schema:
          type: string
      - name: status
        in: query
        description: Filter by invoice processing status
        required: false
        schema:
          $ref: '#/components/schemas/InvoiceStatus'
      - name: purchaseOrderId
        in: query
        description: Filter invoices referencing a specific purchase order
        required: false
        schema:
          type: string
      - name: fromDate
        in: query
        description: Filter invoices created on or after this date
        required: false
        schema:
          type: string
          format: date
      - name: toDate
        in: query
        description: Filter invoices created on or before this date
        required: false
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Successfully retrieved list of invoices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createInvoice
      summary: Create an Invoice
      description: >-
        Creates a new invoice in the SAP Ariba system. The invoice must
        reference a purchase order and include line item details, amounts, tax
        information, and supplier banking details for payment processing.
      tags:
      - Invoices
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceCreate'
      responses:
        '201':
          description: Invoice created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
          headers:
            Location:
              description: URI of the newly created invoice
              schema:
                type: string
                format: uri
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          description: Conflict - duplicate invoice number
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable entity - validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /invoices/{invoiceId}:
    get:
      operationId: getInvoice
      summary: Get an Invoice
      description: >-
        Retrieves the complete details of a specific invoice including header
        information, line items, tax details, payment terms, and approval
        status.
      tags:
      - Invoices
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - name: invoiceId
        in: path
        description: Unique identifier for the invoice
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved invoice details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /invoices/{invoiceId}/approve:
    post:
      operationId: approveInvoice
      summary: Approve an Invoice
      description: >-
        Approves an invoice for payment processing. The invoice must be in
        Pending Approval status. Triggers downstream payment workflows.
      tags:
      - Invoices
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - name: invoiceId
        in: path
        description: Unique identifier for the invoice
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                comment:
                  type: string
                  description: Optional approval comment
                  maxLength: 2000
      responses:
        '200':
          description: Invoice approved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Conflict - invoice not in approvable state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /invoices/{invoiceId}/reject:
    post:
      operationId: rejectInvoice
      summary: Reject an Invoice
      description: >-
        Rejects an invoice and returns it to the supplier with a reason for
        rejection. The supplier is notified through the Ariba Network.
      tags:
      - Invoices
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - name: invoiceId
        in: path
        description: Unique identifier for the invoice
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - reason
              properties:
                reason:
                  type: string
                  description: Reason for rejection
                  maxLength: 2000
      responses:
        '200':
          description: Invoice rejected successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Conflict - invoice not in rejectable state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /suppliers:
    get:
      operationId: listSuppliers
      summary: List Suppliers
      description: >-
        Retrieves a paginated list of supplier profiles from the SAP Ariba
        Network. Supports filtering by supplier name, AN-ID, qualification
        status, commodity codes, and location.
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/LimitParam'
      - name: filter
        in: query
        description: OData-style filter expression
        required: false
        schema:
          type: string
      - name: name
        in: query
        description: Search suppliers by name (partial match supported)
        required: false
        schema:
          type: string
      - name: qualificationStatus
        in: query
        description: Filter by supplier qualification status
        required: false
        schema:
          $ref: '#/components/schemas/SupplierQualificationStatus'
      - name: commodityCode
        in: query
        description: Filter by UNSPSC commodity code
        required: false
        schema:
          type: string
      - name: country
        in: query
        description: Filter by supplier country (ISO 3166-1 alpha-2)
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved list of suppliers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /suppliers/{supplierId}:
    get:
      operationId: getSupplier
      summary: Get a Supplier Profile
      description: >-
        Retrieves the complete profile details of a specific supplier including
        company information, contact details, addresses, certifications,
        commodity classifications, and qualification status.
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - name: supplierId
        in: path
        description: >-
          Supplier AN-ID (Ariba Network ID) or internal supplier identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved supplier profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Supplier'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /requisitions:
    get:
      operationId: listRequisitions
      summary: List Requisitions
      description: >-
        Retrieves a paginated list of purchase requisitions. Requisitions are
        the starting point of the procurement process and flow into purchase
        orders upon approval.
      tags:
      - Requisitions
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/LimitParam'
      - name: filter
        in: query
        description: OData-style filter expression
        required: false
        schema:
          type: string
      - name: status
        in: query
        description: Filter by requisition status
        required: false
        schema:
          $ref: '#/components/schemas/RequisitionStatus'
      - name: requestor
        in: query
        description: Filter by requestor user ID
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved list of requisitions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisitionListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createRequisition
      summary: Create a Requisition
      description: >-
        Creates a new purchase requisition. The requisition enters the
        approval workflow and upon approval generates one or more purchase
        orders.
      tags:
      - Requisitions
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequisitionCreate'
      responses:
        '201':
          description: Requisition created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Requisition'
          headers:
            Location:
              description: URI of the newly created requisition
              schema:
                type: string
                format: uri
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '422':
          description: Unprocessable entity - validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /requisitions/{requisitionId}:
    get:
      operationId: getRequisition
      summary: Get a Requisition
      description: >-
        Retrieves the complete details of a specific purchase requisition
        including line items, approval status, and linked purchase orders.
      tags:
      - Requisitions
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - name: requisitionId
        in: path
        description: Unique identifier for the requisition
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved requisition details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Requisition'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orders/{orderId}/receipts:
    get:
      operationId: listReceipts
      summary: List Receipts for a Purchase Order
      description: >-
        Retrieves goods receipts and service confirmations recorded against
        a specific purchase order to support three-way matching.
      tags:
      - Receipts
      parameters:
      - $ref: '#/components/parameters/RealmParam'
      - $ref: '#/components/parameters/OrderIdParam'
      - $ref: '#/components/parameters/SkipParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Successfully retrieved receipts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createReceipt
      summary: Create a Receipt
      description: >-
        Records a goods receipt or service confirmation a

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sap-ariba/refs/heads/main/openapi/sap-ariba-procurement-api.yml