diff --git a/docs/index.html b/docs/index.html index 5b33145..40fa571 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,410 +12,410 @@ margin: 0; } - -

Splitwise API (3.0.0)

Download OpenAPI specification:

Introduction

Splitwise API (3.0.0)

Download OpenAPI specification:

Introduction

on GitHub. We're a small team, so we may not have an instant fix, but we'll get back to you as soon as we're able. (If you spot an issue in our API documentation itself, feel free to open a pull request to update this website!)

-

Third-Party SDKs

Third-Party SDKs

The development community has built a number of unofficial, third-party SDKs for Splitwise in a variety of different languages.

Terms of Use

Overview

Terms of Use

Overview

Splitwise provides this Self-Serve API to facilitate integrations with third-party applications, as well as open-up functionality for hobbyists and power users to programmatically interact with their own Splitwise account and build plugins or other tools.

-

If you’re interested in integrating your commercial application with Splitwise, we strongly encourage you to contact developers@splitwise.com so our development team can help discuss your use case, provide private APIs and Enterprise support, and offer an appropriate commercial license for the integration. The Self-Serve API documented here may be suitable for internal prototyping and other exploratory work.

-

If you are developing a non-commercial plugin application or personal project, we recommend you make use of the Self-Serve API documented here under the API Terms Of Use. Please be aware that our Self-Serve API has conservative rate and access limits, which are subject to change at any time and not well suited to commercial projects. If this is a problem for your use case, please contact us at developers@splitwise.com to discuss your needs.

+

If you’re interested in integrating your commercial application with Splitwise, we strongly encourage you to contact developers@splitwise.com so our development team can help discuss your use case, provide private APIs and Enterprise support, and offer an appropriate commercial license for the integration. The Self-Serve API documented here may be suitable for internal prototyping and other exploratory work.

+

If you are developing a non-commercial plugin application or personal project, we recommend you make use of the Self-Serve API documented here under the API Terms Of Use. Please be aware that our Self-Serve API has conservative rate and access limits, which are subject to change at any time and not well suited to commercial projects. If this is a problem for your use case, please contact us at developers@splitwise.com to discuss your needs.

All Self-Service API users are subject to the API Terms of Use below.

-

TERMS OF USE

TERMS OF USE

Users

Users

Resources to access and modify user information.

-

Get information about the current user

Authorizations:
OAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

Get information about another user

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

Update a user

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer
Request Body schema: application/json
required
first_name
string
last_name
string
email
string
password
string
locale
string
default_currency
string

Responses

Request samples

Content type
application/json
{
  • "first_name": "string",
  • "last_name": "string",
  • "email": "string",
  • "password": "string",
  • "locale": "string",
  • "default_currency": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "first_name": "Ada",
  • "last_name": "Lovelace",
  • "email": "ada@example.com",
  • "registration_status": "confirmed",
  • "picture": {
    },
  • "custom_picture": false
}

Groups

Get information about the current user

Authorizations:
OAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

Get information about another user

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

Update a user

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer
Request Body schema: application/json
required
first_name
string
last_name
string
email
string
password
string
locale
string
default_currency
string

Responses

Request samples

Content type
application/json
{
  • "first_name": "string",
  • "last_name": "string",
  • "email": "string",
  • "password": "string",
  • "locale": "string",
  • "default_currency": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "first_name": "Ada",
  • "last_name": "Lovelace",
  • "email": "ada@example.com",
  • "registration_status": "confirmed",
  • "picture": {
    },
  • "custom_picture": false
}

Groups

A Group represents a collection of users who share expenses together. For example, some users use a Group to aggregate expenses related to a home. Others use it to represent a trip. Expenses assigned to a group are split among the users of that group. Importantly, two users in a Group can also have expenses with one another outside of the Group.

-

List the current user's groups

Note: Expenses that are not associated with a group are listed in a group with ID 0.

-
Authorizations:
OAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get information about a group

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{}

