> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fabric.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Create appeasement

> Creates an appeasement for customer order.



## OpenAPI

````yaml oms_v2_combined post /order/appeasement
openapi: 3.0.1
info:
  title: Orders v2 (OMS v2)
  description: >-
    fabric's OMS v2 APIs are high performance endpoints are built on highly
    scalable architecture, and include a configurable data model to orchestrate
    the order fulfillment process. These APIs let merchants create order
    records, initiate post-order process workflows and manage order related data
    such as, invoicing, tracking, returns, exchange, cancellation, appeasements,
    backorders, shipment and other use cases.
  termsOfService: https://fabric.inc/terms-of-use
  contact:
    email: support@fabric.inc
  license:
    name: fabric API license
    url: https://fabric.inc/api-license
  version: 2.0.0
servers:
  - url: https://prod01.oms.fabric.inc/api/v2
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Allocation
    description: Endpoints to perform allocation operations
  - name: Appeasement
    description: >-
      Appeasement refers to a goodwill credit applied to a fulfilled order when
      customer faces difficulties for an order, for example late delivery,
      received damaged product, and like wise.  This endpoint help in creating
      appeasement for customer orders.
  - name: Package Tracking
    description: Package Tracking endpoint helps in performing package tracking operations
  - name: Payment Status
    description: This endpoint helps in retrieving payment status for an order
  - name: Order Cancellation
    description: These endpoints help in performing order cancellation operations
  - name: Order
    description: >-
      An order is a customer's request to purchase one or more products from a
      shop or from a website. Order endponts let merchants get order details,
      create, update, and delete orders.
  - name: Order Attribute
    description: These endpoints help in performing attribute operations for an order
  - name: Order Return
    description: These endpoints help in performing order Return operations
  - name: Cross Border
    description: >-
      Cross Border service provides capabilities related to orders that have
      international shipping. These endpoints help in performing cross border
      operations.
  - name: BackOrder PreOrder Reservation
    description: >-
      These Endpoints help in performing BackOrder PreOrder Reservation
      operations
  - name: Configuration
    description: >-
      These endpoints help in performing CRUD operations on tenant
      configurations
  - name: Target Configuration
    description: >-
      These endpoints help in performing CRUD operations on Target
      configurations
  - name: Fraud Configuration
    description: These endpoints help in performing CRUD operations on Fraud configurations
  - name: Fraud
    description: These endpoints help in managing fraud release and cancel operation
  - name: Export
    description: These endpoints help in performing export operations
  - name: Inventory Network
    description: >-
      Network refers to a group of locations having a group of SKUs in each
      location. Network endpoints let you read, create, and manage an
      inventory-network by location, brand, or any other custom attributes.
  - name: Inventory
    description: >-
      These endpoints let you read, create and bulk update inventory across all
      locations.
  - name: Inventory Upload Log
    description: These endpoints let you view the record of the inventory uploads.
  - name: Inventory Bulk Operation
    description: >-
      Bulk Operation endpoints let you upload and download inventory details, in
      bulk, using a  CSV file to and from AWS (Amazon Web Service) server
      presigned S3 URL that is generated from the Order service.
  - name: Inventory Attribute
    description: >-
      Attribute refers to a set of characteristics that define inventory.
      Attribute endpoints let you create, read, update, and delete inventory
      attributes at any hierarchy level (location, SKU, item, channel) or at
      counter level.
  - name: Inventory Counter
    description: >-
      Counter refers to inventory positions such as, available, in-transit,
      on-hand, or other custom positions. These endpoints let you read, update,
      and create custom counters that suit your business use case.
  - name: Invoice
    description: These endpoints help in generating the invoices
  - name: List
    description: To create and manage lists
  - name: Location
    description: Location endpoints let you create, read, update, and delete location.
  - name: Location Attribute
    description: >-
      Location attribute endpoints let you create, read, update, and delete
      location attributes. These location attributes are used while creating or
      updating locations. When the attribute is configured  as required, it is
      mandatory to add the attribute while creating location.
  - name: Shipment
    description: To provides real time update of shipments
  - name: Shipping Method
    description: Endpoints to perform operations related to shipping methods
  - name: Webhook
    description: >-
      These endpoints help in performing CRUD operations on webhook
      subscriptions
