Credit Memo Request API

Create, read, update, and delete credit memo requests. Enables approval or denial of credit memo requests that require authorization before processing.

OpenAPI Specification

sap-sd-credit-memo-request-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SAP Sales and Distribution (SD) SAP Credit Memo Request API
  description: >-
    Create, read, update, and delete credit memo requests in SAP S/4HANA.
    This OData service (API_CREDIT_MEMO_REQUEST_SRV) also enables approval
    or denial of credit memo requests that require authorization before
    processing. Credit memo requests are used to issue credit to customers
    for returns, pricing adjustments, or other reasons.
  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
servers:
  - url: https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_CREDIT_MEMO_REQUEST_SRV
    description: SAP S/4HANA Cloud Sandbox
  - url: https://{host}:{port}/sap/opu/odata/sap/API_CREDIT_MEMO_REQUEST_SRV
    description: SAP S/4HANA On-Premise
    variables:
      host:
        default: localhost
      port:
        default: '443'
security:
  - basicAuth: []
  - oauth2: []
tags:
  - name: Credit Memo Request
    description: Operations on credit memo request header (A_CreditMemoRequest)
  - name: Credit Memo Request Item
    description: Operations on credit memo request items (A_CreditMemoReqItem)
paths:
  /A_CreditMemoRequest:
    get:
      operationId: listCreditMemoRequests
      summary: Retrieve a list of credit memo requests
      description: >-
        Returns a collection of credit memo request headers. Supports OData
        query options for filtering by document type, date, customer, and status.
      tags:
        - Credit Memo Request
      parameters:
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/filter'
        - $ref: '#/components/parameters/orderby'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
        - $ref: '#/components/parameters/inlinecount'
      responses:
        '200':
          description: Successfully retrieved credit memo requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    type: object
                    properties:
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/CreditMemoRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      operationId: createCreditMemoRequest
      summary: Create a new credit memo request
      description: >-
        Creates a new credit memo request with deep insert support for items,
        partners, and pricing elements.
      tags:
        - Credit Memo Request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditMemoRequestCreate'
      responses:
        '201':
          description: Credit memo request successfully created
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    $ref: '#/components/schemas/CreditMemoRequest'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /A_CreditMemoRequest('{CreditMemoRequest}'):
    get:
      operationId: getCreditMemoRequest
      summary: Retrieve a single credit memo request
      description: >-
        Returns a single credit memo request by its document number.
      tags:
        - Credit Memo Request
      parameters:
        - name: CreditMemoRequest
          in: path
          required: true
          description: Credit memo request number (10 characters)
          schema:
            type: string
            maxLength: 10
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/expand'
      responses:
        '200':
          description: Successfully retrieved the credit memo request
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    $ref: '#/components/schemas/CreditMemoRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    patch:
      operationId: updateCreditMemoRequest
      summary: Update a credit memo request
      description: >-
        Updates an existing credit memo request header.
      tags:
        - Credit Memo Request
      parameters:
        - name: CreditMemoRequest
          in: path
          required: true
          description: Credit memo request number
          schema:
            type: string
            maxLength: 10
        - $ref: '#/components/parameters/ifMatch'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditMemoRequestUpdate'
      responses:
        '204':
          description: Credit memo request successfully updated
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      operationId: deleteCreditMemoRequest
      summary: Delete a credit memo request
      description: >-
        Deletes an existing credit memo request.
      tags:
        - Credit Memo Request
      parameters:
        - name: CreditMemoRequest
          in: path
          required: true
          description: Credit memo request number
          schema:
            type: string
            maxLength: 10
        - $ref: '#/components/parameters/ifMatch'
      responses:
        '204':
          description: Credit memo request successfully deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /A_CreditMemoRequest('{CreditMemoRequest}')/to_Item:
    get:
      operationId: listCreditMemoRequestItems
      summary: Retrieve items for a credit memo request
      description: >-
        Returns a collection of line items for the specified credit memo request.
      tags:
        - Credit Memo Request Item
      parameters:
        - name: CreditMemoRequest
          in: path
          required: true
          description: Credit memo request number
          schema:
            type: string
            maxLength: 10
        - $ref: '#/components/parameters/top'
        - $ref: '#/components/parameters/skip'
        - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successfully retrieved items
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    type: object
                    properties:
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/CreditMemoRequestItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /AcceptApprovalRequest:
    post:
      operationId: acceptCreditMemoApprovalRequest
      summary: Accept a credit memo approval request
      description: >-
        Accepts an approval request for a credit memo request that requires
        authorization.
      tags:
        - Credit Memo Request
      parameters:
        - name: CreditMemoRequest
          in: query
          required: true
          description: Credit memo request number
          schema:
            type: string
            maxLength: 10
      responses:
        '200':
          description: Approval request accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    $ref: '#/components/schemas/CreditMemoRequest'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /RejectApprovalRequest:
    post:
      operationId: rejectCreditMemoApprovalRequest
      summary: Reject a credit memo approval request
      description: >-
        Rejects an approval request for a credit memo request.
      tags:
        - Credit Memo Request
      parameters:
        - name: CreditMemoRequest
          in: query
          required: true
          description: Credit memo request number
          schema:
            type: string
            maxLength: 10
      responses:
        '200':
          description: Approval request rejected
          content:
            application/json:
              schema:
                type: object
                properties:
                  d:
                    $ref: '#/components/schemas/CreditMemoRequest'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://{tenant}.authentication.{landscape}.hana.ondemand.com/oauth/token
          scopes:
            API_CREDIT_MEMO_REQUEST_SRV: Access to Credit Memo Request API
  parameters:
    top:
      name: $top
      in: query
      schema:
        type: integer
        minimum: 0
    skip:
      name: $skip
      in: query
      schema:
        type: integer
        minimum: 0
    filter:
      name: $filter
      in: query
      schema:
        type: string
    orderby:
      name: $orderby
      in: query
      schema:
        type: string
    select:
      name: $select
      in: query
      schema:
        type: string
    expand:
      name: $expand
      in: query
      schema:
        type: string
    inlinecount:
      name: $inlinecount
      in: query
      schema:
        type: string
        enum:
          - allpages
          - none
    ifMatch:
      name: If-Match
      in: header
      required: true
      schema:
        type: string
  schemas:
    CreditMemoRequest:
      type: object
      description: Credit memo request header entity (A_CreditMemoRequest)
      properties:
        CreditMemoRequest:
          type: string
          maxLength: 10
          description: Credit memo request number
        CreditMemoRequestType:
          type: string
          maxLength: 4
          description: Sales document type
        SalesOrganization:
          type: string
          maxLength: 4
          description: Sales organization
        DistributionChannel:
          type: string
          maxLength: 2
          description: Distribution channel
        OrganizationDivision:
          type: string
          maxLength: 2
          description: Division
        SoldToParty:
          type: string
          maxLength: 10
          description: Sold-to party
        CreationDate:
          type: string
          format: date
          description: Creation date
        CreditMemoRequestDate:
          type: string
          format: date
          description: Document date
        BillingDocumentDate:
          type: string
          format: date
          description: Billing date
        TotalNetAmount:
          type: string
          description: Net value in document currency
        TransactionCurrency:
          type: string
          maxLength: 5
          description: Document currency
        SDDocumentReason:
          type: string
          maxLength: 3
          description: Order reason
        PurchaseOrderByCustomer:
          type: string
          maxLength: 35
          description: Customer purchase order number
        CustomerPaymentTerms:
          type: string
          maxLength: 4
          description: Payment terms
        HeaderBillingBlockReason:
          type: string
          maxLength: 2
          description: Billing block
        OverallSDProcessStatus:
          type: string
          maxLength: 1
          description: Overall processing status
        TotalCreditCheckStatus:
          type: string
          maxLength: 1
          description: Credit check status
        OverallBillingStatus:
          type: string
          maxLength: 1
          description: Billing status
    CreditMemoRequestCreate:
      type: object
      required:
        - CreditMemoRequestType
        - SalesOrganization
        - DistributionChannel
        - OrganizationDivision
      properties:
        CreditMemoRequestType:
          type: string
          maxLength: 4
        SalesOrganization:
          type: string
          maxLength: 4
        DistributionChannel:
          type: string
          maxLength: 2
        OrganizationDivision:
          type: string
          maxLength: 2
        SoldToParty:
          type: string
          maxLength: 10
        CreditMemoRequestDate:
          type: string
          format: date
        SDDocumentReason:
          type: string
          maxLength: 3
        to_Item:
          type: object
          properties:
            results:
              type: array
              items:
                $ref: '#/components/schemas/CreditMemoRequestItemCreate'
    CreditMemoRequestUpdate:
      type: object
      properties:
        PurchaseOrderByCustomer:
          type: string
          maxLength: 35
        HeaderBillingBlockReason:
          type: string
          maxLength: 2
        BillingDocumentDate:
          type: string
          format: date
    CreditMemoRequestItem:
      type: object
      description: Credit memo request item entity (A_CreditMemoReqItem)
      properties:
        CreditMemoRequest:
          type: string
          maxLength: 10
          description: Credit memo request number
        CreditMemoRequestItem:
          type: string
          maxLength: 6
          description: Item number
        CreditMemoRequestItemCategory:
          type: string
          maxLength: 4
          description: Item category
        Material:
          type: string
          maxLength: 40
          description: Material number
        RequestedQuantity:
          type: string
          description: Order quantity
        RequestedQuantityUnit:
          type: string
          maxLength: 3
          description: Sales unit
        NetAmount:
          type: string
          description: Net value of the item
        TransactionCurrency:
          type: string
          maxLength: 5
          description: Document currency
        SalesDocument:
          type: string
          maxLength: 10
          description: Reference sales document
        SalesDocumentItem:
          type: string
          maxLength: 6
          description: Reference sales document item
        Plant:
          type: string
          maxLength: 4
          description: Plant
    CreditMemoRequestItemCreate:
      type: object
      properties:
        Material:
          type: string
          maxLength: 40
        RequestedQuantity:
          type: string
        RequestedQuantityUnit:
          type: string
          maxLength: 3
        SalesDocument:
          type: string
          maxLength: 10
        SalesDocumentItem:
          type: string
          maxLength: 6
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: object
              properties:
                lang:
                  type: string
                value:
                  type: string
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'