Build it
What do you want Frihet and Timing to do together?
Describe it and your agent reads both APIs, builds the automation, tests every branch and ships it. The list below is what exists today, not the limit.
Ask the assistant
You'll sign in before anything runs. What you typed comes with you.
Or work from Claude Code
Install the APIANT plugin for Claude Code and build, edit, test and read run history from your terminal. Every plan gets this, including free, and it spends no assistant credits.
Connect Claude CodeEverything your agent can do with Frihet and Timing
Triggers and actions 5 triggers · 56 actions
Trigger
New ExpenseFires when a new expense is created. Backed by vendor webhook registration (POST /v1/webhooks, event=expense.created).
Action
Add ClientCreate a client. POST /v1/clients
Action
Add DepositCreate a deposit. POST /v1/deposits
Action
Add ExpenseCreate an expense. POST /v1/expenses
Action
Add InvoiceCreate an invoice. POST /v1/invoices
Action
Add ProductCreate a product. POST /v1/products
Action
Add QuoteCreate a quote. POST /v1/quotes
Action
Add VendorCreate a vendor. POST /v1/vendors
Action
Apply deposit to invoiceApply a deposit balance to an invoice. POST /v1/deposits/{depositId}/apply
Action
Delete ClientDelete a client. DELETE /v1/clients/{clientId}
Action
Delete ExpenseDelete an expense. DELETE /v1/expenses/{expenseId}
Action
Delete InvoiceDelete an invoice. DELETE /v1/invoices/{invoiceId}
Action
Delete ProductDelete a product. DELETE /v1/products/{productId}
Action
Delete QuoteDelete a quote. DELETE /v1/quotes/{quoteId}
Action
Delete VendorDelete a vendor. DELETE /v1/vendors/{vendorId}
Action
Get ClientRetrieve a client by id. GET /v1/clients/{clientId}
Action
Get DepositRetrieve a deposit by id. GET /v1/deposits/{depositId}
Action
Get ExpenseRetrieve an expense by id. GET /v1/expenses/{expenseId}
Action
Get InvoiceRetrieve an invoice by id. GET /v1/invoices/{invoiceId}
Action
Get ProductRetrieve a product by id. GET /v1/products/{productId}
Action
Get QuoteRetrieve a quote by id. GET /v1/quotes/{quoteId}
Action
Get VendorRetrieve a vendor by id. GET /v1/vendors/{vendorId}
Action
List ClientsList clients. GET /v1/clients
Action
List DepositsList deposits. GET /v1/deposits
Action
List ExpensesList expenses. GET /v1/expenses
Action
List InvoicesList invoices. GET /v1/invoices
Action
List ProductsList products. GET /v1/products
Action
List QuotesList quotes. GET /v1/quotes
Action
List VendorsList vendors. GET /v1/vendors
Action
Mark invoice as paidMark an invoice as paid. POST /v1/invoices/{invoiceId}/paid
Action
Send InvoiceSend invoice by email to the client. POST /v1/invoices/{invoiceId}/send
Action
Send QuoteSend quote by email to the client. POST /v1/quotes/{quoteId}/send
Action
Update ClientPartial update a client. PATCH /v1/clients/{clientId}
Action
Update ExpensePartial update an expense. PATCH /v1/expenses/{expenseId}
Action
Update InvoicePartial update an invoice. PATCH /v1/invoices/{invoiceId}
Action
Update ProductPartial update a product. PATCH /v1/products/{productId}
Action
Update QuotePartial update a quote. PATCH /v1/quotes/{quoteId}
Action
Update VendorPartial update a vendor. PATCH /v1/vendors/{vendorId}
Trigger
New ProjectTriggered when a new project is created in Timing.
Trigger
New TeamTriggered when you are added to a new team in Timing.
Trigger
New Time EntryTriggered when a new time entry is logged in Timing.
Trigger
New Timer Started and RunningTriggered when a new timer is started and is still running in Timing.
Action
Batch Update Time EntriesUpdates several Timing time entries at once — moves them to a project, retitles them, sets notes, billing status or custom fields. Anything left blank is left untouched on the entries.
Action
Create ProjectCreates a new project in Timing, optionally under a parent project, and returns the created project.
Action
Create Time EntryLogs a finished block of work in Timing between a start and end time, optionally against a project, and returns the created time entry.
Action
Delete ProjectDeletes a project in Timing, along with all of its child projects.
Action
Delete Time EntryDeletes a time entry in Timing.
Action
Find ProjectSearches your Timing projects by title and returns the first match, plus the full list of matches.
Action
Find TeamFinds a team you belong to in Timing by its name and returns the first match, plus every team whose name matched.
Action
Get Activity HierarchyReturns a readable breakdown of what you worked on in Timing over a date range, as tab-indented text grouped by project and app with durations.
Action
List ProjectsReturns the projects you can see in Timing, optionally filtered by title, team, or hiding archived ones.
Action
List TeamsReturns all the Timing teams you are a member of.
Action
List Time EntriesReturns your Timing time entries, optionally narrowed by date range, project, team member, search text or billing status.
Action
Show Latest Time EntryReturns your most recent time entry in Timing.
Action
Show ProjectReturns a single Timing project with its colour, notes, billing default, parent and child projects.
Action
Show Running TimerReturns the timer that is currently running in Timing. Errors with a not-found if no timer is running.
Action
Show Time EntryReturns a single Timing time entry with its times, duration, project, notes and billing status.
Action
Start TimerStarts a running timer in Timing, stopping any timer that is already running, and returns the new entry.
Action
Stop TimerStops the timer that is currently running in Timing and returns the finished time entry.
Action
Update ProjectUpdates a Timing project's name, colour, notes, archive state or billing default. Anything left blank keeps its current value.
Action
Update Time EntryUpdates a Timing time entry — its times, project, title, notes or billing status. Anything left blank keeps its current value.
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.