This SDK provides a way to interact with the Divvy API
You can install the sdk using npm:
npm install @pliancy/divvy-sdk
Or using yarn:
yarn add @pliancy/divvy-sdk
Or using pnpm:
pnpm install @pliancy/divvy-sdk
To use the SDK, you'll need to initialize it with your API token:
import { Divvy } from ' @pliancy/divvy-sdk'
const divvy = new Divvy({
apiToken: 'your-api-token-here',
env: 'staging', // or 'production'
apiVersion: 'v3',
})
You can list transactions with optional filters:
const transactions = await divvy.transactions.list({
max: 50,
filters: {
cardId: { in: ['card1', 'card2'] },
amount: { gte: 100, lte: 500 },
receiptStatus: { eq: 'VALIDATED' },
occurredTime: { gte: '2023-01-01T00:00:00Z' },
},
})
To retrieve a single transaction by its ID:
const transaction = await divvy.transactions.get('transaction-id-here')
You can list custom fields with optional filters:
const customFields = await divvy.customFields.list({
max: 50,
filters: {
name: { sw: 'Proj' },
retired: { eq: false },
},
})
To retrieve a single custom field by its ID:
const customField = await divvy.customFields.get('custom-field-id-here')
To create a new custom field:
const newCustomField = await divvy.customFields.create({
name: 'Project Code',
description: 'Project code for this transaction',
multiSelect: false,
allowCustomValues: true,
minimumAmountForRequirement: 0,
required: true,
global: false,
values: ['PROJ001', 'PROJ002', 'PROJ003'],
})
To update an existing custom field:
const updatedCustomField = await divvy.customFields.update('custom-field-id', {
name: 'Updated Project Code',
description: 'Updated description',
isRequired: false,
})
To list values for a specific custom field:
const customFieldValues = await divvy.customFields.listValues('custom-field-id', {
max: 50,
filters: {
// Add any filters if needed
},
})
To retrieve a single custom field value:
const customFieldValue = await divvy.customFields.getValue(
'custom-field-id',
'custom-field-value-id',
)
To add new values to an existing custom field:
await divvy.customFields.createValues('custom-field-id', ['PROJ004', 'PROJ005'])
To delete values from a custom field:
await divvy.customFields.deleteValues('custom-field-id', ['value-id-1', 'value-id-2'])
All list methods in the SDK handle pagination automatically. You can specify the max
parameter to control the number of results per page, and the SDK will fetch all pages and return the combined results.
This SDK is written in TypeScript and provides type definitions from the divvy api docs
If you'd like to contribute to the development of this SDK, please make a PR
This SDK is released under the MIT License.