How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Bem Functions API

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 operations 5 paths 67 schemas 1 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…

POST
/v3/functions
Create a Function
v3-create-function body → 200
GET
/v3/functions
List Functions
v3-list-functions 11 params → 200
POST
/v3/functions/copy
Copy a Function
v3-copy-function body → 200400
DELETE
/v3/functions/{functionName}
Delete a Function
v3-delete-function 1 param → 204
GET
/v3/functions/{functionName}
Get a Function
v3-get-function 1 param → 200
PATCH
/v3/functions/{functionName}
Update a Function
v3-update-function 1 param body → 200
GET
/v3/functions/{functionName}/versions
List Function Versions
v3-list-function-versions 1 param → 200
GET
/v3/functions/{functionName}/versions/{versionNum}
Get a Function Version
v3-get-function-version 2 params → 200

Schemas 67

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 properties 5 required
ParseFunction
object
10 properties 4 required
FunctionCopyRequest
object
Request to copy an existing function with a new name and optional customizations.
5 properties 2 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 properties 5 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 properties 1 required
UpsertParseFunction
object
6 properties 1 required
RenderFunctionVersion
object
10 properties 4 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 properties 5 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 properties 2 required
UpsertRenderFunction
object
5 properties 1 required
JoinFunctionVersion
object
13 properties 8 required
UpsertEnrichFunction
object
2 properties 1 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 properties 8 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 properties 1 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 property 1 required
CreateParseFunction
object
6 properties 2 required
UpdateFunctionV3
object
ClassifyFunctionVersion
object
12 properties 7 required
CreateEnrichFunction
object
5 properties 2 required
CreateSendFunction
object
10 properties 2 required
CreateSplitFunction
object
7 properties 2 required
SplitFunctionSemanticPageItemClass
object
4 properties 1 required
UpsertSplitFunction
object
7 properties 1 required
CreateJoinFunction
object
8 properties 2 required
RenderFunction
object
9 properties 4 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 properties 2 required
UpsertExtractFunction
object
9 properties 1 required
SendFunctionVersion
object
15 properties 5 required
CreateExtractFunction
object
9 properties 2 required
ParseFunctionVersion
object
11 properties 4 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 properties 5 required
UpsertSendFunction
object
10 properties 1 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 property 1 required
SplitFunction
object
11 properties 5 required
CreateFunctionV3
object
ExtractFunctionVersion
object
14 properties 9 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 properties 3 required
RenderTemplateInput
object
2 properties 1 required
SendDestinationType
string
Destination type for a Send function.
AnalyzeFunctionVersion
object
13 properties 8 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 properties 1 required
WorkflowUsageInfo
object
4 properties 4 required
EnrichFunctionVersion
object
10 properties 5 required
ListFunctionVersionsResponseV3
object
2 properties
UserActionSummary
object
6 properties 2 required
CreateRenderFunction
object
5 properties 3 required
TransformFunctionVersion
object
13 properties 8 required
AnalyzeFunction
object
12 properties 8 required
ClassifyFunction
object
11 properties 7 required
TransformFunction
object
12 properties 8 required
FunctionVersionResponseV3
object
Single-function-version response wrapper used by V3 endpoints.
1 property 1 required
JoinFunction
object
12 properties 8 required
SplitFunctionVersion
object
12 properties 5 required
HTTPError
object
Standard HTTP error response
3 properties 1 required
CreatePayloadShapingFunction
object
5 properties 2 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 properties 1 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 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

bem-functions-api-openapi.yml Raw ↑

Other APIs Bem publishes across the network.

Bem Buckets API
Bem Calls API
Bem Collections API
Bem Connectors API
Bem Entity Bulk Seed API
Bem Entity Curation API
Bem Entity Synonyms API
Bem Entity Type Reviewers API
Bem Entity Types API
Bem Errors API
Bem Feedback API
Bem File System API
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.