Create Contract Using POST

Create Contract Using POST

Create a contract. After creation, the status of the contract will be PENDING_APPROVAL if approval is required, otherwise it will be PENDING_EFFECTIVE_DATE. Request for different contract types. (All fields marked with * are required and fields marked with o are optional.)

| Properties   | PAY-GO | PRE-PAY | CUSTOM |
| ------------ | ------ | ------- | ------ |
| term         |        |    *    |    *   |
| discount     |        |    *    |    *   |
| minCommits   |        |    *    |    *   |
| spf          |        |    *    |    *   |
| prepayment   |        |    *    |        |
| triggerPoint |        |    o    |        |

Pre-authorized roles: Operations

Request
URI
POST
https://{api_host}//vcp.vmware.com/api/aggregator/v1/contracts
COPY
Request Body

Request to create a contract

AggContractCreateRequest of type(s) application/json
Required
{
    "contractSKUId": "e4d8668b-xxxx-xxxx-xxxx-0ba60000002f",
    "serviceProviderContact": "jamessmith@spcorp.com",
    "licenseContact": "avabrown@spcorp.com",
    "aggregatorContact": "bobjohnson@aggcorp.com",
    "systemContact": "mariawilliams@vmware.com",
    "serviceProviderId": "33f574a8-xxxx-xxxx-xxxx-b10700000008",
    "bolDate": "2022-03-21",
    "currency": "USD",
    "billingOrderPreference": "string",
    "vmwarePurchaseOrder": "PO-100000",
    "fillPurchaseOrderInMBO": false,
    "billToAccountId": "533ea6cb-xxxx-xxxx-xxxx-b10700000008",
    "entitlementAccount": 111111,
    "term": "Required for CUSTOM/PREPAY, ignored for PAY-GO",
    "minCommits": [
        "number"
    ],
    "prepayment": "Required for PREPAY, ignored for PAY-GO/CUSTOM",
    "triggerPoint": "Optional for PREPAY, ignored for PAY-GO/CUSTOM",
    "discount": "Required for CUSTOM/PREPAY, ignored for PAY-GO",
    "spf": "Required for CUSTOM/PREPAY, ignored for PAY-GO",
    "comment": "created by harry@sample.com",
    "threshold": 900
}
string
contractSKUId
Required

contractSKUId

string
serviceProviderContact
Required

Cloud service provider contact

string
licenseContact
Optional

Required for RENTAL, SOV and LPCAAS

string
aggregatorContact
Required

aggregatorContact

string
systemContact
Required

VMware contact

string
serviceProviderId
Required

Cloud service provider

string As date As date
bolDate
Required

Start date

string
currency
Required

currency

string
billingOrderPreference
Required

Order preference

Possible values are : ONLINE, EDI,
string
vmwarePurchaseOrder
Required

Purchase Order with VMware

boolean
fillPurchaseOrderInMBO
Optional

Autofill purchase order number into monthly billing order

string
billToAccountId
Required

Bill-to location

string
entitlementAccount
Optional

entitlementAccount

integer As int32 As int32
term
Optional

Term (in Months)

array of number
minCommits
Optional

Minimum commits. Each element is the minimum commit for each month. If the request start date is the first day of the month, the length of minimum commits equals to term, otherwise the length of minimum commits equals to the term plus one. E.g. 1: Start date is 2022-03-01 and term is 12, then the minimum commits are [10,10,10,10,10,10,10,10,10,10,10,10]. E.g. 2: Start date is 2022-03-21 and term is 12, then the minimum commits are [3,10,10,10,10,10,10,10,10,10,10,10,7]. Minimum commits are not required for VELO.

number
prepayment
Optional

Total prepaid, must be greater than or equal to the sum of minimum commits

number
triggerPoint
Optional

Optional. Notify when balance is below trigger point

number
discount
Optional

discount

string
spf
Optional

spf

string
comment
Optional

comment

number
threshold
Optional

Usage threshold, required for MSP contract

Responses
200

OK

Returns Contract of type(s) application/json
{
    "id": "630c2f68-xxxx-xxxx-xxxx-61f8245eaca1",
    "serviceProvider": {
        "name": "Sp Corp",
        "prmId": 1111111
    },
    "aggregatorContact": {
        "firstName": "Bob",
        "lastName": "Johnson",
        "email": "bobjohnson@aggcorp.com"
    },
    "serviceProviderContact": {
        "firstName": "James",
        "lastName": "Smith",
        "email": "jamessmith@spcorp.com"
    },
    "systemContact": {
        "firstName": "Maria",
        "lastName": "Williams",
        "email": "mariawilliams@vmware.com"
    },
    "licenseContact": {
        "firstName": "Ava",
        "lastName": "Brown",
        "email": "avabrown@spcorp.com"
    },
    "eolDate": "2023-03-20",
    "bolDate": "2022-03-21",
    "status": "ACTIVE",
    "contractReferenceNumber": "AMER1111RENTAL",
    "contractSKU": {
        "code": "VSPP3-1800-C",
        "contractType": "PAY-GO",
        "productFamily": {
            "name": "Rental Commercial",
            "code": "RENTAL",
            "type": "RENTAL"
        }
    },
    "contractNumber": 111111,
    "region": "AMER",
    "term": 12,
    "graceTerm": 1,
    "currency": "USD",
    "contractId": 1111,
    "discount": 20,
    "spf": "SPF123",
    "vmwarePurchaseOrder": "PO-100000",
    "billingOrderPreference": "ONLINE",
    "billToAccount": {
        "accountNumber": 10001,
        "location": "location-100010"
    },
    "entitlementAccount": 111111,
    "sellingPricePerPoint": 0.88,
    "fillPurchaseOrderInMBO": false
}
string
id
Optional

id

serviceProvider
Optional

serviceProvider

aggregatorContact
Optional

aggregatorContact

serviceProviderContact
Optional

serviceProviderContact

systemContact
Optional

systemContact

licenseContact
Optional

licenseContact

string As date As date
eolDate
Optional

End date of the contract

string As date As date
bolDate
Optional

Begin date of the contract

string
status
Optional

status

Possible values are : DRAFT, CREATE_IN_PROCESS, ACTIVE, PENDING_EXPIRATION, PENDING_TERMINATION, REJECTED, EXPIRED, TERMINATED, DEACTIVATED,
string
contractReferenceNumber
Optional

contractReferenceNumber

contractSKU
Optional

contractSKU

string
contractNumber
Optional

contractNumber

string
region
Optional

Region of the cloud services provider

integer As int32 As int32
term
Optional

Term of the contract(in months)

integer As int32 As int32
graceTerm
Optional

Grace term(in months) when it's a PAY-GO contract

string
currency
Optional

currency

string
contractId
Optional

Contract id

number
discount
Optional

discount

string
spf
Optional

Contract SPF

string
vmwarePurchaseOrder
Optional

Purchase order with VMware

string
billingOrderPreference
Optional

Billing order preference

Possible values are : EDI, ONLINE, NONE,
billToAccount
Optional

billToAccount

string
entitlementAccount
Optional

Entitlement account

number
sellingPricePerPoint
Optional

Selling price per point

boolean
fillPurchaseOrderInMBO
Optional

Autofill purchase order number into monthly billing orders


400

Bad Request

Operation doesn't return any data structure

401

Unauthorized

Operation doesn't return any data structure

403

Forbidden

Operation doesn't return any data structure