organizze

Access and manage the Organizze personal finance API. Use when working with Organizze to manage transactions, accounts, credit cards, invoices, transfers, categories, or budgets. Triggers on any request involving financial records, expenses, income, installments, recurring transactions, credit card invoices, transfers, or balance queries in Organizze.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "organizze" with this command: npx skills add tarcisiopgs/organizze-skill/tarcisiopgs-organizze-skill-organizze

Organizze API

Authentication

Basic auth with User-Agent header (required — returns 400 without it):

import os, base64, urllib.request, json

api_key = os.environ.get('ORGANIZZE_API_KEY', '')
email = 'user@example.com'  # Organizze account email
credentials = base64.b64encode(f'{email}:{api_key}'.encode()).decode()
headers = {
    'Authorization': f'Basic {credentials}',
    'Content-Type': 'application/json',
    'User-Agent': 'myapp/1.0'
}
BASE = 'https://api.organizze.com.br/rest/v2'

Key Conventions

  • Amounts: always in cents (amount_cents). Negative = expense/debit, positive = income/credit.
  • Pagination: /transactions and /invoices default to current month/year. Use ?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD. Dates are rounded to full months.
  • Credit card transactions: have credit_card_id set; bank account transactions have it as null.
  • Transfers: use /transfers endpoint, not /transactions. Creates two linked records (oposite_transaction_id).
  • Category kind: expenses, earnings, or none — use this to distinguish type, not the name. Full schema in references/api_reference.md.
  • Archiving categories: PUT does not support archiving. Use DELETE with replacement_id to reassign transactions first.

Endpoint Map

ResourceEndpoints
AccountsGET/POST /accounts, GET/PUT/DELETE /accounts/{id}
BudgetsGET /budgets, /budgets/{year}, /budgets/{year}/{month}
CategoriesGET/POST /categories, GET/PUT/DELETE /categories/{id}
Credit CardsGET/POST /credit_cards, GET/PUT/DELETE /credit_cards/{id}
InvoicesGET /credit_cards/{id}/invoices, GET /credit_cards/{id}/invoices/{id}
Invoice PaymentsGET /credit_cards/{id}/invoices/{id}/payments
TransactionsGET/POST /transactions, GET/PUT/DELETE /transactions/{id}
TransfersGET/POST /transfers, GET/PUT/DELETE /transfers/{id}
UsersGET /users/{id}

Full schemas and response examples: see references/api_reference.md.

Common Patterns

List transactions for a period

req = urllib.request.Request(
    f'{BASE}/transactions?start_date=2026-02-01&end_date=2026-02-28',
    headers=headers
)
with urllib.request.urlopen(req) as r:
    txs = json.loads(r.read())

Create a simple transaction

body = json.dumps({
    'description': 'Mercado',
    'date': '2026-03-01',
    'amount_cents': -5000,
    'paid': False,
    'account_id': 123,
    'category_id': 456,
    'notes': 'Compras da semana',
    'tags': [{'name': 'alimentacao'}]
}).encode()
req = urllib.request.Request(f'{BASE}/transactions', data=body, headers=headers, method='POST')

Create installment transaction (correct way)

# Use installments_attributes — NOT total_installments (ignored by API)
body = json.dumps({
    'description': 'Notebook',
    'date': '2026-02-01',
    'amount_cents': -150000,
    'paid': False,
    'credit_card_id': 789,
    'category_id': 456,
    'installments_attributes': {'periodicity': 'monthly', 'total': 12}
}).encode()
req = urllib.request.Request(f'{BASE}/transactions', data=body, headers=headers, method='POST')
# Creates 12 monthly installment records automatically

Create recurring (fixed) transaction

body = json.dumps({
    'description': 'Aluguel',
    'date': '2026-03-05',
    'amount_cents': -150000,
    'paid': False,
    'account_id': 123,
    'category_id': 456,
    'recurrence_attributes': {'periodicity': 'monthly'}
}).encode()
# periodicity options: monthly, yearly, weekly, biweekly, bimonthly, trimonthly

Create a transfer between accounts

body = json.dumps({
    'debit_account_id': 111,   # source account (money leaves)
    'credit_account_id': 222,  # destination account (money arrives)
    'amount_cents': 50000,
    'date': '2026-03-01',
    'paid': True
}).encode()
req = urllib.request.Request(f'{BASE}/transfers', data=body, headers=headers, method='POST')
# Credit cards are NOT accepted as transfer source or destination

Update/delete recurring or installment transactions

# Update this and future occurrences
body = json.dumps({'amount_cents': -160000, 'update_future': True}).encode()
# Update ALL occurrences (including past — may affect balance)
body = json.dumps({'amount_cents': -160000, 'update_all': True}).encode()

req = urllib.request.Request(f'{BASE}/transactions/97', data=body, headers=headers, method='PUT')

Check invoices due on a specific date

req = urllib.request.Request(f'{BASE}/credit_cards', headers=headers)
with urllib.request.urlopen(req) as r:
    cards = json.loads(r.read())

for card in cards:
    req = urllib.request.Request(f'{BASE}/credit_cards/{card["id"]}/invoices', headers=headers)
    with urllib.request.urlopen(req) as r:
        invoices = json.loads(r.read())
    for inv in invoices:
        if inv['date'] == target_date and inv.get('balance_cents', 0) != 0:
            pending = abs(inv['balance_cents']) / 100
            print(f'{card["name"]}: R$ {pending:.2f} pendente')

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Downloader tiktok videos

Automatically downloads the latest video (or the N most recent) from a public TikTok account using yt-dlp. Use this skill whenever the user mentions TikTok,...

Registry SourceRecently Updated
0322
stoxca
General

Download-video-tiktok

Télécharge automatiquement la dernière vidéo (ou les N dernières) d'un compte TikTok public via yt-dlp. Utilise ce skill dès que l'utilisateur mentionne TikT...

Registry SourceRecently Updated
0232
stoxca
General

Portugal

Discover Portugal like a local with specific restaurants, hidden gems, wine regions, and tips beyond the tourist traps.

Registry SourceRecently Updated