Create a group

List the current user's groups

Note: Expenses that are not associated with a group are listed in a group with ID 0.

+
Authorizations:
OAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get information about a group

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{}

Create a group

Creates a new group. Adds the current user to the group by default.

+" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Creates a new group. Adds the current user to the group by default.

Note: group user parameters must be flattened into the format users__{index}__{property}, where property is user_id, first_name, last_name, or email. The user's email or ID must be provided.

-
Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
name
required
string
group_type
string
Enum: "home" "trip" "couple" "other" "apartment" "house"
Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
name
required
string
group_type
string
Enum: "home" "trip" "couple" "other" "apartment" "house"

What is the group used for?

+" class="sc-eVqvcJ sc-fszimp kIppRw drqpJr">

What is the group used for?

Note: It is recommended to use home in place of house or apartment.

-
simplify_by_default
boolean

Turn on simplify debts?

-
users__{index}__{property}*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "name": "The Brain Trust",
  • "group_type": "trip",
  • "users__0__first_name": "Alan",
  • "users__0__last_name": "Turing",
  • "users__0__email": "alan@example.org",
  • "users__1__id": 5823
}

Response samples

Content type
application/json
{}

Delete a group

Delete an existing group. Destroys all associated records (expenses, etc.)

-
Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Restore a group

simplify_by_default
boolean

Turn on simplify debts?

+
users__{index}__{property}*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "name": "The Brain Trust",
  • "group_type": "trip",
  • "users__0__first_name": "Alan",
  • "users__0__last_name": "Turing",
  • "users__0__email": "alan@example.org",
  • "users__1__id": 5823
}

Response samples

Content type
application/json
{}

Delete a group

Delete an existing group. Destroys all associated records (expenses, etc.)

+
Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Restore a group

Restores a deleted group.

+" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Restores a deleted group.

Note: 200 OK does not indicate a successful response. You must check the success value of the response.

-
Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
Example
{
  • "success": true
}

Add a user to a group

Note: 200 OK does not indicate a successful response. You must check the success value of the response.

-
Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
One of
group_id
required
integer
user_id
required
integer

Responses

Request samples

Content type
application/json
Example
{
  • "group_id": 49012,
  • "user_id": 7999632
}

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "user": { },
  • "errors": { }
}

Remove a user from a group

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
Example
{
  • "success": true
}

Add a user to a group

Note: 200 OK does not indicate a successful response. You must check the success value of the response.

+
Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
One of
group_id
required
integer
user_id
required
integer

Responses

Request samples

Content type
application/json
Example
{
  • "group_id": 49012,
  • "user_id": 7999632
}

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "user": { },
  • "errors": { }
}

Remove a user from a group

Remove a user from a group. Does not succeed if the user has a non-zero balance.

+" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Remove a user from a group. Does not succeed if the user has a non-zero balance.

Note: 200 OK does not indicate a successful response. You must check the success value of the response.

-
Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
group_id
required
integer
user_id
required
integer

Responses

Request samples

Content type
application/json
{
  • "group_id": 4012,
  • "user_id": 940142
}

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "errors": { }
}

Friends

List current user's friends

Note: group objects only include group balances with that friend.

-
Authorizations:
OAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "friends": [
    ]
}

Get details about a friend

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

User ID of the friend

-

Responses

Response samples

Content type
application/json
{
  • "friend": {
    }
}

Add a friend

Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
group_id
required
integer
user_id
required
integer

Responses

Request samples

Content type
application/json
{
  • "group_id": 4012,
  • "user_id": 940142
}

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "errors": { }
}

Friends

List current user's friends

Note: group objects only include group balances with that friend.

+
Authorizations:
OAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "friends": [
    ]
}

Get details about a friend

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

User ID of the friend

+

Responses

Response samples

Content type
application/json
{
  • "friend": {
    }
}

Add a friend

Adds a friend. If the other user does not exist, you must supply user_first_name. +" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Adds a friend. If the other user does not exist, you must supply user_first_name. If the other user exists, user_first_name and user_last_name will be ignored.

