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.
Create, read, update, and delete credit memo requests. Enables approval or denial of credit memo requests that require authorization before processing.
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'