paths:
  /order/appeasement:
    post:
      tags:
        - Appeasement
      summary: Create appeasement
      description: Creates an appeasement for customer order.
      operationId: createAppeasement
      parameters:
        - $ref: '#/components/parameters/xSiteContent'
      requestBody:
        content:
          application/json:
            schema:
              required:
                - orderNumber
                - source
                - userID
              type: object
              description: Appeasement request details
              properties:
                orderNumber:
                  type: string
                  description: >-
                    It is required and used as a primary identifier to apply
                    appeasement on an order.
                  example: '123'
                appeasementType:
                  type: string
                  description: Appeasement at order level
                  example: refund
                customer:
                  type: object
                  description: Order customer model
                  properties:
                    name:
                      type: object
                      description: Name for order details
                      properties:
                        first:
                          type: string
                          example: John
                        middle:
                          type: string
                          example: Middle
                        last:
                          type: string
                          example: Doe
                    email:
                      type: string
                      example: john@fabric.inc
                    phone:
                      type: object
                      description: Contact details of customer for the order
                      properties:
                        number:
                          type: string
                          example: '55555555555'
                        type:
                          type: string
                          example: MOBILE
                          enum:
                            - MOBILE
                            - HOME
                            - BUSINESS
                    userId:
                      type: string
                      description: >-
                        It is shopper's ID who visits company website to
                        purchase products.
                      example: 62272e917b12209e68751d94
                    accountId:
                      type: string
                      description: >-
                        Account ID such as loyalty account ID or memebr account
                        ID. Refers to any external system or fabric's loyalty
                        service that the user has account with.
                      example: 62272e917b12209e68751d94
                    employeeId:
                      type: string
                      description: >-
                        ID of the employee (sales person) who creates an order
                        for shopper.
                      example: 62272e917b12209e68751d94
                    company:
                      type: string
                      example: fabric
                userID:
                  type: string
                  description: >-
                    It is used as identifier of the user who initiates the
                    appeasement request
                  example: '12'
                source:
                  type: string
                  description: Identifies the system by which the request was initiated
                  example: SFSC
                appeasements:
                  type: array
                  description: >-
                    It represents the order-level appeasements. It is necessary
                    to add at least one of the order-level or item-level
                    appeasements.
                  items:
                    required:
                      - value
                    type: object
                    properties:
                      appeasementCounter:
                        type: integer
                        description: It's optional and we highly discourage using it.
                        format: int32
                        example: 1
                      reasonCode:
                        type: string
                        description: >-
                          It is optional. It's free text field and is being
                          saved just as a metadata.
                        example: Late Delivery
                      subReasonCode:
                        type: string
                        description: >-
                          It is optional. It's free text field and is being
                          saved just as a metadata.
                        example: subReasonCode
                      value:
                        type: number
                        description: >-
                          It required. It is the amount which will be refunded
                          or reduced from the cost.
                        example: 12.5
                      notes:
                        type: string
                        description: >-
                          It is optional. It's free text field and is being
                          saved just as a metadata.
                        example: Any additional info
                      payments:
                        type: array
                        description: >-
                          It's optional. It identifies the payment method
                          associated with the order using payment counter. If
                          specified, it should be consistent with the order
                          payments, like we cannot refund a larger amount than
                          charged from a certain payment method.
                        items:
                          type: object
                          description: Order appeasement payment information object
                          properties:
                            paymentCounter:
                              type: integer
                              description: >-
                                Counter number where appeasement payment is
                                processed
                              format: int32
                              example: 1
                            refundAmount:
                              type: number
                              example: 40
                    description: OrderAppeasementInfo Model
                items:
                  type: array
                  description: >-
                    It represents the wrapper of item-level appeasements. It is
                    necessary to add at least one of the order-level or
                    item-level appeasements
                  items:
                    required:
                      - appeasements
                      - lineItemId
                    type: object
                    properties:
                      lineItemId:
                        type: string
                        description: >-
                          It is required as an identifier of line item on which
                          appeasements is applied
                        example: d538b1f1-0e45-43c6-bfc6-9666fc1188ca
                      appeasements:
                        type: array
                        description: >-
                          It is required if we specify parent object. It
                          represents item-level appeasements.
                        items:
                          required:
                            - value
                          type: object
                          properties:
                            appeasementCounter:
                              type: integer
                              description: It's optional and we highly discourage using it.
                              format: int32
                              example: 1
                            reasonCode:
                              type: string
                              description: >-
                                It is optional. It's free text field and is
                                being saved just as a metadata.
                              example: Late Delivery
                            subReasonCode:
                              type: string
                              description: >-
                                It is optional. It's free text field and is
                                being saved just as a metadata.
                              example: subReasonCode
                            value:
                              type: number
                              description: >-
                                It required. It is the amount which will be
                                refunded or reduced from the cost.
                              example: 12.5
                            notes:
                              type: string
                              description: >-
                                It is optional. It's free text field and is
                                being saved just as a metadata.
                              example: Any additional info
                            payments:
                              type: array
                              description: >-
                                It's optional. It identifies the payment method
                                associated with the order using payment counter.
                                If specified, it should be consistent with the
                                order payments, like we cannot refund a larger
                                amount than charged from a certain payment
                                method.
                              items:
                                type: object
                                description: Order appeasement payment information object
                                properties:
                                  paymentCounter:
                                    type: integer
                                    description: >-
                                      Counter number where appeasement payment
                                      is processed
                                    format: int32
                                    example: 1
                                  refundAmount:
                                    type: number
                                    example: 40
                          description: OrderAppeasementInfo Model
                    description: OrderLineItemAppeasement Model
        required: true
      responses:
        '200':
          description: Appeasement Completed
          content:
            application/json:
              schema:
                type: object
                properties:
                  responseCode:
                    type: string
                    description: ResponseCodes Model
                    example: SUCCESS
                    enum:
                      - SUCCESS
                      - ERROR
                      - NOT_FOUND
                      - INVALID_REQUEST
                      - AMOUNT_EXCEEDS
                      - PAYMENT_NOT_FOUND
                      - PARTIAL_SUCCESS
                  responseMessage:
                    type: string
                    example: API Operation successfully completed
                  responseData:
                    type: object
                    properties:
                      orderNumber:
                        type: string
                        example: '12'
                      totalAmountRefunded:
                        type: number
                        example: 25.5
                      channel:
                        type: string
                        example: '12'
                      tenant:
                        type: string
                        example: 5f689caa4216e7000750d1ef
                    description: OrderCreateAppeasementResponse Model
                description: ServiceResponse Model
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                description: Error response
              example:
                message: Bad Request
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                description: Error response
              example:
                message: Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                description: Error response
              example:
                message: Internal Server Error
components:
  parameters:
    xSiteContent:
      name: x-site-context
      in: header
      description: >-
        The `x-site-context` header is a JSON object that contains information
        about the source you wish to pull from. The mandatory `account` is the
        24 character identifier found in Copilot. The `channel` (Sales channel
        ID), `stage` (environment name), and `date` attributes can be used to
        further narrow the scope of your data source.
      required: true
      schema:
        type: string
        example: >-
          {"date": "2023-01-01T00:00:00.000Z", "channel": 12, "account":
          "1234abcd5678efgh9ijklmno","stage":"production"}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````