> ## 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.

# Post external entity events

> API to notify MarketONE of significant account lifecycle events occured outside MarketONE.



## OpenAPI

````yaml /marketONE/MarketONEAPIs.yaml post /eventmgr/v1/event/account
openapi: 3.0.1
info:
  title: MarketONE APIs
  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. |
  license:
    name: Amdocs Inc.
    url: http://www.amdocs.com
  version: Released
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:
  /eventmgr/v1/event/account:
    post:
      tags:
        - event
      summary: Post external entity events
      description: >-
        API to notify MarketONE of significant account lifecycle events occured
        outside MarketONE.
      operationId: accountEvent
      parameters:
        - name: X-B3-TraceId
          in: header
          description: >-
            The TraceId indicates the overall ID of the trace. Every span in a
            trace shares this ID. The X-B3-TraceId header is encoded as 32 or 16
            lower-hex characters. For example, a 128-bit TraceId header might
            look like 463ac35c9f6413ad48485a3953bb6124.
          required: false
          style: simple
          explode: false
          schema:
            type: string
        - name: X-B3-SpanId
          in: header
          description: >-
            The SpanId is 64-bit in length and indicates the position of the
            current operation in the trace tree. The value should not be
            interpreted; it may or may not be derived from the value of the
            TraceId. The X-B3-SpanId header is encoded as 16 lower-hex
            characters. For example, a SpanId header might look like
            a2fb4a1d1a96d312. Unless propagating only the Sampling State, the
            X-B3-SpanId header is required.
          required: false
          style: simple
          explode: false
          schema:
            type: string
        - name: X-B3-ParentSpanId
          in: header
          description: >-
            The ParentSpanId is 64-bit in length and indicates the position of
            the parent operation in the trace tree. When the span is the root of
            the trace tree, there is no ParentSpanId. The X-B3-ParentSpanId
            header may be present on a child span and must be absent on the root
            span. It is encoded as 16 lower-hex characters. For example, a
            ParentSpanId header might look like 0020000000000001.
          required: false
          style: simple
          explode: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountEvent'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Error'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Error'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    AccountEvent:
      required:
        - account
        - type
      type: object
      properties:
        id:
          maxLength: 36
          type: string
          description: the event id provided by application generating the event.
        applicationName:
          maxLength: 128
          type: string
          description: the name of the application sending this event
          example: BSS
        type:
          type: string
          enum:
            - terminated
            - updated
            - suspended
            - resumed
        account:
          $ref: '#/components/schemas/CSPAccountResponseForEvent'
        replaces:
          $ref: '#/components/schemas/ReplacesAccount'
    400Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - invalid-request
        message:
          type: string
        validationErrors:
          type: array
          items:
            $ref: '#/components/schemas/400ValError'
    401Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - authentication-required
            - invalid-api-key
            - api-key-not-found
        message:
          type: string
    404Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - not-found
        message:
          type: string
    500Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - server-error
        message:
          type: string
    CSPAccountResponseForEvent:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/ID'
        external_id:
          maxLength: 128
          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 vid or id
        type:
          type: string
          description: Account type
        status:
          type: string
          description: Account status
        email:
          type: string
          description: The email address associated with this Account.
        language:
          type: string
          description: The language (code) preferred for communications.
        name:
          type: string
          description: The name of the customer primarily associated with this Account.
        shipping_address:
          $ref: '#/components/schemas/CSPAddress'
        payment_methods:
          type: array
          description: The payment methods for this Account.
          items:
            $ref: '#/components/schemas/CSPPaymentMethodForEvent'
        metadata:
          $ref: '#/components/schemas/METADATA'
      description: >-
        The Account represents a billing relationship with a customer. As such
        it can contain as much or as little information as you collect about
        customers (people or organizations) to which you offer billing and
        subscriptions. Subscriptions and Transactions must belong to an Account
        - as such, Accounts will be required in MarketONE for billing. An
        Account can have any number of children accounts and may have up to one
        parent account. An Account owns the “on file” payment methods to be used
        for billing. Payment Methods can be created at the same time as an
        Account being created or updated, but when updating an existing Payment
        Method the Payment Method Endpoint must be used.
    ReplacesAccount:
      required:
        - account
      type: object
      properties:
        account:
          $ref: '#/components/schemas/CSPAccountResponse'
    400ValError:
      required:
        - code
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    ID:
      maxLength: 128
      type: string
      description: A unique identifier.
    CSPAddress:
      type: object
      properties:
        name:
          type: string
          description: The name of the person or contact associated with this address.
        line1:
          type: string
          description: Address Line 1
        line2:
          type: string
          description: Address Line 2
        line3:
          type: string
          description: Address Line 3
        city:
          type: string
        county:
          type: string
        district:
          type: string
          description: State, Province, or District
        postal_code:
          type: string
        country:
          type: string
        phone:
          type: string
        fax:
          type: string
        latitude:
          type: number
        longitude:
          type: number
      description: The Address object represents a physical or mailing address.
    CSPPaymentMethodForEvent:
      required:
        - id
        - type
      type: object
      properties:
        type:
          type: string
          enum:
            - ExternalBilling
            - MerchantAcceptedPayment
            - CarrierBilling
        id:
          $ref: '#/components/schemas/ID'
        external_billing:
          $ref: '#/components/schemas/SCR_ExternalBilling'
        merchant_accepted_payment:
          $ref: '#/components/schemas/SCR_MerchantAcceptedPayment'
        carrier_billing:
          $ref: '#/components/schemas/CarrierBilling'
        active:
          type: boolean
          description: Active and available for use.
        primary:
          type: boolean
          description: Primary/default payment method for the account.
        status:
          type: string
          description: Status of the payment method
          example: ACTIVE
          enum:
            - ACTIVE
            - SUSPENDEDLS
            - SUSPENDEDNP
            - INACTIVE
        metadata:
          $ref: '#/components/schemas/METADATA'
    METADATA:
      type: object
      additionalProperties:
        type: string
        properties:
          key:
            type: string
          value:
            type: string
      description: >-
        A set of key/value pairs that you can attach to an object. Useful for
        storing additional information.
    CSPAccountResponse:
      required:
        - payment_methods
        - status
      type: object
      properties:
        id:
          maxLength: 128
          type: string
          description: Primary account identifier. Either id or external_id is mandatory.
        external_id:
          maxLength: 128
          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 vid or id. Mandatory in case id is not provided.
        partner_customer_id:
          type: string
          description: >-
            Optional parameter used in case of migration of an existing customer
            and the same partner customer id need to be reused..
        type:
          type: string
          description: Account type
        status:
          type: string
          description: Account status
        email:
          type: string
          description: The email address associated with this Account.
        language:
          type: string
          description: The language (code) preferred for communications.
        name:
          type: string
          description: The name of the customer primarily associated with this Account.
        shipping_address:
          $ref: '#/components/schemas/CSPAddress'
        payment_methods:
          type: array
          description: The payment methods for this Account.
          items:
            $ref: '#/components/schemas/CSPPaymentMethod'
        metadata:
          $ref: '#/components/schemas/METADATA'
      description: >-
        The Account represents a billing relationship with a customer. As such
        it can contain as much or as little information as you collect about
        customers (people or organizations) to which you offer billing and
        subscriptions. Subscriptions and Transactions must belong to an Account
        - as such, Accounts will be required in MarketONE for billing. An
        Account can have any number of children accounts and may have up to one
        parent account. An Account owns the “on file” payment methods to be used
        for billing. Payment Methods can be created at the same time as an
        Account being created or updated, but when updating an existing Payment
        Method the Payment Method Endpoint must be used.
    SCR_ExternalBilling:
      type: object
      properties:
        bill_receiver:
          type: string
          description: >-
            The payment provider. In this case the payment provider is another
            billing system implemented in the integration.
        payment_channel:
          type: string
          description: >-
            The customer paymentChannelId in the billing system. Best practice
            is to set this the same as the Payment Method id.
        financial_account:
          type: string
          description: The customer financial account ID in the billing system.
    SCR_MerchantAcceptedPayment:
      type: object
      properties:
        payment_type:
          type: string
          description: The identifier of the payment processor.
        account:
          type: string
          description: >-
            If applicable the account identifier of the customer that will be
            used for payment.
    CarrierBilling:
      type: object
      properties:
        object:
          type: string
          description: Value is "CarrierBilling"
          enum:
            - CarrierBilling
        phone_number:
          $ref: '#/components/schemas/PhoneNumber'
        encoded_phone_number:
          type: string
          description: >-
            Read Only. The payment provider-encoded phone number used in the
            Transaction.
        carrier:
          type: string
          description: >-
            The identifier for the carrier, either read from the phone or
            entered by the customer.
        payment_provider:
          $ref: '#/components/schemas/PaymentProvider'
        currency:
          type: string
          description: >-
            ISO 4217 Currency Code for either the static_price_inc_salestax, or
            the dynamic_target_price. (For dynamic pricing, the customer
            currency will be determined by the customer region/countryCode.)
        country_code:
          type: string
          description: ISO 3166-1 alpha-2 Country Code for the customer’s location.
        price_criteria:
          $ref: '#/components/schemas/PriceCriteria'
        account_identifier:
          maxLength: 255
          type: string
          description: Unique billing account identifier from Payment Provider BSS.
          nullable: false
        carrier_billing_account_identifier_type:
          type: string
          description: the type of the account_identifier. Enumerated.
          example: MSISDN
          enum:
            - BAN
            - MSISDN
        customer_identifier:
          maxLength: 255
          type: string
          description: >
            Unique MSISDN or other billing account identifier from Payment
            Provider's BSS.
          nullable: true
          example: not yet available - see VIN-26551
        customer_identifier_type:
          maxLength: 255
          type: string
          description: >
            Identifier for the channel from which the customer_identifier value
            originated
          nullable: true
          example: PoS , Web
        validated:
          type: string
          description: Indicates if the payment method is validated
          nullable: true
      description: This object defines Telco carrier billing details.
    CSPPaymentMethod:
      required:
        - active
        - id
        - primary
        - type
      type: object
      properties:
        type:
          type: string
          enum:
            - ExternalBilling
            - MerchantAcceptedPayment
            - CarrierBilling
        id:
          $ref: '#/components/schemas/ID'
        external_billing:
          $ref: '#/components/schemas/SCR_ExternalBilling'
        merchant_accepted_payment:
          $ref: '#/components/schemas/SCR_MerchantAcceptedPayment'
        carrier_billing:
          $ref: '#/components/schemas/CarrierBilling'
        active:
          type: boolean
          description: Active and available for use.
        primary:
          type: boolean
          description: Primary/default payment method for the account.
        status:
          type: string
          description: Status of the payment method
          enum:
            - ACTIVE
            - SUSPENDEDLS
            - SUSPENDEDNP
            - INACTIVE
        metadata:
          $ref: '#/components/schemas/METADATA'
    PhoneNumber:
      required:
        - area_code
        - country_code
        - extension
        - local_number
        - object
        - phone_type
      type: object
      properties:
        object:
          type: string
          description: Value is "PhoneNumber"
          enum:
            - PhoneNumber
        phone_type:
          type: string
          description: >-
            Type or Use designation for the phone number. Value can be CS, Fax,
            Home, Main, Mobile, Pager, Unspecified, Work
          enum:
            - CS
            - Fax
            - Home
            - Main
            - Mobile
            - Pager
            - Unspecified
            - Work
        country_code:
          maxLength: 8
          pattern: ^\d+$
          type: string
          description: Country Code segment of a phone number.
        area_code:
          maxLength: 8
          pattern: ^\d+$
          type: string
          description: Area Code segment of a phone number.
        local_number:
          maxLength: 16
          pattern: ^\d+$
          type: string
          description: Local segment of a phone number (excluding extension).
        extension:
          maxLength: 16
          pattern: ^\d+$
          type: string
          description: Phone number extension.
        raw_input:
          type: string
          description: Raw, unfiltered data input by customer.
      description: >-
        The payment providers object represents processor or payment channel
        used to transact a particular charge.
    PaymentProvider:
      type: object
      properties:
        object:
          type: string
          description: Value is "PaymentProvider"
          enum:
            - PaymentProvider
        name:
          type: string
          description: Provider Name
        dispute_address:
          type: string
          description: Contact address for written disputes.
        dispute_email:
          type: string
          description: Contact email for electronic disputes.
        dispute_uri:
          type: string
          description: Contact URL for online disputes.
        auth_expiration_days:
          type: integer
          description: Default expiration timing (days) for un-captured authorizations.
        auth_currency_override:
          type: string
          description: Currency override for Authorizations
        metadata:
          type: object
          description: >-
            A set of key/value pairs that you can attach to an object. Useful
            for storing additional information.
      description: >-
        The payment providers object represents processor or payment channel
        used to transact a particular charge.
    PriceCriteria:
      type: object
      properties:
        object:
          type: string
          description: Value is "PriceCriteria"
          enum:
            - PriceCriteria
        payment_provider:
          $ref: '#/components/schemas/PaymentProvider'
        currency:
          type: string
          description: >-
            ISO 4217 Currency Code for for either the static_price_inc_salestax,
            or the dynamic_target_price Overrides CarrierBilling.currency.
        country_code:
          type: string
          description: >-
            ISO 3166-1 alpha-2 countryCode for customer location. Overrides
            CarrierBilling.countryCode.
        price_point_deviation_policy:
          type: string
          description: >-
            The price deviation policy for dynamic price selection. Value can be
            HiOnly, HiPreferred, LowOnly, LowPreferred, NearestNoPreference
          enum:
            - HiOnly
            - HiPreferred
            - LowOnly
            - LowPreferred
            - NearestNoPreference
        dynamic_price_mode:
          type: string
          description: >-
            Specifies which price point element is matched by the dynamic
            pricing algorithm. Values can be PayoutGross, PayoutNet, Price
          enum:
            - PayoutGross
            - PayoutNet
            - Price
        merchant_service_identifier:
          type: string
          description: Service identifier for Payment Provider/Merchant.
        sub_merchant_identifier:
          type: string
          description: Optional identifier of sub-merchant associated with Transaction.
        description:
          type: string
          description: ''
        fwd_url:
          type: string
          description: >-
            Overrides both the successful transaction forward-to URL and the
            failed transaction forward-to URL.
        static_selection_row_ref:
          type: integer
          description: Row number identifier in the static product/service price matrix
        static_price_inc_sales_tax:
          type: string
          description: >-
            Price including tax (the actual amount the consumer will pay). Used
            with Transactions with static ‘exact match’ pricing.
          format: decimal
        dynamic_deviation:
          type: integer
          description: >-
            The percent deviation (+/- 1000) from the target value that is
            acceptable as a price point selection.
        dynamic_match:
          type: integer
          description: >-
            The percent deviation (+/- 1000) from the target value that is
            classified as an exact match.
        dynamic_target_price:
          type: string
          description: Target price in the specified currency for dynamic pricing.
          format: decimal
      description: Price Criteria details used with telco carrier billing payment methods.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: The authorization key obtained from MarketONE.
      name: X-API-KEY
      in: header

````

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