# Adjust Customer Points

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v1/managers/loyalty-program/customers/adjust-customer-points:
    post:
      summary: Adjust Customer Points
      deprecated: false
      description: |-
        Allows manual adjustments to a customer's loyalty points balance.

        <Accordion title="🔑Scopes" defaultOpen>
            
         `loyalty_program.read_write` - Loyalty Program Read & Write
         
        </Accordion>
      operationId: post-managers-loyalty-program-customers-adjust-customer-points
      tags:
        - Default module/Apps/Merchant APIs/Marketing/Loyalty Program
        - Loyalty Program
      parameters:
        - name: Authorization
          in: header
          description: >-
            The Authorization token is a unique key given to the third-party
            application (Partner) by Zid. It is used to authenticate the API
            requests made by the Partner application. The token verifies the
            partner's identity and ensures they have permission to access Zid's
            API but does not provide any specific user or store information. It
            should be included in the header of API requests when the partner
            application needs to access Zid's API.
          required: true
          example: '{{Autherization}}'
          schema:
            type: string
        - name: X-Manager-Token
          in: header
          description: >-
            This token is used to authenticate and access information related to
            the store. It is obtained through an OAuth mechanism and is required
            to perform operations on the store's data. The `X-Manager-Token`
            should be included in the header of API requests that require
            store-related information.
          required: false
          example: '{{Access-Token}}'
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            Specifies the Media Types acceptable for the client. In this case,
            it signals that the client expects a response in the JSON format.
          required: true
          example: application/json
          schema:
            type: string
            default: application/json
        - name: Accept-Language
          in: header
          description: >-
            Preferred language for the response. Defaults to `en` if not
            specified.
          required: false
          example: en
          schema:
            type: string
            enum:
              - en
              - ar
            examples:
              - en
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                customerId:
                  type: integer
                  example: 37
                direction:
                  type: string
                  enum:
                    - +
                    - '-'
                  x-apidog-enum:
                    - value: +
                      name: ''
                      description: ''
                    - value: '-'
                      name: ''
                      description: ''
                  example: +
                points:
                  type: integer
                  example: 5
                reason:
                  example: gift
                  type: string
              required:
                - customerId
                - direction
                - points
            examples: {}
      responses:
        '200':
          description: The customer points balance is adjusted successfully.
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    status: object
                    data:
                      date: '2024-08-19T07:01:03.580901Z'
                      reason: test
                      points: 100
                      direction: +
                      type: ManualAccumulation
                      order_number: null
                      expiry_date: null
                      point_status: Active
                      collection_method: Manually added points
                    message:
                      type: object
                      code: MSG_POPUP_OK
                      name: Adjust customer points
                      description: Points updated successfully
                properties:
                  status:
                    type: string
                    description: Indicates the overall status of the API response.
                  data:
                    description: >-
                      The data object contains information about the points
                      adjustment made to the customer's account.
                    $ref: '#/components/schemas/LoyaltyTransactionPresenter'
                  message: &ref_0
                    description: Contains detailed information about the message.
                    $ref: '#/components/schemas/ResponseEnvelopMessage'
                x-apidog-orders:
                  - status
                  - data
                  - message
                x-apidog-ignore-properties: []
              example:
                status: object
                data:
                  date: '2026-03-02T13:26:14.000000Z'
                  reason: gift
                  points: 5
                  direction: +
                  type: ManualAccumulation
                  order_number: null
                  expiry_date: null
                  point_status: Active
                  collection_method: Manually added points
                message:
                  type: object
                  code: MSG_POPUP_OK
                  name: Adjust customer points
                  description: Points updated successfully
          headers: {}
          x-apidog-name: OK
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Response returned when the request cannot be authenticated
                  because the required credentials are missing, invalid, or
                  expired.
                properties:
                  status:
                    type: string
                    description: Indicates the overall status of the API response.
                    examples:
                      - error
                  message:
                    type: object
                    description: >-
                      Contains structured details explaining why the request
                      could not be authenticated.
                    properties:
                      type:
                        type: string
                        description: Indicates the category of the response message.
                        examples:
                          - error
                      code:
                        type: string
                        description: >-
                          A machine-readable code identifying the authentication
                          error. Returns null when no specific code is
                          available.
                        examples:
                          - UNAUTHORIZED
                        nullable: true
                      name:
                        type: string
                        description: >-
                          A short, human-readable title describing the
                          authentication error. Returns null when no title is
                          available.
                        examples:
                          - Unauthorized
                        nullable: true
                      description:
                        type: string
                        description: >-
                          A human-readable explanation of why the request could
                          not be authenticated. Returns null when no detailed
                          explanation is available.
                        examples:
                          - >-
                            Authentication credentials are missing, invalid, or
                            expired.
                        nullable: true
                    required:
                      - type
                      - code
                      - name
                      - description
                    x-apidog-orders:
                      - type
                      - code
                      - name
                      - description
                    x-apidog-ignore-properties: []
                required:
                  - status
                  - message
                x-apidog-orders:
                  - status
                  - message
                examples:
                  - status: error
                    message:
                      type: error
                      code: UNAUTHORIZED
                      name: Unauthorized
                      description: >-
                        Authentication credentials are missing, invalid, or
                        expired.
                x-apidog-ignore-properties: []
              examples:
                '3':
                  summary: Example 1
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_MISSING
                      name: Sorry
                      description: Please login first.
                '4':
                  summary: Example 2
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_INVALID
                      name: Sorry
                      description: Login session expired. Please login again.
                '5':
                  summary: Example 3
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_INVALID
                      name: Sorry
                      description: Invalid authentication
          headers: {}
          x-apidog-name: Unauthorized
        '422':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      name:
                        type: string
                      description:
                        type: string
                      validations:
                        type: array
                        items:
                          type: object
                          properties:
                            field:
                              type: string
                            errors:
                              type: array
                              items:
                                type: string
                          required:
                            - field
                            - errors
                          x-apidog-orders:
                            - field
                            - errors
                          x-apidog-ignore-properties: []
                    required:
                      - type
                      - code
                      - name
                      - description
                      - validations
                    x-apidog-orders:
                      - type
                      - code
                      - name
                      - description
                      - validations
                    x-apidog-ignore-properties: []
                required:
                  - status
                  - message
                x-apidog-orders:
                  - status
                  - message
                x-apidog-ignore-properties: []
              example:
                status: validation_error
                message:
                  type: validation_errors
                  code: ERROR_POPUP_OK
                  name: Inputs
                  description: Input errors!
                  validations:
                    - field: customerId
                      errors:
                        - The customer id field is required.
                    - field: direction
                      errors:
                        - The direction field is required.
                    - field: points
                      errors:
                        - The points field is required.
          headers: {}
          x-apidog-name: Unprocessable Entity
        '500':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the error.
                  message: *ref_0
                required:
                  - status
                  - message
                x-apidog-orders:
                  - status
                  - message
                x-apidog-ignore-properties: []
              example:
                status: error
                message:
                  type: error
                  code: MSG_HIDDEN
                  name: Error
                  description: Internal Server Error
          headers: {}
          x-apidog-name: Internal Server error
      security: []
      x-apidog-folder: Default module/Apps/Merchant APIs/Marketing/Loyalty Program
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/613905/apis/api-9148642-run
components:
  schemas:
    ResponseEnvelopMessage:
      type: object
      properties:
        type:
          type: string
          description: Type of response message returned by the API.
          examples:
            - success
        code:
          type: string
          description: Response code returned by the API, if available.
          examples:
            - MSG_POPUP_OK
          nullable: true
        name:
          type: string
          description: Name or title of the response message, if available.
          examples:
            - Coupons
          nullable: true
        description:
          type: string
          description: Detailed description of the response message, if available.
          examples:
            - Coupons created successfully
          nullable: true
      required:
        - type
        - code
        - name
        - description
      description: Additional response metadata.
      x-apidog-orders:
        - type
        - code
        - name
        - description
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    LoyaltyTransactionPresenter:
      type: object
      properties:
        date:
          type: string
        reason:
          type: string
        points:
          type: integer
        direction:
          type: string
        type:
          type: string
        order_number:
          type: integer
          nullable: true
        expiry_date:
          type: string
          nullable: true
        point_status:
          type: string
        collection_method:
          type: string
      required:
        - date
        - reason
        - points
        - direction
        - type
        - order_number
        - expiry_date
        - point_status
        - collection_method
      x-apidog-orders:
        - date
        - reason
        - points
        - direction
        - type
        - order_number
        - expiry_date
        - point_status
        - collection_method
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes: {}
servers:
  - url: https://api.zid.sa/
    description: Prod Env
security: []

```
