Create a Reseller

POST /v1/Resellers

Creates a new Reseller with the provided ResellerViewModel. Available to the roles: csp

Headers

  • X-Tenant string Required

    The domain used to access the portal.

  • Authorization string Required

    JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"

    Default value is Bearer eyJ0eXAiO....

  • X-Correlation-Id string(UUID)

    This header is optional and by setting it you can correlate the audit logs made by this request.

application/json

Body

The reseller info to create the reseller.

  • id string(uuid)

    The reseller Id.

  • companyName string | null Required

    The name of the company associated to the reseller. This may be up to 255 characters.

  • country string | null Required

    The company country. Must be in standard iso 3166-1 alpha 2.

  • addressLine1 string | null Required

    The company address line 1. This may be up to 255 characters.

  • addressLine2 string | null

    The company address line 2. This may be up to 255 characters.

  • city string | null Required

    The company city. This may be up to 255 characters.

  • state string | null Required

    The company state. This may be up to 255 characters.

  • zipCode string | null Required

    The company ZIP. Should be a valid zip according to the company country. This may be up to 30 characters.

  • firstName string | null Required

    The company primary contact first name. This may be up to 255 characters.

  • lastName string | null Required

    The company primary contact last name. This may be up to 255 characters.

  • email string | null Required

    The company primary contact email. This may be up to 255 characters.

  • phone string | null Required

    The company primary contact phone. Should be a valid phone according to the company country. This may be up to 30 characters.

  • internalIdentifier string | null

    The company internal identifier. This may be up to 255 characters.

  • taxId string | null

    The tax id of the company. This may be up to 255 characters.

  • providerResellers array[object] | null Required

    The provider resellers. A list containing the info about this reseller in one or more provider instances.

    Hide providerResellers attributes Show providerResellers attributes object
    • providerInstanceId string(uuid) Required

      The id of the provider instance to which the reseller with ResellerId is associated to. Must always be set.

    • priceMargin object Required

      This value object contains the price margin for this entity.

      Additional properties are NOT allowed.

      Hide priceMargin attribute Show priceMargin attribute object
      • marginRule object Required

        The margin rule applied. Possible values: Markup, Margin, SplitMargin or ErpMinusDiscount

        Additional properties are NOT allowed.

    • offerTypeMargins object | null

      Contains as key the name of the offer type and as value the price margin applied to each offer type for this specific provider instance. Price margins applied at the offer type level will override the price margin applied at the provider instance level. If no price margin is applied to a specific offer type of this provider instance then it will not be in the dictionary. This dictionary is optional.

      Hide offerTypeMargins attribute Show offerTypeMargins attribute object | null
      • * object Additional properties

        This value object contains the price margin for this entity.

        Additional properties are NOT allowed.

        Hide * attribute Show * attribute object
        • marginRule object Required

          The margin rule applied. Possible values: Markup, Margin, SplitMargin or ErpMinusDiscount

          Additional properties are NOT allowed.

    • providerResellerId string | null

      An id that identifies the reseller has on the provider instance. For a Microsoft Tier 2 provider instance set ProviderResellerId to the primary mpn id of the reseller, which is the mpn id that will be used for new subscription purchases. When adding a provider instance to a reseller for a Microsoft Tier 1 environment or a generic provider, don't pass this property on the creation request.

    • resellerProviderData string | null Required

      A json formatted string which contains specific data for the reseller association to the provider instance. For Microsoft Tier 1 resellers, this property can be a empty json: "{}". On Microsoft Tier 2 resellers, this property will be a json with the following format: {"IndirectResellerId":string,"SecondaryMpnIds":string[]}

    • status object

      The status for this entity. Possible values: Processing, Success, Failed

      Additional properties are NOT allowed.

  • Additional properties are NOT allowed.

    Hide customDomain attributes Show customDomain attributes object

