Complete guide to integrating and using Blockforger
New to Blockforger? This section provides an overview for developers and administrators who are just getting started with the platform.
Blockforger is a visual JSON editor that generates drag-and-drop interfaces for REST APIs. Think of it as Postman's cooler, more visual cousin who actually helps you build things instead of just testing them. It allows you to:
The Blockforger workspace uses Blockly blocks to represent JSON structures. Here's what you need to know:
As a developer or administrator, you'll want to explore these sections:
The main workspace (index.html) is where you build and interact with your API control panel.
The typical workflow in Blockforger follows two main steps:
The workspace is a visual Blockly-based editor where you build JSON structures using drag-and-drop blocks.
The API Control Panel (right side) lets you configure and send API requests.
limit and offset are auto-added for
backend-enabled tenants{blockforger-auth-token} for Firebase ID token{blockforger-email} for user emailValidation errors are displayed in two places for easy visibility:
AI Assist transforms your current JSON using natural language instructions.
hide_ai_assist
tenant property.
AI Preload generates pre-filled JSON objects that comply with your existing schemas using natural language descriptions.
hide_ai_preload tenant property.
hide_ai_preload
tenant property. If validation issues occur, you can proceed anyway and manually fix them in the
workspace.
Blockforger supports keyboard shortcuts for efficient navigation:
Blockforger supports multiple architectural patterns depending on your needs. Choose the workflow that best fits your use case. You can always switch your workflow later: the schemas are what enables all of them.
This workflow is ideal when you already have an existing API and want to build a visual control panel for it.
This workflow provides a complete full-stack solution with managed backend hosting and database storage.
dynamo_backend: "true" in your
tenant's backendoptions. See AWS Integrations for
configuration details. It's literally one flag to get started. We told you we like to keep things
simple.
This workflow combines the managed backend with your own business logic layer, enabled by EventBridge's asynchronous I/O capabilities.
The hybrid model uses EventBridge for asynchronous I/O, allowing your API to implement complex business logic while the managed backend handles persistence:
To enable the hybrid workflow:
dynamo_backend: "true" in your tenant's backendoptionseventbridge-output to publish events from the managed backendeventbridge-input: "true" to receive events in your APIThis section is for administrators and developers who want to set up their own Blockforger integration. If you're just using someone else's form, see the For Beginners section above or the Help page. No judgment - sometimes you just need to fill out a form, and that's totally fine. But if you're here, you're probably ready to build something cool.
For detailed walkthroughs, see the sections below.
A tenant in Blockforger represents a separate API integration. Each tenant has its own schemas, settings, and permissions. Think of tenants as separate apartments in a building - they share the same infrastructure, but each has their own space, rules, and keys.
The Meta Tenant (index.html?tenant=meta) is the central hub for directly managing all tenant configurations. This is where you can modify existing tenants and register new ones. It's like the building manager's office.
The meta tenant workspace is a special workspace where the root schema is always
configuretenant. From here, you can:
The tenant object (see tenant.json schema) contains all tenant configuration:
extension: The tenant identifier/name (required) - use a new
extension to register a new tenantproperties: Tenant-specific properties (subobject - see
tenantproperties.json)
schema: Array of JSON schema strings for the tenant (required)
endpoints: Array of loose endpoints not attached to specific
schemasendpointDescriptions: Descriptions for the endpointsproperties (tenant properties) and
schema (schemas) are subobjects of the tenant object. This means nearly all tenant
configuration options can be managed from the meta tenant workspace by working with the tenant
object structure.
configuretenant as the root schematype to "json" (this is the default value)body property (this will be a tenant schema)extension field to the tenant you want to modifyproperties or schema subobjects as neededtype to "register" (or set it to "json" to
configure schemas simultaneously)body property (this will be a tenant schema)extension field to a new, unique tenant nameproperties and schema subobjectsThere are multiple ways to create a new tenant:
configuretenanttype field to "register" (or set it to "json" to
configure schemas simultaneously)body property to your configuretenant using the dropdown at
the top of the block (this will be a tenant schema)body (tenant) block (see Tenant Settings below)body block to add optional properties like
backendoptions or pagecustomizations
You can also create tenants programmatically via the API or through the billing page.
Tenant settings can be configured in two ways:
configuretenantconfiguretenant block using the dropdown at the top of the
block to add optional fieldsbody property to your configuretenant (this will be a
tenant schema)
body (tenant), add properties like:
route: Base API endpoint URLauthorized_reads: Require authentication for reads (true/false)authenticated_reads: Require Google OAuth for reads (true/false)hide_ai_assist: Hide AI Assist feature (true/false)hide_ai_preload: Hide AI Preload feature (true/false)graphql_query_mode: Enable GraphQL query mode - converts JSON blocks to GraphQL query format (true/false)topic: Topic for the tenant's root blockpresentation: URL to presentation layerbody block to add optional properties like
backendoptions or pagecustomizations
backendoptions property contains advanced settings for
DynamoDB, S3, and EventBridge. See AWS Integrations for details.
To delete a tenant (requires admin permissions):
Schemas define the structure of your API data. Blockforger supports multiple ways to create and manage schemas.
There are four main ways to add schemas:
See Importing from Swagger, Importing from Postman, or Importing from GraphQL for detailed instructions.
See AI Schema Generation for detailed instructions.
jsonschema.json structuresSee Schema Discovery for detailed instructions.
Blockforger can convert Swagger 2.0 and OpenAPI 3.0 specifications into JSON schemas.
// Example: Swagger 2.0 structure
{
"swagger": "2.0",
"paths": {
"/pets": {
"post": {
"requestBody": {
"schema": {
"$ref": "#/definitions/Pet"
}
}
}
}
},
"definitions": {
"Pet": {
"type": "object",
"properties": {
"name": {"type": "string"}
}
}
}
}
Blockforger uses AI to generate JSON schemas from plain English descriptions.
A task management system with tasks that have:
- Title (required string)
- Description (optional string)
- Due date (required date)
- Assignee (user object)
- Status: todo, in-progress, or done (required choice)
- Subtasks (array of task objects)
- Priority: low, medium, high (optional choice)
Users have:
- Name (required string)
- Email (required, must be valid email format)
- Role: admin, member, viewer (optional choice)
The AI will automatically:
Blockforger can now import Postman Collections (v2.1) directly, stripping out variables and test scripts to create clean, usable schemas.
Blockforger can import GraphQL Schema Definition Language (SDL) and convert it to JSON schemas for use with GraphQL query mode.
!)[])graphql_query_mode in tenant properties// Example: GraphQL Schema Definition Language
type Person {
id: ID!
name: String!
age: Int
}
type Query {
people: [Person]
person(id: ID!): Person
}
type Mutation {
addPerson(id: ID!, name: String!, age: Int): Person
}
graphql_query_mode: "true" in your tenant properties. This enables GraphQL query generation from blocks, where only ID fields (fields with GraphQL type ID) are required and all other fields are optional for queries. The system automatically converts your Blockly blocks into GraphQL query strings and wraps them in the {"query": "..."} format for POST requests.
type definitions (skips Query and Mutation types)!) - but in GraphQL query mode, only ID fields are required[] syntax$ref references for custom typesID) marked as required in the schemacountry(code: "US"))countries(filter: { code: { in: ["US", "CA"] } })){"query": "..."} format for POST requestsdata field) and can be loaded back into blocks with auto-reload enabledTo enable GraphQL query mode for an existing tenant:
body property to your configuretenant blockbody (tenant) block, add the properties propertygraphql_query_mode: "true" in the propertiesroute to your GraphQL endpoint URL (e.g., https://countries.trevorblades.com/)Schema Discovery automatically generates JSON schemas by analyzing existing data structures in your workspace. This is perfect when you have sample data and want to create schemas that match its structure.
Schema Discovery analyzes the data in your workspace and automatically:
Schema Discovery automatically detects formats based on field names and values:
To manage schemas for a tenant:
Blockforger uses Firebase Authentication and supports granular permission management.
Blockforger uses Firebase Authentication for user authentication. Users are automatically registered through social login - no account creation step is required.
Permissions control what users can do within a tenant.
Individual schemas can have their own permission requirements via the permsLevel
property:
permsLevel: "read" for read-only schemaspermsLevel: "write" for schemas requiring write accesspermsLevel: "admin" for admin-only schemasAPI keys allow programmatic access to Blockforger APIs without user authentication.
Include the API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Blockforger integrates with AWS services for backend hosting, storage, and event-driven architecture.
Enable backend hosting to get a fully functional REST API backed by DynamoDB.
configuretenantbody property to your configuretenant (this will be a
tenant schema)
body (tenant) block, including
authorized_reads: "true" (recommended for security - users get billed for API
calls)
body block to add the optional
backendoptions property
backendoptions, set dynamo_backend: "true"https://backend.blockforger.zanzalaz.com/{tenant}/{schema}. That's less than a penny
per request at current token rates.
dynamodb_provisioned_read: 0 and dynamodb_provisioned_write: 0
dynamodb_provisioned_read and dynamodb_provisioned_write to
desired valuesdynamodb_provisioned_read: 5, dynamodb_provisioned_write: 2
dynamodb_autoscale_read and dynamodb_autoscale_write{
"dynamodb_provisioned_read": 5,
"dynamodb_autoscale_read": {
"min_capacity": 2,
"max_capacity": 20,
"target_utilization": 70
}
}
EventBridge allows you to publish events when data changes in your backend.
configuretenantbody property to your configuretenant (this will be a
tenant schema)
body (tenant) blockbody block to add the optional
backendoptions property
backendoptions, configure eventbridge-output array with event
configurations:
{
"eventbridge-output": [
{
"eventbridge_arn": "arn:aws:events:us-east-1:720291373173:event-bus/default",
"source": "blockforger-output",
"detail_type": "petstore.POST",
"operations": ["POST", "PUT", "PATCH", "DELETE"],
"schema_names": ["pet", "order"]
}
]
}
backendoptions, set eventbridge-input: "true"Blockforger can write data to S3 in CSV or timestamped JSON formats.
backendoptions, set s3-csv-location to your S3 path (e.g.,
"s3://bucket/prefix/")
s3-csv-optimize: "append" (fast writes) or "query" (sorted binary search)
s3-csv-groupby: Group CSV files by field values per schemabackendoptions, set s3-timestamped-location to your S3 pathBlockforger includes built-in testing capabilities for your APIs.
Blockforger can import and run Postman test suites for your APIs with full backwards-compatibility with Postman.
Blockforger provides real-time schema validation.
Validation errors are displayed in two places for easy visibility:
Customize the appearance and behavior of your Blockforger interface.
Change the overall site theme to match your preferences.
Customize the appearance of blocks in the workspace.
Customize page behavior via tenant properties.
hide_ai_assist: Hide AI Assist featurehide_ai_preload: Hide AI Preload featuregraphql_query_mode: Enable GraphQL query mode - converts JSON blocks to GraphQL query formatauthorized_reads: Require authentication for readsauthenticated_reads: Require Google OAuth for readspresentation: Link to presentation layertopic: Set topic for root blockConfigure these via the Tenant Settings section.
Complete API documentation is available in Swagger format.
View the complete API reference:
View API Docs โThe API documentation includes:
Technical Deep Dive Video
Video will be embedded here
Check back soon for a comprehensive technical walkthrough
Explore these related pages for more information: