SAP Sales and Distribution (SD) Sales Order Item API

Operations on sales order item entity (A_SalesOrderItem)

Operations 4

GET /A_SalesOrder('{SalesOrder}')/to_Item Retrieve items for a sales order #
GET /A_SalesOrderItem(SalesOrder='{SalesOrder}',SalesOrderItem='{SalesOrderItem}') Retrieve a single sales order item #
PATCH /A_SalesOrderItem(SalesOrder='{SalesOrder}',SalesOrderItem='{SalesOrderItem}') Update a sales order item #
DELETE /A_SalesOrderItem(SalesOrder='{SalesOrder}',SalesOrderItem='{SalesOrderItem}') Delete a sales order item #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-sales-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-sales-order-item-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-structure/sap-sd-sales-order-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-business-partner-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-outbound-delivery-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-billing-document-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-structure/sap-sd-billing-document-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-pricing-condition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/sap-sales-and-distribution-sd/refs/heads/main/json-schema/sap-sd-customer-return-schema.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sap-sales-and-distribution-sd-sales-order-item-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sap-sales-and-distribution-sd-sales-order-item-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SAP Sales and Distribution (SD) SAP Sales Order Sales Order…
  description: Create, read, update, and delete sales orders in SAP S/4HANA. This OData service (API_SALES_ORDER_SRV) supports full CRUD operations on sales order headers, items, partners, pricing elements, schedule lines, billing plans, and text elements. Sales orders are created using deep insert requests that include header and related entity data in a single call.
  version: 1.0.0
  contact:
    name: SAP Support
    url: https://support.sap.com
  license:
    name: SAP Developer License
    url: https://www.sap.com/about/agreements/product-use-and-support-terms.html
  x-logo:
    url: https://www.sap.com/dam/application/shared/logos/sap-logo.svg
servers:
- url: https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_SALES_ORDER_SRV
  description: SAP S/4HANA Cloud Sandbox
- url: https://{host}:{port}/sap/opu/odata/sap/API_SALES_ORDER_SRV
  description: SAP S/4HANA On-Premise
  variables:
    host:
      default: localhost
      description: SAP S/4HANA server hostname
    port:
      default: '443'
      description: SAP S/4HANA server port
security:
- basicAuth: []
- oauth2: []
tags:
- name: Sales Order Item
  description: Operations on sales order item entity (A_SalesOrderItem)
