Budgets & spend – build on Flowtly

Use this curated snapshot of the Flowtly OpenAPI schema to plan integrations, automate workflows, and sync the data your teams rely on.

Documentation status

Last synced on 2024-07-08 12:00 (app version 2.0.0)

Only a subset of entities is made public. Run both sync commands to refresh this documentation when the Flowtly app ships new capabilities.

Budgets & spend

Control financial plans, allocations, and transactions.

Entity overview

Budget

Expose Flowtly budgets to finance tooling to ensure allocations, alerts, and approvals stay synchronized.

Endpoints

GET /api/budgets

List budgets

Retrieve paginated budgets with optional filtering by type or validity.

POST /api/budgets

Create budget

Post a new budget with date window, grouping, and configuration flags.

GET /api/budgets/{id}

Get budget by ID

Fetch a specific budget to inspect allocations and metadata.

PATCH /api/budgets/{id}

Update budget

Patch budget dates, granularity, or configuration flags.

DELETE /api/budgets/{id}

Delete budget

Remove a budget that should no longer be tracked.

GET /api/budget-contractors

List budget-contractors

Retrieve budget-contractor records.

POST /api/budget-contractors

Create budget-contractor

Create a new budget-contractor mapping.

GET /api/budget-contractors/{id}

Get budget-contractor

Fetch a budget-contractor by ID.

DELETE /api/budget-contractors/{id}

Delete budget-contractor

Remove a budget-contractor mapping.

GET /api/budget-employees

List budget-employees

Retrieve employee budget allocations.

POST /api/budget-employees

Create budget-employee

Create a new budget-employee allocation.

GET /api/budget-employees/{id}

Get budget-employee

Fetch a budget-employee allocation.

DELETE /api/budget-employees/{id}

Delete budget-employee

Remove a budget-employee allocation.

GET /api/budget-groups

List budget-groups

Retrieve budget groups.

POST /api/budget-groups

Create budget-group

Create a new budget group.

GET /api/budget-groups/{id}

Get budget-group

Fetch a budget group by ID.

PATCH /api/budget-groups/{id}

Update budget-group

Patch a budget group.

DELETE /api/budget-groups/{id}

Delete budget-group

Remove a budget group.

GET /api/budget-invoices

List budget-invoices

Retrieve budget-linked invoices.

POST /api/budget-invoices

Create budget-invoice

Create a budget invoice mapping.

GET /api/budget-invoices/{id}

Get budget-invoice

Fetch a budget invoice mapping.

DELETE /api/budget-invoices/{id}

Delete budget-invoice

Remove a budget invoice mapping.

GET /api/budget-projects

List budget-projects

Retrieve project allocations under budgets.

POST /api/budget-projects

Create budget-project

Create a budget-project allocation.

GET /api/budget-projects/{id}

Get budget-project

Fetch a budget-project allocation.

DELETE /api/budget-projects/{id}

Delete budget-project

Remove a budget-project allocation.

Use cases

Provision annual cost centers from your ERP and keep Flowtly up to date with the latest limits.
Sync marketing campaign budgets so performance tools can stop spend when Flowtly flags overruns.

Schema fields

Budget-budget.read_budget_employee.read
Field Type Description
id string Unique budget identifier.
name string Human-friendly budget name.
type string Scope of the budget (global or employee).
granularity string Reporting granularity such as month or quarter.
budgetGroup string | null IRI of the budget group this budget belongs to.
dateFrom string | null Start of the budget validity window.
dateTo string | null End of the budget validity window.
config array List of enabled options like spend alerts.
budgetEmployees array Employee allocations contained within the budget.

Examples

POST /api/budgets

Create a global marketing budget

Sets up a FY25 marketing budget tied to an existing budget group with automation flags.