Responses

  • OK

  • Created

    Hide response attribute Show response attribute object
    Hide response attribute Show response attribute object
    Hide response attribute Show response attribute object
  • Bad Request

    Hide response attributes Show response attributes object
    • statusCode integer(int32)

      The HTTP status code that represents a specific error scenario.

    • type string | null

      The type of error that occurred.

    • description string | null

      Describes the error scenario that occurred.

    • correlationId string | null

      The correlationId of the request that originated the error.

    • errors array[object] | null

      A list containing the detail of the errors that occurred in this error scenario.

      Hide errors attributes Show errors attributes object
      • propertyName string | null

        The name of the property involved in the error.

      • description array[string] | null

        A description of each error associated with the given property.

    Hide response attributes Show response attributes object
    • statusCode integer(int32)

      The HTTP status code that represents a specific error scenario.

    • type string | null

      The type of error that occurred.

    • description string | null

      Describes the error scenario that occurred.

    • correlationId string | null

      The correlationId of the request that originated the error.

    • errors array[object] | null

      A list containing the detail of the errors that occurred in this error scenario.

      Hide errors attributes Show errors attributes object
      • propertyName string | null

        The name of the property involved in the error.

      • description array[string] | null

        A description of each error associated with the given property.

    Hide response attributes Show response attributes object
    • statusCode integer(int32)

      The HTTP status code that represents a specific error scenario.

    • type string | null

      The type of error that occurred.

    • description string | null

      Describes the error scenario that occurred.

    • correlationId string | null

      The correlationId of the request that originated the error.

    • errors array[object] | null

      A list containing the detail of the errors that occurred in this error scenario.

      Hide errors attributes Show errors attributes object
      • propertyName string | null

        The name of the property involved in the error.

      • description array[string] | null

        A description of each error associated with the given property.

  • Unauthorized

  • Forbidden

  • Internal Server Error

    Hide response attributes Show response attributes object
    • statusCode integer(int32)

      The HTTP status code that represents a specific error scenario.

    • type string | null

      The type of error that occurred.

    • description string | null

      Describes the error scenario that occurred.

    • correlationId string | null

      The correlationId of the request that originated the error.

    • errors array[object] | null

      A list containing the detail of the errors that occurred in this error scenario.

      Hide errors attributes Show errors attributes object
      • propertyName string | null

        The name of the property involved in the error.

      • description array[string] | null

        A description of each error associated with the given property.

    Hide response attributes Show response attributes object
    • statusCode integer(int32)

      The HTTP status code that represents a specific error scenario.

    • type string | null

      The type of error that occurred.

    • description string | null

      Describes the error scenario that occurred.

    • correlationId string | null

      The correlationId of the request that originated the error.

    • errors array[object] | null

      A list containing the detail of the errors that occurred in this error scenario.

      Hide errors attributes Show errors attributes object
      • propertyName string | null

        The name of the property involved in the error.

      • description array[string] | null

        A description of each error associated with the given property.

    Hide response attributes Show response attributes object
    • statusCode integer(int32)

      The HTTP status code that represents a specific error scenario.

    • type string | null

      The type of error that occurred.

    • description string | null

      Describes the error scenario that occurred.

    • correlationId string | null

      The correlationId of the request that originated the error.

    • errors array[object] | null

      A list containing the detail of the errors that occurred in this error scenario.

      Hide errors attributes Show errors attributes object
      • propertyName string | null

        The name of the property involved in the error.

      • description array[string] | null

        A description of each error associated with the given property.

POST /v1/Resellers
curl \
 -X POST https://app-cloudcockpitapi-prod-01.azurewebsites.net/v1/Resellers \
 -H "Content-Type: application/json" \
 -H "X-Tenant: portal.cloudcockpit.com" \
 -H "Authorization: Bearer eyJ0eXAiO..." \
 -H "X-Correlation-Id: string" \
 -d '{"id":"string","companyName":"string","country":"string","addressLine1":"string","addressLine2":"string","city":"string","state":"string","zipCode":"string","firstName":"string","lastName":"string","email":"string","phone":"string","internalIdentifier":"string","taxId":"string","providerResellers":[{"priceMargin":{"value":8,"marginRule":{"name":"markup"}},"offerTypeMargins":{"Value":{"license":{"Value":10,"MarginRule":{"Name":"markup"}}}},"providerInstanceId":"cb3cd15b-1d6e-45be-b493-c71549cbfd87","providerResellerId":"968bd16f-7eca-494d-b29f-440b9ef5cf5d","resellerProviderData":"{\"indirectResellerId\" : \"f94f06fd-dc98-47fb-bd49-63bc98bd87f2\",\"secondaryMpnIds\": [ \"123456\", \"654321\"]}"}],"customDomain":{"customDomain":"string","status":{}}}'
Request examples
# Headers
X-Tenant: portal.cloudcockpit.com
Authorization: Bearer eyJ0eXAiO...
X-Correlation-Id: string

# Payload
{
  "id": "string",
  "companyName": "string",
  "country": "string",
  "addressLine1": "string",
  "addressLine2": "string",
  "city": "string",
  "state": "string",
  "zipCode": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phone": "string",
  "internalIdentifier": "string",
  "taxId": "string",
  "providerResellers": [
    {
      "priceMargin": {
        "value": 8,
        "marginRule": {
          "name": "markup"
        }
      },
      "offerTypeMargins": {
        "Value": {
          "license": {
            "Value": 10,
            "MarginRule": {
              "Name": "markup"
            }
          }
        }
      },
      "providerInstanceId": "cb3cd15b-1d6e-45be-b493-c71549cbfd87",
      "providerResellerId": "968bd16f-7eca-494d-b29f-440b9ef5cf5d",
      "resellerProviderData": "{\"indirectResellerId\" : \"f94f06fd-dc98-47fb-bd49-63bc98bd87f2\",\"secondaryMpnIds\": [ \"123456\", \"654321\"]}"
    }
  ],
  "customDomain": {
    "customDomain": "string",
    "status": {}
  }
}
Response examples (200)
string
Response examples (200)
string
Response examples (201)
{
  "resellerId": "string"
}
Response examples (201)
{
  "resellerId": "string"
}
Response examples (400)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}
Response examples (400)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}
Response examples (500)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}
Response examples (500)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}