-
Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
user_email
string
user_first_name
string
user_last_name
string

Responses

Request samples

Content type
application/json
{
  • "user_email": "ada@example.com",
  • "user_first_name": "Ada",
  • "user_last_name": "Lovelace"
}

Response samples

Content type
application/json
{
  • "friend": {
    }
}

Add friends

Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
user_email
string
user_first_name
string
user_last_name
string

Responses

Request samples

Content type
application/json
{
  • "user_email": "ada@example.com",
  • "user_first_name": "Ada",
  • "user_last_name": "Lovelace"
}

Response samples

Content type
application/json
{
  • "friend": {
    }
}

Add friends

Add multiple friends at once.

-

For each user, if the other user does not exist, you must supply friends__{index}__first_name.

-

Note: user parameters must be flattened into the format friends__{index}__{property}, where +" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Add multiple friends at once.

+

For each user, if the other user does not exist, you must supply users__{index}__first_name.

+

Note: user parameters must be flattened into the format users__{index}__{property}, where property is first_name, last_name, or email.

-
Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
friends__{index}__{property}*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "friends__0__first_name": "Alan",
  • "friends__0__last_name": "Turing",
  • "friends__0__email": "alan@example.org",
  • "friends__1__email": "existing_user@example.com"
}

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "errors": {
    }
}

Delete friendship

Authorizations:
OAuthApiKeyAuth
Request Body schema: application/json
required
users__{index}__{property}*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "users__0__first_name": "Alan",
  • "users__0__last_name": "Turing",
  • "users__0__email": "alan@example.org",
  • "users__1__email": "existing_user@example.com"
}

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "errors": {
    }
}

Delete friendship

Given a friend ID, break off the friendship between the current user and the specified user.

+" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Given a friend ID, break off the friendship between the current user and the specified user.

Note: 200 OK does not indicate a successful response. You must check the success value of the response.

-
Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

User ID of the friend

-

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "errors": [ ]
}

Expenses

Get expense information

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "expense": {
    }
}

List the current user's expenses

Authorizations:
OAuthApiKeyAuth
query Parameters
group_id
integer

If provided, only expenses in that group will be returned, and friend_id will be ignored.

-
friend_id
integer

ID of another user. If provided, only expenses between the current and provided user will be returned.

-
dated_after
string <date-time>
dated_before
string <date-time>
updated_after
string <update-time>
updated_before
string <date-time>
limit
integer
Default: 20
offset
integer
Default: 0

Responses

Response samples

Content type
application/json
{
  • "expenses": [
    ]
}

Create an expense

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

User ID of the friend

+

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "errors": [ ]
}

Expenses

Get expense information

Authorizations:
OAuthApiKeyAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "expense": {
    }
}

List the current user's expenses

Authorizations:
OAuthApiKeyAuth
query Parameters
group_id
integer

If provided, only expenses in that group will be returned, and friend_id will be ignored.

+
friend_id
integer

ID of another user. If provided, only expenses between the current and provided user will be returned.

+
dated_after
string <date-time>
dated_before
string <date-time>
updated_after
string <update-time>
updated_before
string <date-time>
limit
integer
Default: 20
offset
integer
Default: 0

Responses

Response samples

Content type
application/json
{
  • "expenses": [
    ]
}

Create an expense

Creates an expense. You may either split an expense equally (only with group_id provided), +" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

Creates an expense. You may either split an expense equally (only with group_id provided), or supply a list of shares.

When splitting equally, the authenticated user is assumed to be the payer.

When providing a list of shares, each share must include paid_share and owed_share, and must be identified by one of the following:

