Functions are the core building blocks of data transformation in Bem. Each function type serves a specific purpose:- **Extract**: Extract structured JSON data from unstructured documents (PDFs, emails, images, spreadsheets), with optional layout-aware bounding-box extraction- **Route**: Direct data to different processing paths based on conditions- **Split**: Break multi-page documents into individual pages for parallel processing- **Join**: Combine outputs from multiple function calls into a single result- **Parse**: Render documents into a navigable structure of page-aware sections, named entities, and relationships — designed to be walked by an LLM agent via the [File System API](/api/v3/file-system) (`POST /v3/fs`). Two toggles, both `true` by default: `extractEntities` controls per-document entity and relationship extraction; `linkAcrossDocuments` merges entities into one canonical record per real-world thing across the environment, populating cross-document memory.- **Payload Shaping**: Transform and restructure data using JMESPath expressions- **Enrich**: Enhance data with semantic search against collections- **Send**: Deliver workflow outputs to downstream destinationsUse these endpoints to create, update, list, and manage your functions.
Bem Functions API is one of 22 APIs that Bem publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Functions. The published artifact set on APIs.io includes an OpenAPI specification.
This API exposes
8 operations
across 5 paths,
and defines 67 schemas.
It is described by OpenAPI 3.1.0, at version 1.0.0.
Requests are made against 2 base URLs: https://api.bem.ai, https://api.eu1.bem.ai.
8 operations5 paths67 schemas1 DELETE4 GET1 PATCH2 POST
Metadata
The identity and technical contract details declared by the specification.
Specification
OpenAPI 3.1.0
API Version
1.0.0
Base URL
https://api.bem.ai
Authentication
API Key
Resource Areas
1
Authentication & Security 1
Bem Functions API declares
1 security scheme
for authenticating requests.
An API key is passed in the header as x-api-key (API Key).
By default, every request must be authenticated.
API Key — Authenticate using API Key in request header
Paths & Operations 8
Across 5 paths, the API surfaces 8 operations — 1 DELETE, 4 GET, 1 PATCH, 2 POST. Each is listed below with its method, path, parameters, and response codes.
Functions 8
Functions are the core building blocks of data transformation in Bem. Each function type serves a specific purpose: - Extract: Extract structured JSON data from unstructured docum…
The contract defines 67 schemas that model the data the API accepts and returns. The most detailed are SendFunctionVersion (15 properties), ExtractFunctionVersion (14 properties), SendFunction (14 properties), JoinFunctionVersion (13 properties). Each schema is shown below with its type and property counts.
EnrichFunction
object
9 properties5 required
ParseFunction
object
10 properties4 required
FunctionCopyRequest
object
Request to copy an existing function with a new name and optional customizations.
5 properties2 required
FunctionVersionV3
object
V3 read-side union for function versions. Same shape as the shared FunctionVersion union but with classify in place of route.
PayloadShapingFunction
object
A function that transforms and customizes input payloads using JMESPath expressions. Payload shaping allows you to extract specific data, perform calculations,…
9 properties5 required
ListFunctionsResponseV3
object
2 properties
ClassificationList
array
List of classifications a classify function can produce. Shares the underlying route list shape.
ParseConfig
object
Per-version configuration for a Parse function. Parse renders document pages (PDF, image) via vision LLM and emits structured JSON. The two toggles below indep…
4 properties
FunctionAudit
object
3 properties
UpsertJoinFunction
object
8 properties1 required
UpsertParseFunction
object
6 properties1 required
RenderFunctionVersion
object
10 properties4 required
PayloadShapingFunctionVersion
object
A version of a payload shaping function that transforms and customizes input payloads using JMESPath expressions. Payload shaping allows you to extract specifi…
10 properties5 required
RenderConfig
object
Per-version configuration for a Render function. Render emits a .docx from schema-typed JSON by composing the JSON into a .docx template. The template document…
1 property
CreateClassifyFunction
object
V3 wire form of the classify function create payload.
6 properties2 required
UpsertRenderFunction
object
5 properties1 required
JoinFunctionVersion
object
13 properties8 required
UpsertEnrichFunction
object
2 properties1 required
RenderTemplate
object
6 properties
ExtractFunction
object
A function that extracts structured JSON from documents and images. Accepts a wide range of input types including PDFs, images, spreadsheets, emails, and more.
12 properties8 required
UpsertPayloadShapingFunction
object
A function that transforms and customizes input payloads using JMESPath expressions. Payload shaping allows you to extract specific data, perform calculations,…
5 properties1 required
RenderConfigInput
object
Request-side render configuration. Carries the template document as base64-encoded .docx bytes: the server validates them, stores the template, and derives the…
1 property1 required
CreateParseFunction
object
6 properties2 required
UpdateFunctionV3
object
ClassifyFunctionVersion
object
12 properties7 required
CreateEnrichFunction
object
5 properties2 required
CreateSendFunction
object
10 properties2 required
CreateSplitFunction
object
7 properties2 required
SplitFunctionSemanticPageItemClass
object
4 properties1 required
UpsertSplitFunction
object
7 properties1 required
CreateJoinFunction
object
8 properties2 required
RenderFunction
object
9 properties4 required
enrichStep
object
Single enrichment step configuration. Process Flow (collection source): 1. Extract values from sourceField using JMESPath 2. Perform search against the specifi…
10 properties2 required
UpsertExtractFunction
object
9 properties1 required
SendFunctionVersion
object
15 properties5 required
CreateExtractFunction
object
9 properties2 required
ParseFunctionVersion
object
11 properties4 required
FunctionV3
object
V3 read-side union. Same shape as the shared Function union but with classify in place of route. Legacy transform and analyze functions remain readable via V3.
SendFunction
object
A function that delivers workflow outputs to an external destination. Send functions receive the output of an upstream workflow node and forward it to a webhoo…
14 properties5 required
UpsertSendFunction
object
10 properties1 required
FunctionResponseV3
object
Single-function response wrapper used by V3 function endpoints. V3 wraps individual function responses in a {"function": ...} envelope for consistency with oth…
1 property1 required
SplitFunction
object
11 properties5 required
CreateFunctionV3
object
ExtractFunctionVersion
object
14 properties9 required
enrichEndpoint
object
A named HTTP endpoint that an enrich step can call to fetch enrichment data. The platform makes one request per extracted source value, substituting the value…
13 properties3 required
RenderTemplateInput
object
2 properties1 required
SendDestinationType
string
Destination type for a Send function.
AnalyzeFunctionVersion
object
13 properties8 required
FunctionType
string
The type of the function.
enrichConfig
object
Configuration for an enrich function. How Enrich Functions Work: Enrich functions augment JSON input with data from external sources. They take JSON input (typ…
2 properties1 required
WorkflowUsageInfo
object
4 properties4 required
EnrichFunctionVersion
object
10 properties5 required
ListFunctionVersionsResponseV3
object
2 properties
UserActionSummary
object
6 properties2 required
CreateRenderFunction
object
5 properties3 required
TransformFunctionVersion
object
13 properties8 required
AnalyzeFunction
object
12 properties8 required
ClassifyFunction
object
11 properties7 required
TransformFunction
object
12 properties8 required
FunctionVersionResponseV3
object
Single-function-version response wrapper used by V3 endpoints.
1 property1 required
JoinFunction
object
12 properties8 required
SplitFunctionVersion
object
12 properties5 required
HTTPError
object
Standard HTTP error response
3 properties1 required
CreatePayloadShapingFunction
object
5 properties2 required
ParseExtraFunctionConfiguration
object
Cross-cutting toggles for Parse functions. Mirrors the extraConfig surface on Extract / Join — separated from parseConfig so the per-call Parse output shape st…
1 property
UpsertClassifyFunction
object
V3 create/update variants of the shared function payloads. The V3 Functions API no longer accepts the legacy transform or analyze function types when creating…
6 properties1 required
RenderTemplatePlaceholders
object
The placeholder contract a Render template declares, grouped by how each placeholder is filled. Derived from the template at create/update time by scanning its…
2 properties2 required
Specification
The full machine-readable OpenAPI contract behind this narrative.
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘWhere this information came from
This is an independent, third-party profile of Bem Functions API, published by
API Evangelist. We do not operate, host, resell, or
support these APIs, and we are not affiliated with or endorsed by the company unless stated above.
Everything here is built from publicly available information — the company's own site,
developer portal, documentation, public repositories, and the specifications it publishes for public use.
Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's
public API artifacts, scored against a published rubric. They are not certifications,
endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and
you do not need to justify the request. A removed company is recorded as unrated, never scored
zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy → On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.