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

# Update Entitlement

> Update a single entitlement identified by the entitlement id. All fields are optional. The itemId and commerceProductCode cannot be modified independently; when changing either of them the merchantProductCode representing that combination must also be supplied. Returns the updated entitlement as a single item.



## OpenAPI

````yaml /marketONE/MarketONEAPIs.yaml put /v3/entitlement/{id}
openapi: 3.0.1
info:
  title: MarketONE APIs
  license:
    name: Amdocs Inc.
    url: http://www.amdocs.com
  version: Released
  description: >
    The MarketONE OpenAPIs provide a quick and easy way to access MarketONE
    features and your data. These APIs let Resellers (Service Providers) and
    Merchants work together to resell products and handle billing on a single
    platform.


    With an API key, you can authenticate and perform various tasks, like
    accessing and managing data. You can use an HTTP client in any programming
    language to send HTTP requests to MarketONE to create, edit, or delete data.
    The data you work with, like subscriptions or entitlements, are called
    resources, and each resource has its own endpoint (URL).


    The MarketONE OpenAPIs use built-in HTTP features, like HTTP authentication
    and HTTP verbs, which are easy for standard HTTP clients to understand. They
    also use HTTP response codes to indicate errors. All responses, including
    errors, are in JSON format, but our API libraries convert them into objects
    that are specific to the programming language you're using. 


    You can also download the MarketONE OpenAPIs in a YAML file, which is easy
    to read and manage.


    For more information about the MarketONE OpenAPIs, see the [API Reference
    Guide for Merchants](https://docs.saas.amdocs.com/bundle/b_partnerAPIGuide/)
    and the [API Reference Guide for Resellers (Service
    Providers)](https://docs.saas.amdocs.com/bundle/b_aggregatorAPIGuide).


    ## Other MarketONE APIs


    Other MarketONE APIs, such as the [Reseller (CSP) Adapter
    OpenAPIs](https://docs.saas.amdocs.com/bundle/MarketONECSPAdapter/page/index.html),
    the [Merchant (OTT) Service
    Callbacks](https://docs.saas.amdocs.com/bundle/MarketONEOTTServiceCallbacks/page/index.html),
    and the [Commerce Gateway
    OpenAPIs](https://docs.saas.amdocs.com/bundle/Amdocs_Media-Commerce-Gateway-Latest-resolved/page/index.html),
    are available to provide additional services for specific organizations.


    # Environments


    MarketONE provides two distinct environments for testing and production:

    - **Prodtest environment**: this is a pre-production environment allowing
    you to test your application with test data. Use server
    <https://int-prodtest.m1amdocs.io/>.

    - **Production environment**: this is the live environment for the
    real-world implementation of  data. Use server <https://int.m1amdocs.com/>.


    # HTTP Verbs


    The MarketONE OpenAPIs support the following HTTP verbs:

    - **GET**: Retrieve resources (as a list or single record fetch).

    - **POST**:  Create new resources or update existing ones (overloading
    during create/update is permitted where specified).

    - **PUT**: Create a new resource or replace a resource with the request
    payload.

    - **DELETE**: Remove ownership or hierarchical association between certain
    resources.


    #  Example

     ## Request Example

     ```
    POST /v1/entitlement 

    Content-Type: application/json

    {
      "account": {
        "id": "2922fbf1-1dc4-2293-9d0e-c9a46630ad6e"
      },
      "subscriptionId": "ef1917b8-4a06-4595-9998-718799a33ed6",
      "productCodes": [
        "Basic_Addon"
      ],
      "metadata": {
        "email": "j.smith@email.com"
      }
    }

    ```

      ## Response Example

    ```

    Response: 200 OK

    Content-Type: application/json

    [
      {
        "partnerSubscriptionId": "80e08955-b0e9-4ba6-b882-b24230bfc703",
        "account": {
          "id": "0006fbf1-1ac4-4793-9d0e-c0a0080ad6e",
          "partnerCustomerId": "1bbbb3a5-0f05-4009-b4ae-b01f7eba7g"
        },
       "subscriptionId": "ef1417b8-4a06-7775-8518-718714a33ed2",
        "externalPartnerSubscriptionId": "7d50531-31eb-45f9-91ce-6355250f5501",
        "partnerCode": "PRTNR",
        "productCode": "Basic_Addon",
        "createdDate": "2024-05-04T17:38:10.889",
        "updatedDate": "2024-05-04T17:38:11.160",
        "startServiceDate": "2024-05-04T17:38:10.889",
        "serviceStatus": "PROVISION-COMPLETE"
      }
    ]

    ```


    # Status Codes


    MarketONE uses the following HTTP response codes to indicate the success or
    failure of an API request.


    | Code | Status | Description |

    | -------  | ------   | ------------------- |

    | **200** | OK | Everything worked as expected. |

    | **201** | OK | Everything worked as expected. |

    | **400** | Bad Request | The request was unacceptable, often due to missing
    a required parameter. Other possibilities include: <ul><li>A parameter
    doesn't fit the data type</li><li>A parameter is outside the maximum or
    minimum boundaries of what can be accepted.</li> |

    | **401** | Unauthorized | Couldn’t authenticate your request. This could be
    due to a wrong or invalid API key. |

    | **403** | Forbidden | Authentication failed. Check your username and
    password. |

    | **404** | Not Found | The requested resource doesn’t exist. |

    | **409** | Conflict | |

    | **429** | Too Many Requests | Too many requests were made to the API too
    quickly. |

    | **500** | Internal Server Error  | |

    | **501** | Not Implemented | |

    | **503** | Service Unavailable | We’re temporarily offline for maintenance.
    Please try again later. |


    # Authentication


    API keys are required to make requests to the MarketONE OpenAPIs. In Partner
    Ecosystem Management, Resellers (Service Providers) can conveniently
    [generate an API
    key](https://docs.saas.amdocs.com/bundle/b_userGuideForResellers/page/topics/apiKeysAggregatorManage_t.html).
    Merchants can also [generate an API key for each Reseller (Service Provider)
    partnership](https://docs.saas.amdocs.com/bundle/b_userGuideForMerchants/page/topics/apiKeysManage_t.html)
    in Partner Ecosystem Management. After you authenticate with your API
    key(s), you can access resources through the MarketONE OpenAPIs.


    Each API key is a JSON Web Token (JWT) that doesn't expire. For every API
    call you make to the MarketONE OpenAPIs, the API key must be included in the
    header (`X-API-KEY`) of the call to ensure trusted communication. All
    communication is HTTP(s) based and supports SSL/TLS encryption.


    # Errors


    All error responses will return an error object.


    # Attributes


    | Name | Type | Required/Optional | Description |

    | -------  | ------ | ------ | ------ |

    | **code** | string | required | The error type, such as
    "authentication-required" (401) or "not-found" (404). |

    | **message** | string | required | A human-readable message providing more
    detailed information about the error. |

    | **validationErrors** | object | optional | An array of validation errors
    with **code** and **message** attributes provided. |
servers:
  - url: https://int-prodtest.m1amdocs.io/
    description: Sandbox server (uses test data)
  - url: https://int.m1amdocs.com/
    description: Production server (uses live data)
security: []
paths:
  /v3/entitlement/{id}:
    put:
      tags:
        - entitlements
      summary: Update Entitlement
      description: >-
        Update a single entitlement identified by the entitlement id. All fields
        are optional. The itemId and commerceProductCode cannot be modified
        independently; when changing either of them the merchantProductCode
        representing that combination must also be supplied. Returns the updated
        entitlement as a single item.
      operationId: updateEntitlementV3
      parameters:
        - name: id
          in: path
          description: The id parameter is the entitlement identifier.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntitlementUpdateRequestV3'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitlementV3SingleResponse'
        '400':
          description: 'Bad Request; possible error codes returned: invalid-request'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Error'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    EntitlementUpdateRequestV3:
      type: object
      description: >-
        Entitlement update request for a single entitlement (identified by the
        entitlement id in the path). All fields are optional. The itemId and
        commerceProductCode cannot be modified independently; when changing
        either of them the merchantProductCode representing that combination
        must also be supplied.
      properties:
        itemId:
          type: string
          description: >-
            The entitlement item identifier. Cannot be changed on its own - must
            be sent together with the corresponding merchantProductCode.
        commerceProductCode:
          type: string
          description: >-
            The commerce (reseller/service provider) product code. Cannot be
            changed on its own - must be sent together with the corresponding
            merchantProductCode.
        merchantProductCode:
          type: string
          description: >-
            The merchant product code. Required when changing itemId or
            commerceProductCode.
        quantity:
          type: integer
          minimum: 1
          description: >-
            Populate the quantity that this entitlement should represent.
            Required for products with QUANTITY entitlementType.
          example: 500
        metadata:
          $ref: '#/components/schemas/EntitlementMetadata'
    EntitlementV3SingleResponse:
      type: object
      description: >-
        Response returned when updating a single entitlement. Mirrors the
        provisioning response but contains a single item rather than a list.
      properties:
        subscription:
          type: object
          properties:
            id:
              type: string
              description: >-
                The id of the subscription as tracked in the subscription
                management system.
              maxLength: 128
            account:
              $ref: '#/components/schemas/EntitlementAccountV3Response'
            item:
              $ref: '#/components/schemas/EntitlementItemV3Response'
    400Error:
      type: object
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - invalid-request
        message:
          type: string
        validationErrors:
          type: array
          items:
            $ref: '#/components/schemas/400ValError'
    401Error:
      type: object
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - authentication-required
            - invalid-api-key
            - api-key-not-found
        message:
          type: string
    403Error:
      type: object
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - forbidden
            - access-denied
            - agreement-not-found
        message:
          type: string
    404Error:
      type: object
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - not-found
        message:
          type: string
    EntitlementMetadata:
      type: object
      description: >-
        A set of key/value pairs that you can attach to an object. Useful for
        storing additional information.
      additionalProperties:
        type: string
    EntitlementAccountV3Response:
      type: object
      required:
        - id
      description: >-
        The Account represents an aggregator's customer for whom the
        entitlement(s) were provisioned.
      properties:
        id:
          type: string
          description: The MarketONE account identifier.
        externalId:
          type: string
          description: >-
            An additional aggregator-specified unique identifier for when you
            have two external (non-MarketONE) systems using two different
            identification schemes for the same customer. It can be used in
            place of id.
          maxLength: 128
        parent:
          type: string
          description: >-
            The identifier of the parent account, when the account belongs to an
            account hierarchy.
    EntitlementItemV3Response:
      type: object
      description: >-
        A single provisioned entitlement item, including server-generated
        fields.
      properties:
        itemId:
          type: string
          description: >-
            The entitlement item identifier. Echoed from the request or
            generated by MarketONE when not supplied.
        commerceProductCode:
          type: string
          description: >-
            The commerce (reseller/service provider) product code associated
            with the item.
        merchantProductCode:
          type: string
          description: The merchant product code that was entitled.
        partnerCustomerId:
          type: string
          maxLength: 256
          description: The partner customer id associated with this entitlement item.
        quantity:
          type: integer
          description: The quantity that this entitlement represents.
          example: 500
        partnerSubscriptionId:
          type: string
          description: MarketONE partner service provisioning record identifier.
          maxLength: 256
        externalPartnerSubscriptionId:
          type: string
          description: >-
            The identifier returned by the partner from the "AddSubscription"
            callback.
          maxLength: 256
        partnerCode:
          type: string
          description: The partner code as set by the partner admin in MarketONE.
          maxLength: 15
        serviceStatus:
          type: string
          description: >-
            Status of the partner service MarketONE information. UNPROVISIONED
            indicates that the record was created but the callback response was
            not received. INACTIVE indicates the provisioning callback was
            successfully received by the partner service, but it has not been
            claimed by any service user yet. ACTIVE indicates that the service
            entitlement has been successfully provisioned, and a partner service
            user has claimed it. CANCELLATION-IN-PROGRESS indicates that a
            de-provisioning request is pending. CANCELLED indicates that the
            de-provisioning request confirmation has been received.
          maxLength: 50
          enum:
            - UNPROVISIONED
            - INACTIVE
            - ACTIVE
            - CANCELLATION-IN-PROGRESS
            - CANCELLED
            - UPDATE-IN-PROGRESS
            - PAUSED
            - PAUSE-IN-PROGRESS
            - RESUME-IN-PROGRESS
        createdDate:
          type: string
          description: >-
            The timestamp (ISO 8601 format) when the entitlement item record was
            created.
          format: datetime
        updatedDate:
          type: string
          description: >-
            The timestamp (ISO 8601 format) when the entitlement item record was
            updated.
          format: datetime
        startServiceDate:
          type: string
          description: >-
            The timestamp (ISO 8601 format) when the partner service
            provisioning information record was created.
          format: datetime
        endServiceDate:
          type: string
          description: >-
            The timestamp (ISO 8601 format) when the partner service
            provisioning information record was updated.
          format: datetime
        activatedDate:
          type: string
          description: >-
            The timestamp (ISO 8601 format) when the partner subscription was
            activated (optional)
          format: datetime
        metadata:
          $ref: '#/components/schemas/EntitlementMetadata'
    400ValError:
      type: object
      required:
        - code
      properties:
        code:
          type: string
        message:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: The authorization key obtained from MarketONE.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.