@@ -1113,113 +1123,113 @@
  • user_id
  • Note: 200 OK does not indicate a successful response. The operation was successful only if errors is empty.

    -
    Authorizations:
    OAuthApiKeyAuth
    Request Body schema: application/json
    required
    One of
    cost
    required
    string

    A string representation of a decimal value, limited to 2 decimal places

    -
    description
    required
    string

    A short description of the expense

    -
    details
    string or null

    Also known as "notes."

    -
    date
    string <date-time>

    The date and time the expense took place. May differ from created_at

    -
    repeat_interval
    string
    Enum: "never" "weekly" "fortnightly" "monthly" "yearly"
    currency_code
    string

    A currency code. Must be in the list from get_currencies

    -
    category_id
    integer

    A category id from get_categories

    -
    group_id
    required
    integer

    The group to put this expense in.

    -
    split_equally
    required
    boolean
    Value: true

    Responses

    Request samples

    Content type
    application/json
    Example
    {
    • "cost": "25",
    • "description": "Grocery run",
    • "details": "string",
    • "date": "2012-05-02T13:00:00Z",
    • "repeat_interval": "never",
    • "currency_code": "USD",
    • "category_id": 15,
    • "group_id": 0,
    • "split_equally": true
    }

    Response samples

    Content type
    application/json
    {
    • "expenses": [
      ],
    • "errors": { }
    }

    Update an expense

    Authorizations:
    OAuthApiKeyAuth
    Request Body schema: application/json
    required
    One of
    cost
    required
    string

    A string representation of a decimal value, limited to 2 decimal places

    +
    description
    required
    string

    A short description of the expense

    +
    details
    string or null

    Also known as "notes."

    +
    date
    string <date-time>

    The date and time the expense took place. May differ from created_at

    +
    repeat_interval
    string
    Enum: "never" "weekly" "fortnightly" "monthly" "yearly"
    currency_code
    string

    A currency code. Must be in the list from get_currencies

    +
    category_id
    integer

    A category id from get_categories

    +
    group_id
    required
    integer

    The group to put this expense in.

    +
    split_equally
    required
    boolean
    Value: true

    Responses

    Request samples

    Content type
    application/json
    Example
    {
    • "cost": "25",
    • "description": "Grocery run",
    • "details": "string",
    • "date": "2012-05-02T13:00:00Z",
    • "repeat_interval": "never",
    • "currency_code": "USD",
    • "category_id": 15,
    • "group_id": 0,
    • "split_equally": true
    }

    Response samples

    Content type
    application/json
    {
    • "expenses": [
      ],
    • "errors": { }
    }

    Update an expense

    Updates an expense. Parameters are the same as in create_expense, but you only need to include parameters +" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

    Updates an expense. Parameters are the same as in create_expense, but you only need to include parameters that are changing from the previous values. If any values is supplied for users__{index}__{property}, all shares for the expense will be overwritten with the provided values.

    Note: 200 OK does not indicate a successful response. The operation was successful only if errors is empty.

    -
    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    ID of the expense to update

    -
    Request Body schema: application/json
    required
    cost
    required
    string

    A string representation of a decimal value, limited to 2 decimal places

    -
    description
    required
    string

    A short description of the expense

    -
    details
    string or null

    Also known as "notes."

    -
    date
    string <date-time>

    The date and time the expense took place. May differ from created_at

    -
    repeat_interval
    string
    Enum: "never" "weekly" "fortnightly" "monthly" "yearly"
    currency_code
    string

    A currency code. Must be in the list from get_currencies

    -
    category_id
    integer

    A category id from get_categories

    -
    group_id
    required
    integer

    The group to put this expense in, or 0 to create an expense outside of a group.

    -
    users__0__user_id
    integer
    users__0__paid_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user paid for the expense

    -
    users__0__owed_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user owes for the expense

    -
    users__1__first_name
    string
    users__1__last_name
    string
    users__1__email
    string
    users__1__paid_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user paid for the expense

    -
    users__1__owed_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user owes for the expense

    -
    users__{index}__{property}*
    additional property
    string

    Responses

    Request samples

    Content type
    application/json
    {
    • "cost": "25",
    • "description": "Grocery run",
    • "details": "string",
    • "date": "2012-05-02T13:00:00Z",
    • "repeat_interval": "never",
    • "currency_code": "USD",
    • "category_id": 15,
    • "group_id": 0,
    • "users__0__user_id": 54123,
    • "users__0__paid_share": "25",
    • "users__0__owed_share": "13.55",
    • "users__1__first_name": "Neu",
    • "users__1__last_name": "Yewzer",
    • "users__1__email": "neuyewxyz@example.com",
    • "users__1__paid_share": "0",
    • "users__1__owed_share": "11.45",
    • "users__{index}__{property}1": "string",
    • "users__{index}__{property}2": "string"
    }

    Response samples

    Content type
    application/json
    {
    • "expenses": [
      ],
    • "errors": { }
    }

    Delete an expense

    Note: 200 OK does not indicate a successful response. The operation was successful only if success is true.

    -
    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    ID of the expense to delete

    -

    Responses

    Response samples

    Content type
    application/json
    Example
    {
    • "success": true
    }

    Restore an expense

    Note: 200 OK does not indicate a successful response. The operation was successful only if success is true.

    -
    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    ID of the expense to restore

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "success": true
    }

    Comments

    Get expense comments

    Authorizations:
    OAuthApiKeyAuth
    query Parameters
    expense_id
    required
    integer
    Example: expense_id=4193

    Responses

    Response samples

    Content type
    application/json
    {
    • "comments": [
      ]
    }

    Create a comment

    Authorizations:
    OAuthApiKeyAuth
    Request Body schema: application/json
    required
    expense_id
    integer
    content
    string

    Responses

    Request samples

    Content type
    application/json
    {
    • "expense_id": 5123,
    • "content": "Does this include the delivery fee?"
    }

    Response samples

    Content type
    application/json
    {
    • "comment": {
      }
    }

    Delete a comment

    Deletes a comment. Returns the deleted comment.

    -
    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    Responses

    Response samples

    Content type
    application/json
    {
    • "comment": {
      }
    }

    Notifications

    Get notifications

    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    ID of the expense to update

    +
    Request Body schema: application/json
    required
    cost
    required
    string

    A string representation of a decimal value, limited to 2 decimal places

    +
    description
    required
    string

    A short description of the expense

    +
    details
    string or null

    Also known as "notes."

    +
    date
    string <date-time>

    The date and time the expense took place. May differ from created_at

    +
    repeat_interval
    string
    Enum: "never" "weekly" "fortnightly" "monthly" "yearly"
    currency_code
    string

    A currency code. Must be in the list from get_currencies

    +
    category_id
    integer

    A category id from get_categories

    +
    group_id
    required
    integer

    The group to put this expense in, or 0 to create an expense outside of a group.

    +
    users__0__user_id
    integer
    users__0__paid_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user paid for the expense

    +
    users__0__owed_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user owes for the expense

    +
    users__1__first_name
    string
    users__1__last_name
    string
    users__1__email
    string
    users__1__paid_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user paid for the expense

    +
    users__1__owed_share
    string

    Decimal amount as a string with 2 decimal places. The amount this user owes for the expense

    +
    users__{index}__{property}*
    additional property
    string

    Responses

    Request samples

    Content type
    application/json
    {
    • "cost": "25",
    • "description": "Grocery run",
    • "details": "string",
    • "date": "2012-05-02T13:00:00Z",
    • "repeat_interval": "never",
    • "currency_code": "USD",
    • "category_id": 15,
    • "group_id": 0,
    • "users__0__user_id": 54123,
    • "users__0__paid_share": "25",
    • "users__0__owed_share": "13.55",
    • "users__1__first_name": "Neu",
    • "users__1__last_name": "Yewzer",
    • "users__1__email": "neuyewxyz@example.com",
    • "users__1__paid_share": "0",
    • "users__1__owed_share": "11.45",
    • "users__{index}__{property}1": "string",
    • "users__{index}__{property}2": "string"
    }

    Response samples

    Content type
    application/json
    {
    • "expenses": [
      ],
    • "errors": { }
    }

    Delete an expense

    Note: 200 OK does not indicate a successful response. The operation was successful only if success is true.

    +
    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    ID of the expense to delete

    +

    Responses

    Response samples

    Content type
    application/json
    Example
    {
    • "success": true
    }

    Restore an expense

    Note: 200 OK does not indicate a successful response. The operation was successful only if success is true.

    +
    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    ID of the expense to restore

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "success": true
    }

    Comments

    Get expense comments

    Authorizations:
    OAuthApiKeyAuth
    query Parameters
    expense_id
    required
    integer
    Example: expense_id=4193

    Responses

    Response samples

    Content type
    application/json
    {
    • "comments": [
      ]
    }

    Create a comment

    Authorizations:
    OAuthApiKeyAuth
    Request Body schema: application/json
    required
    expense_id
    integer
    content
    string

    Responses

    Request samples

    Content type
    application/json
    {
    • "expense_id": 5123,
    • "content": "Does this include the delivery fee?"
    }

    Response samples

    Content type
    application/json
    {
    • "comment": {
      }
    }

    Delete a comment

    Deletes a comment. Returns the deleted comment.

    +
    Authorizations:
    OAuthApiKeyAuth
    path Parameters
    id
    required
    integer

    Responses

    Response samples

    Content type
    application/json
    {
    • "comment": {
      }
    }

    Notifications

    Get notifications

    Return a list of recent activity on the users account with the most recent items first. +" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

    Return a list of recent activity on the users account with the most recent items first. content will be suitable for display in HTML and uses only the <strong>, <strike>, <small>, <br> and <font color="#FFEE44"> tags.

    The type value indicates what the notification is about. Notification types may be added in the future @@ -1379,31 +1389,31 @@

    Note: While all parameters are optional, the server sets arbitrary (but large) limits on the number of notifications returned if you set a very old updated_after value or limit of 0 for a user with many notifications.

    -
    Authorizations:
    OAuthApiKeyAuth
    query Parameters
    updated_after
    string <date-time>
    Example: updated_after=2020-07-28T20:46:00Z

    If provided, returns only notifications after this time.

    -
    limit
    integer
    Default: 0

    Omit (or provide 0) to get the maximum number of notifications.

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "notifications": [
      ]
    }

    Other

    Supported currencies

    Authorizations:
    OAuthApiKeyAuth
    query Parameters
    updated_after
    string <date-time>
    Example: updated_after=2020-07-28T20:46:00Z

    If provided, returns only notifications after this time.

    +
    limit
    integer
    Default: 0

    Omit (or provide 0) to get the maximum number of notifications.

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "notifications": [
      ]
    }

    Other

    Supported currencies

    Returns a list of all currencies allowed by the system. These are mostly ISO 4217 codes, but we do +" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

    Returns a list of all currencies allowed by the system. These are mostly ISO 4217 codes, but we do sometimes use pending codes or unofficial, colloquial codes (like BTC instead of XBT for Bitcoin).

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "currencies": [
      ]
    }

    Supported categories

    Responses

    Response samples

    Content type
    application/json
    {
    • "currencies": [
      ]
    }

    Supported categories

    Returns a list of all categories Splitwise allows for expenses. There are parent categories that represent groups of categories with subcategories for more specific categorization. +" class="sc-eVqvcJ sc-fszimp kIppRw kbZred">

    Returns a list of all categories Splitwise allows for expenses. There are parent categories that represent groups of categories with subcategories for more specific categorization. When creating expenses, you must use a subcategory, not a parent category. If you intend for an expense to be represented by the parent category and nothing more specific, please use the "Other" subcategory.

    -

    Responses

    Response samples

    Content type
    application/json
    {}
    +

    Responses

    Response samples

    Content type
    application/json
    {}