Build it
What do you want Openlayer and Frihet 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 Openlayer and Frihet
Triggers and actions 3 triggers ยท 59 actions
Trigger
New ProjectTriggers when a new project is created in your Openlayer workspace.
Trigger
New Test ResultTriggers when a new test result is available for a data source. Useful for alerting on passing or failing model tests.
Action
Create Data SourceCreates a new data source in a project for streaming production data to Openlayer.
Action
Create ProjectCreates a new AI or ML project in your Openlayer workspace.
Action
Create TestCreates a data quality test in a project. Checks for duplicate rows, null values, or row counts.
Action
Delete Inference PipelineDelete an inference pipeline by its ID. DELETE /inference-pipelines/{id}
Action
Delete ProjectDelete a project by its ID. DELETE /projects/{id}
Action
Delete TestDelete a test by its ID. DELETE /tests/{testId}
Action
Evaluate TestEvaluates a test for a specific time range. Use after publishing records to get immediate results.
Action
Find Data SourceFinds a data source (inference pipeline) by name in a project.
Action
Find ProjectFinds a project by name in your Openlayer workspace.
Action
Find Test ResultFinds test results for a data source, including whether each test passed or failed. Filter by outcome or test type to branch an automation on the result.
Action
Get Inference PipelineRetrieve the details around a specific inference pipeline. GET /inference-pipelines/{id}
Action
Get ProjectRetrieves one project by its id. Openlayer has no single-project endpoint, so this reads the workspace's first 100 projects and returns the one matching the id.
Action
Get TestRetrieve a test by ID. GET /tests/{testId}
Action
Get Test ResultRetrieves one test result by its id. Openlayer has no single-result endpoint, so this reads the data source's 100 most recent results and returns the matching one.
Action
List Inference PipelinesList the authenticated user's inference pipelines under a project. GET /projects/{id}/inference-pipelines
Action
List ProjectsLists the projects in your Openlayer workspace, optionally narrowed to one kind of project. Returns up to 100 projects.
Action
List Test ResultsList all results for a test/goal under an inference pipeline. GET /inference-pipelines/{id}/results or GET /tests/{id}/results
Action
List TestsLists the tests in a project, optionally narrowed by kind, archived state or monitoring mode. Returns up to 100 tests.
Action
Publish RecordPublishes an LLM inference record to a data source for monitoring. Streams the model input, output, and metadata to Openlayer.
Action
Update Inference PipelineUpdate an inference pipeline. PUT /inference-pipelines/{id}
Action
Update ProjectUpdate a project. PUT /projects/{id}
Action
Update TestUpdate a test (partial updates allowed). PUT /tests/{testId}
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}
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.