Skip to main content
PUT
/
expenses
/
{id}
Update an expense
curl --request PUT \
  --url https://web.subly.app/api/v1/expenses/{id} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "name": "<string>",
  "category": "<string>",
  "tags": [
    123
  ],
  "type": "subscription",
  "is_recurring": true,
  "billing_freq": 123,
  "billing_range": "day",
  "nextPaymentDate": "2023-11-07T05:31:56Z",
  "initialPaymentDate": "2023-11-07T05:31:56Z",
  "end_date": "2023-11-07T05:31:56Z",
  "refund_deadline": "2023-11-07T05:31:56Z",
  "cost": 123,
  "currency": "<string>",
  "isActive": true,
  "website": "<string>",
  "project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "renewal_date": "2023-11-07T05:31:56Z"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "category": "<string>",
  "tags": [
    123
  ],
  "type": "subscription",
  "is_recurring": true,
  "billing_freq": 123,
  "billing_range": "day",
  "nextPaymentDate": "2023-11-07T05:31:56Z",
  "initialPaymentDate": "2023-11-07T05:31:56Z",
  "end_date": "2023-11-07T05:31:56Z",
  "refund_deadline": "2023-11-07T05:31:56Z",
  "cost": 123,
  "currency": "<string>",
  "isActive": true,
  "website": "<string>",
  "workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "renewal_date": "2023-11-07T05:31:56Z"
}

Authorizations

x-api-key
string
header
required

Your private API key for authentication. This key identifies your workspace for all requests.

Path Parameters

id
string<uuid>
required

The unique identifier for the expense.

Body

application/json
name
string

New name for the expense.

category
string
tags
integer[]
type
enum<string>
Available options:
subscription,
one-time,
ltd
is_recurring
boolean
billing_freq
integer
billing_range
enum<string>
Available options:
day,
week,
month,
year
nextPaymentDate
string<date-time>
initialPaymentDate
string<date-time>
end_date
string<date-time>
refund_deadline
string<date-time>
cost
number<float>
currency
string
isActive
boolean
website
string<uri>
project_id
string<uuid>
renewal_date
string<date-time>

Response

Expense updated successfully.

id
string<uuid>

Unique identifier for the expense.

name
string

Name of the expense (e.g., 'Netflix Subscription').

category
string

Category for the expense (e.g., 'Software').

tags
integer[]

An array of tag IDs for organizational purposes.

type
enum<string>

The type of expense.

Available options:
subscription,
one-time,
ltd
is_recurring
boolean

Flag indicating if the expense is recurring. Automatically true if type is 'subscription'.

billing_freq
integer

Numeric value for the billing frequency (e.g., 1, 3). Required if recurring.

billing_range
enum<string>

The time unit for the billing frequency. Required if recurring.

Available options:
day,
week,
month,
year
nextPaymentDate
string<date-time>

The date of the next scheduled payment. Required if recurring.

initialPaymentDate
string<date-time>

The date the first payment was made.

end_date
string<date-time>

The date the recurring expense is set to end.

refund_deadline
string<date-time>

The final date a refund can be requested.

cost
number<float>

The monetary cost of the expense.

currency
string

The ISO 4217 currency code of the cost (e.g., 'USD', 'AUD').

isActive
boolean

Whether the expense is currently active.

website
string<uri>

URL of the service or product provider.

workspace_id
string<uuid>

Identifier of the workspace this expense belongs to.

project_id
string<uuid>

Identifier of the project this expense is assigned to.

renewal_date
string<date-time>

The date the subscription is set to renew.