FormAssembly Admin API
Admin-only endpoints requiring elevated permissions
Admin-only endpoints requiring elevated permissions
openapi: 3.0.3
info:
title: FormAssembly REST Admin API
description: 'REST API for managing FormAssembly forms, responses, themes, connectors, form elements, and account data. Supports JSON, XML, CSV, and ZIP response formats. OAuth2 authentication is required for all requests. Endpoints vary by deployment edition including Developer Sandbox, FormAssembly.com cloud, and self-hosted Enterprise instances.
'
version: 1.0.0
contact:
name: FormAssembly Developer Hub
url: https://help.formassembly.com/help/working-with-the-formassembly-api
termsOfService: https://www.formassembly.com/terms-of-service/
license:
name: Proprietary
servers:
- url: https://app.formassembly.com
description: FormAssembly.com Cloud
- url: https://developer.formassembly.com
description: Developer Sandbox
- url: https://{instance_name}.tfaforms.net
description: Enterprise / Teams / Government Instance
variables:
instance_name:
default: yourinstance
description: Your FormAssembly enterprise instance name
security:
- oauth2: []
tags:
- name: Admin
description: Admin-only endpoints requiring elevated permissions
paths:
/admin/api_v1/forms/index.{format}:
get:
operationId: adminListForms
summary: List all forms (Admin)
description: Admin-only endpoint that returns all forms across all users in the account.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/formatJson'
responses:
'200':
description: List of all forms
content:
application/json:
schema:
$ref: '#/components/schemas/FormList'
application/xml:
schema:
$ref: '#/components/schemas/FormList'
/admin/api_v1/connectors/view/{connectorId}.{format}:
get:
operationId: getConnector
summary: View connector definition (Admin)
description: Returns the full definition of a specific connector.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/connectorId'
- $ref: '#/components/parameters/formatJson'
responses:
'200':
description: Connector definition
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
application/xml:
schema:
$ref: '#/components/schemas/Connector'
'404':
description: Connector not found
/admin/api_v1/connectors/create/{formId}/{connectorName}.{format}:
post:
operationId: createConnector
summary: Create a connector (Admin)
description: Creates a new connector for the specified form and connector type.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/formId'
- $ref: '#/components/parameters/connectorName'
- $ref: '#/components/parameters/formatJson'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
event:
type: string
enum:
- beforerender
- before_save
- interactive
- background
description: Trigger event for the connector
mapping:
type: string
description: Field mapping configuration
login:
type: string
description: Login credential for the connector service
password:
type: string
description: Password credential for the connector service
responses:
'200':
description: Connector created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
'400':
description: Invalid request
/admin/api_v1/connectors/edit/{connectorId}.{format}:
post:
operationId: updateConnector
summary: Update a connector (Admin)
description: Updates the configuration of an existing connector.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/connectorId'
- $ref: '#/components/parameters/formatJson'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
event:
type: string
enum:
- beforerender
- before_save
- interactive
- background
mapping:
type: string
login:
type: string
password:
type: string
responses:
'200':
description: Connector updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Connector'
'404':
description: Connector not found
/admin/api_v1/connectors/delete/{connectorId}.{format}:
post:
operationId: deleteConnector
summary: Delete a connector (Admin)
description: Permanently removes the specified connector from a form.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/connectorId'
- $ref: '#/components/parameters/formatJson'
responses:
'200':
description: Connector deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'404':
description: Connector not found
/admin/api_v1/themes/view/{themeId}.json:
get:
operationId: getTheme
summary: View theme CSS (Admin)
description: Returns the CSS content and metadata for the specified theme.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/themeId'
responses:
'200':
description: Theme definition
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
'404':
description: Theme not found
/admin/api_v1/themes/create.json:
post:
operationId: createTheme
summary: Create a theme (Admin)
description: Creates a new CSS theme for use with forms.
tags:
- Admin
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
name:
type: string
description: Display name for the theme
css_data:
type: string
description: Full CSS stylesheet content
responses:
'200':
description: Theme created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
/admin/api_v1/themes/edit/{themeId}.json:
post:
operationId: updateTheme
summary: Update a theme (Admin)
description: Updates the name and/or CSS of an existing theme.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/themeId'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
name:
type: string
css_data:
type: string
responses:
'200':
description: Theme updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
'404':
description: Theme not found
/admin/api_v1/themes/delete/{themeId}.json:
post:
operationId: deleteTheme
summary: Delete a theme (Admin)
description: Permanently removes the specified theme.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/themeId'
responses:
'200':
description: Theme deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'404':
description: Theme not found
/admin/api_v1/form_elements/view/{elementId}.xml:
get:
operationId: getFormElement
summary: View form element definition (Admin)
description: Returns the full XML definition of the specified form element type.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/elementId'
responses:
'200':
description: Form element definition
content:
application/xml:
schema:
$ref: '#/components/schemas/FormElement'
'404':
description: Element not found
/admin/api_v1/form_elements/create.json:
post:
operationId: createFormElement
summary: Create a form element (Admin)
description: Creates a new custom form element type.
tags:
- Admin
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
xml_data:
type: string
description: XML definition of the element
name:
type: string
description: Display name for the element
comments:
type: string
description: Notes about the element
category:
type: string
description: Category for organizing elements
subcategory:
type: string
description: Subcategory for further organization
batch:
type: string
description: Batch identifier for bulk operations
responses:
'200':
description: Form element created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/FormElement'
/admin/api_v1/form_elements/edit/{elementId}.json:
post:
operationId: updateFormElement
summary: Update a form element (Admin)
description: Updates an existing custom form element type.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/elementId'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
xml_data:
type: string
name:
type: string
comments:
type: string
category:
type: string
subcategory:
type: string
batch:
type: string
responses:
'200':
description: Form element updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/FormElement'
'404':
description: Element not found
/admin/api_v1/form_elements/delete/{elementId}.json:
post:
operationId: deleteFormElement
summary: Delete a form element (Admin)
description: Permanently removes a custom form element type.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/elementId'
responses:
'200':
description: Form element deleted
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'404':
description: Element not found
/admin/api_v1/aggregates/reset_counters/{formId}.json:
post:
operationId: resetFormCounters
summary: Reset form counters (Admin)
description: Resets submission counters and aggregated statistics for the specified form.
tags:
- Admin
parameters:
- $ref: '#/components/parameters/formId'
responses:
'200':
description: Counters reset successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'404':
description: Form not found
components:
schemas:
FormElement:
type: object
properties:
id:
type: integer
description: Unique identifier of the form element
name:
type: string
description: Display name of the element
comments:
type: string
description: Notes or comments about the element
category:
type: string
description: Category the element belongs to
subcategory:
type: string
description: Subcategory of the element
xml_data:
type: string
description: XML definition of the element
batch:
type: string
description: Batch identifier for bulk operations
Connector:
type: object
properties:
id:
type: integer
description: Unique identifier of the connector
form_id:
type: integer
description: ID of the form this connector is attached to
name:
type: string
description: Name/type of the connector
event:
type: string
enum:
- beforerender
- before_save
- interactive
- background
description: Trigger event for the connector
mapping:
type: string
description: Field mapping configuration
login:
type: string
description: Login credential for connector
password:
type: string
description: Password credential for connector
FormList:
type: object
properties:
forms:
type: array
items:
$ref: '#/components/schemas/Form'
Form:
type: object
properties:
id:
type: integer
description: Unique identifier of the form
name:
type: string
description: Display name of the form
language:
type: string
description: Language code of the form
builder_version:
type: string
description: Version of the form builder used
xml_data:
type: string
description: XML definition of the form structure
required:
- id
- name
SuccessResponse:
type: object
properties:
status:
type: string
enum:
- success
message:
type: string
Theme:
type: object
properties:
id:
type: integer
description: Unique identifier of the theme
name:
type: string
description: Display name of the theme
css_data:
type: string
description: CSS stylesheet content of the theme
parameters:
connectorName:
name: connectorName
in: path
description: Name of the connector type to create
required: true
schema:
type: string
connectorId:
name: connectorId
in: path
description: Unique identifier of the connector
required: true
schema:
type: integer
elementId:
name: elementId
in: path
description: Unique identifier of the form element
required: true
schema:
type: integer
formId:
name: formId
in: path
description: Unique identifier of the form
required: true
schema:
type: integer
themeId:
name: themeId
in: path
description: Unique identifier of the theme
required: true
schema:
type: integer
formatJson:
name: format
in: path
description: Response format (json or xml)
required: true
schema:
type: string
enum:
- json
- xml
default: json
securitySchemes:
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://app.formassembly.com/oauth/login
tokenUrl: https://app.formassembly.com/oauth/access_token
scopes: {}
externalDocs:
description: FormAssembly API Documentation
url: https://help.formassembly.com/help/working-with-the-formassembly-api