From 546c6a5bce7ffc471980d0c9879705ee3de14be1 Mon Sep 17 00:00:00 2001 From: Athul Anil Thomas Date: Thu, 3 Jul 2025 06:29:41 +0000 Subject: [PATCH 1/4] docs: add splitwise-ts to list of javascript sdk's --- docs/index.html | 12 +++++++----- splitwise.yaml | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/index.html b/docs/index.html index 5b33145..89337c7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -448,6 +448,7 @@ <li>Javascript<ul> <li><a href="https://github.com/keriwarr/splitwise">https://github.com/keriwarr/splitwise</a></li> <li><a href="https://github.com/Bearer/Pizzly">https://github.com/Bearer/Pizzly</a></li> +<li><a href="https://github.com/athulanilthomas/splitwise-ts">https://github.com/athulanilthomas/splitwise-ts</a></li> </ul> </li> <li>Ruby<ul> @@ -488,6 +489,7 @@
  • Javascript
  • Ruby

    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 @@ -1381,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
    {}