Skip to main content
POST
/
accounts
/
{account_id}
/
purchase_proposals
curl --request POST \
  --url https://api.togai.com/accounts/{account_id}/purchase_proposals \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "pricePlanId": "pp.20dINmd0lBg.05sKa",
  "type": "ENTITLEMENT_GRANT",
  "paymentMode": "PREPAID",
  "quantity": 1,
  "purchasePlanOverrides": {
    "rateValues": [
      {
        "CurrencyRateValue": {
          "currency": "USD",
          "rate": 10
        }
      },
      {
        "CurrencyRateValue": {
          "currency": "INR",
          "rate": 150
        }
      }
    ],
    "entitlementRateCards": [
      {
        "EntitlementRateCard": {
          "featureId": "feature.1zYnCiM9Bpg.lv25y",
          "featureCredits": 100,
          "expiryDurationSeconds": 1000
        }
      }
    ]
  }
}
'
{
  "id": "purchase.20rvWRxQcQK.0ZwPG",
  "accountId": "account2394",
  "pricePlanId": "pp.20rqb4MK9ia.TD0eG",
  "createdAt": {},
  "status": "PROPOSAL_ACTIVE",
  "pricePlanOverride": {
    "pricingCycleConfig": {
      "interval": "MONTHLY",
      "startOffset": {
        "dayOffset": 2,
        "monthOffset": "NIL"
      },
      "gracePeriod": 3,
      "anniversaryCycle": false
    }
  },
  "updatedAt": {},
  "effectiveFrom": {},
  "effectiveUntil": {},
  "comment": "Proposal Approved"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

account_id
string
required

account_id corresponding to an account

Maximum string length: 50
Example:

"ACC00001"

Body

application/json

Payload to initiate a proposal

Create a purchase for an account

pricePlanId
string
required

Id of the price plan

type
enum<string>
required

Specifies whether this purchase is for granting entitlements or for an association. If left null, ENTITLEMENT_GRANT is taken as default

Available options:
ENTITLEMENT_GRANT,
ASSOCIATION
paymentMode
enum<string>
required
Available options:
PREPAID,
POSTPAID
quantity
integer<int32>
rateCardQuantities
object
idempotencyKey
string
purchasePlanOverride
object

entitlements override options for purchase of a price plan for an account

associationOverride
object
effectiveFrom
string<date>
effectiveUntil
string<date>
expiryDate
string<date-time>

Response

Response to create proposal request

Represents a Purchase

id
string
required
accountId
string
required
Minimum string length: 1
pricePlanId
string
required
Minimum string length: 1
pricePlanVersion
integer<int32>
required
createdAt
string<date-time>
required
status
enum<string>
required

Status of the purchase

Available options:
SUCCESS,
FAILURE,
PENDING,
IN_PROGRESS,
PROPOSAL_ACTIVE,
PROPOSAL_APPROVED,
PROPOSAL_DECLINED,
PROPOSAL_EXPIRED
type
enum<string>
required
Available options:
ENTITLEMENT_GRANT,
ASSOCIATION
paymentMode
enum<string>
required
Available options:
PREPAID,
POSTPAID
quantity
integer<int32>
rateCardQuantities
object
idempotencyKey
string
purchasePlanOverride
object
associationOverride
object
updatedAt
string<date-time>
effectiveFrom
string<date>
effectiveUntil
string<date>
expiryDate
string<date-time>
price
number
invoiceId
string
invoiceCurrency
string
comment
string
proposalResponseDate
string<date-time>