Request payload
{
    "name": "EMEA Marketing FY25",
    "type": "global",
    "granularity": "month",
    "dateFrom": "2024-01-01T00:00:00+00:00",
    "dateTo": "2024-12-31T00:00:00+00:00",
    "budgetGroup": "/api/budget-groups/emarketing",
    "config": [
        "spend_alerts",
        "auto-freeze"
    ]
}
Response payload
{
    "@id": "/api/budgets/bgt_fy25",
    "@type": "Budget",
    "id": "bgt_fy25",
    "name": "EMEA Marketing FY25",
    "type": "global",
    "granularity": "month",
    "dateFrom": "2024-01-01T00:00:00+00:00",
    "dateTo": "2024-12-31T00:00:00+00:00",
    "budgetGroup": "/api/budget-groups/emarketing",
    "config": [
        "spend_alerts",
        "auto-freeze"
    ]
}

Entity overview

Budget transaction

Share spend data bi-directionally so both procurement suites and Flowtly agree on the latest committed amounts.

Endpoints

GET /api/budget-transactions

List budget transactions

Retrieve the ledger of financial events impacting a budget.

POST /api/budget-transactions

Create budget transaction

Link an external transaction and optional employee to a Flowtly budget.

GET /api/budget-transactions/{id}

Get budget transaction

Inspect a transaction linked to a budget to review spend impact.

PATCH /api/budget-transactions/{id}

Update budget transaction

Adjust the linked budget, employee, or booked amount.

DELETE /api/budget-transactions/{id}

Delete budget transaction

Remove an incorrect budget transaction link.

GET /api/income-transactions

List income-transactions

Retrieve income transactions.

POST /api/income-transactions

Create income-transaction

Create an income transaction entry.

GET /api/income-transactions/{id}

Get income-transaction

Fetch an income transaction by ID.

PATCH /api/income-transactions/{id}

Update income-transaction

Patch an income transaction entry.

DELETE /api/income-transactions/{id}

Delete income-transaction

Delete an income transaction entry.

GET /api/project-transactions

List project-transactions

Retrieve project transactions.

POST /api/project-transactions

Create project-transaction

Create a project transaction entry.

PATCH /api/project-transactions/{id}

Update project-transaction

Patch a project transaction entry.

DELETE /api/project-transactions/{id}

Delete project-transaction

Delete a project transaction entry.

GET /api/transactions

List transactions

Retrieve generic transactions.

POST /api/transactions

Create transaction

Create a generic transaction.

GET /api/transactions/{id}

Get transaction

Fetch a transaction by ID.

PATCH /api/transactions/{id}

Update transaction

Patch a transaction.

POST /api/transactions/import

Import transactions

Bulk import transactions.

GET /api/transactions/unassigned

List unassigned transactions

Retrieve transactions not yet linked to a budget.

GET /api/transaction-attachments

List transaction-attachments

Retrieve transaction attachments.

POST /api/transaction-attachments

Create transaction-attachment

Create a transaction attachment.

GET /api/transaction-attachments/{id}

Get transaction-attachment

Fetch a transaction attachment by ID.

PATCH /api/transaction-attachments/{id}

Update transaction-attachment

Patch a transaction attachment.

DELETE /api/transaction-attachments/{id}

Delete transaction-attachment

Delete a transaction attachment.

POST /api/transaction-attachments/create

Upload transaction-attachment

Upload a new transaction attachment.

GET /api/transaction-attachments/search

Search transaction-attachments

Search transaction attachments by query.

Use cases

Push invoice payments from your accounting system so Flowtly reflects true-to-date spend.
Attach HR or vendor expenses to budgets the moment they are approved in your finance stack.

Schema fields

BudgetTransaction-budget_transaction.read_transaction.read
Field Type Description
budget string IRI referencing the impacted budget.
transaction object IRI to the original ERP transaction.
employee string | null Employee tied to the spend (nullable).
amount integer | null Amount booked against the budget.

Examples

POST /api/budget-transactions

Link an ERP transaction to a budget

Associates a vendor invoice with the FY25 marketing budget and records the owner.

Request payload
{
    "budget": "/api/budgets/bgt_fy25",
    "transaction": "/api/transactions/txn_904",
    "employee": "/api/employees/emp_777",
    "amount": 125000
}
Response payload
{
    "@id": "/api/budget-transactions/btr_11",
    "@type": "BudgetTransaction",
    "id": "btr_11",
    "budget": "/api/budgets/bgt_fy25",
    "transaction": "/api/transactions/txn_904",
    "employee": "/api/employees/emp_777",
    "amount": 125000
}
Whatsapp