Appearance
@prici/sdk 
Installation 
shell
# using npm
$ npm i @prici/sdk
# using pnpm
$ pnpm add @prici/sdkGetting Started 
Create an SDK instance:
typescript
import { initialize } from '@prici/sdk';
const sdk = initialize({
  token: process.env.PRICI_TOKEN,
  priciUBaseUrl: process.env.PRICI_BASE_URL
});Create new PlanField 
A plan field is a row field inside your application pricing plans. It can be used by all any plans, or not to be used at all.
typescript
const jiggleField = await sdk.PlanField.insert({
  name: 'Ability to jiggle jiggle',
  kind: FieldKind.Boolean
})
const wiggleField = await sdk.PlanField.insert({
  name: 'Ability to wiggle wiggle',
  kind: FieldKind.Number
})Create new Plan 
A plan field is a row field inside your application pricing plans. It can be used by all any plans, or not to be used at all.
typescript
const basicPlan = await sdk.Plan.insert({
  name: 'Basic',
  fields: [
    { fieldId: jiggleField.id, value: false },
    { fieldId: wiggleField.id, value: 5 },
  ]
})
const advancedPlan = await sdk.PlanField.insert({
  name: 'Advanced',
  fields: [
    { fieldId: jiggleField.id, value: true },
    { fieldId: wiggleField.id, value: 10, canExceedLimit: true },
  ]
})Create new AccountPlan 
An account plan is the actual state of a plan for a specific account. An account can have multiple plans attached.
typescript
const demoAccount = await sdk.AccountPlan.insert({
  accountId: 'demo-account',
  planId: plan.id,
  resetMode: ResetMode.Manual,
  state: {
    [wiggleField.id]: {
      targetLimit: 20, // custom change limit
      currentValue: 4 // // custom change initial value
    }
  }
})