paths:
  /A_SalesOrder('{SalesOrder}')/to_Item:
    get:
      operationId: listSalesOrderItems
      summary: Retrieve items for a sales order
      description: Returns a collection of line items for the specified sales order. Supports OData query options for filtering, sorting, and pagination.
      tags:
      - Sales Order Item
      parameters:
      - name: SalesOrder
        in: path
        required: true
        description: Sales order number
        schema:
          type: string
          maxLength: 10
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successfully retrieved sales order items
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    type: object
                    properties:
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/SalesOrderItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /A_SalesOrderItem(SalesOrder='{SalesOrder}',SalesOrderItem='{SalesOrderItem}'):
    get:
      operationId: getSalesOrderItem
      summary: Retrieve a single sales order item
      description: Returns a single sales order item by its composite key (SalesOrder and SalesOrderItem number).
      tags:
      - Sales Order Item
      parameters:
      - name: SalesOrder
        in: path
        required: true
        description: Sales order number
        schema:
          type: string
          maxLength: 10
      - name: SalesOrderItem
        in: path
        required: true
        description: Sales order item number (6 characters)
        schema:
          type: string
          maxLength: 6
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/expand'
      responses:
        '200':
          description: Successfully retrieved the sales order item
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    $ref: '#/components/schemas/SalesOrderItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    patch:
      operationId: updateSalesOrderItem
      summary: Update a sales order item
      description: Updates an existing sales order item. Only the fields included in the request body are updated.
      tags:
      - Sales Order Item
      parameters:
      - name: SalesOrder
        in: path
        required: true
        description: Sales order number
        schema:
          type: string
          maxLength: 10
      - name: SalesOrderItem
        in: path
        required: true
        description: Sales order item number
        schema:
          type: string
          maxLength: 6
      - $ref: '#/components/parameters/ifMatch'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderItemUpdate'
      responses:
        '204':
          description: Sales order item successfully updated
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      operationId: deleteSalesOrderItem
      summary: Delete a sales order item
      description: Deletes an existing sales order item from the specified sales order.
      tags:
      - Sales Order Item
      parameters:
      - name: SalesOrder
        in: path
        required: true
        description: Sales order number
        schema:
          type: string
          maxLength: 10
      - name: SalesOrderItem
        in: path
        required: true
        description: Sales order item number
        schema:
          type: string
          maxLength: 6
      - $ref: '#/components/parameters/ifMatch'
      responses:
        '204':
          description: Sales order item successfully deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    Unauthorized:
      description: Authentication required or credentials invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Requested resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters or payload
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    SalesOrderItem:
      type: object
      description: Sales order item entity (A_SalesOrderItem)
      properties:
        SalesOrder:
          type: string
          maxLength: 10
          description: Sales order number
        SalesOrderItem:
          type: string
          maxLength: 6
          description: Sales order item number
        SalesOrderItemCategory:
          type: string
          maxLength: 4
          description: Sales document item category
        SalesOrderItemText:
          type: string
          maxLength: 40
          description: Short text for the sales order item
        Material:
          type: string
          maxLength: 40
          description: Material number
        MaterialByCustomer:
          type: string
          maxLength: 35
          description: Material number used by customer
        PricingDate:
          type: string
          format: date
          description: Pricing date
        RequestedQuantity:
          type: string
          description: Cumulative order quantity in sales units
        RequestedQuantityUnit:
          type: string
          maxLength: 3
          description: Sales unit
        NetAmount:
          type: string
          description: Net value of the item in document currency
        TransactionCurrency:
          type: string
          maxLength: 5
          description: SD document currency
        MaterialGroup:
          type: string
          maxLength: 9
          description: Material group
        Batch:
          type: string
          maxLength: 10
          description: Batch number
        Plant:
          type: string
          maxLength: 4
          description: Plant (delivering)
        StorageLocation:
          type: string
          maxLength: 4
          description: Storage location
        ShippingPoint:
          type: string
          maxLength: 4
          description: Shipping point / receiving point
        DeliveryGroup:
          type: string
          maxLength: 3
          description: Delivery group
        ItemBillingBlockReason:
          type: string
          maxLength: 2
          description: Billing block for the item
        SDProcessStatus:
          type: string
          maxLength: 1
          description: Overall processing status of the item
        DeliveryStatus:
          type: string
          maxLength: 1
          description: Delivery status
        OrderRelatedBillingStatus:
          type: string
          maxLength: 1
          description: Billing status
    SalesOrderItemUpdate:
      type: object
      description: Sales order item update payload
      properties:
        RequestedQuantity:
          type: string
          description: Order quantity
        Plant:
          type: string
          maxLength: 4
        StorageLocation:
          type: string
          maxLength: 4
        ItemBillingBlockReason:
          type: string
          maxLength: 2
        SalesOrderItemText:
          type: string
          maxLength: 40
    Error:
      type: object
      description: OData error response
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code
            message:
              type: object
              properties:
                lang:
                  type: string
                value:
                  type: string
                  description: Error message text
  parameters:
    ifMatch:
      name: If-Match
      in: header
      description: ETag value for optimistic concurrency control
      required: true
      schema:
        type: string
    filter:
      name: $filter
      in: query
      description: OData filter expression
      schema:
        type: string
    skip:
      name: $skip
      in: query
      description: Number of records to skip
      schema:
        type: integer
        minimum: 0
    top:
      name: $top
      in: query
      description: Maximum number of records to return
      schema:
        type: integer
        minimum: 0
    select:
      name: $select
      in: query
      description: Comma-separated list of properties to include in the response
      schema:
        type: string
    expand:
      name: $expand
      in: query
      description: Comma-separated list of navigation properties to expand
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication with SAP user credentials
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication for SAP S/4HANA Cloud
      flows:
        clientCredentials:
          tokenUrl: https://{tenant}.authentication.{landscape}.hana.ondemand.com/oauth/token
          scopes:
            API_SALES_ORDER_SRV: Access to Sales Order API