Skip to main content
POST
/
api
/
public
/
v1
/
budgets
/
{id}
/
items
Create budget line item
curl --request POST \
  --url https://app.msportal.ai/api/public/v1/budgets/{id}/items \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "Software",
  "description": "<string>",
  "unitPrice": 1,
  "quantity": 1,
  "recurrence": "One-Time",
  "termMonths": 60,
  "status": "pending",
  "currency": "<string>",
  "notes": "<string>",
  "categoryId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "linkedItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "linkedItemType": "device"
}
'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "type": "Software",
    "description": "<string>",
    "quantity": 1,
    "unitPrice": 1,
    "recurrence": "One-Time",
    "termMonths": 2,
    "annualisedCost": 123,
    "status": "pending",
    "currency": "<string>",
    "notes": "<string>",
    "category": {
      "id": "<string>",
      "name": "<string>"
    },
    "linkedItem": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "type": "device",
      "name": "<string>"
    },
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Use your API key as a Bearer token. API keys can be generated in Settings → Integrations → API Access.

Path Parameters

id
string<uuid>
required

Budget ID

Body

application/json
type
enum<string>
required

Item type (required)

Available options:
Software,
Hardware,
Labour,
Other,
Subscription
description
string
required

Item description (required)

Required string length: 1 - 1000
unitPrice
number
required

Unit price (required)

Required range: x >= 0
quantity
number

Quantity (default: 1)

Required range: x >= 0
recurrence
enum<string>

Recurrence (default: One-Time)

Available options:
One-Time,
Monthly,
Annual
termMonths
integer

Term in months (default: 1)

Required range: 1 <= x <= 120
status
enum<string>

Status (default: draft)

Available options:
pending,
approved,
rejected,
draft
currency
string

Currency code (default: USD)

Required string length: 3
notes
string

Item notes

Maximum string length: 5000
categoryId
string<uuid>

Category ID (from planner_item_types)

linkedItemId
string<uuid>

Linked item ID

linkedItemType
enum<string>

Linked item type

Available options:
device,
planner,
goal,
other

Response

Line item created successfully

data
object
required