openapi: 3.0.3
info:
title: FormAssembly REST Admin Form Elements 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: Form Elements
description: Manage custom reusable form element types
paths:
/api_v1/form_elements/index.xml:
get:
operationId: listFormElements
summary: List available form elements
description: Returns a list of all available form element types in XML format.
tags:
- Form Elements
responses:
'200':
description: List of form elements
content:
application/xml:
schema:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/FormElement'
/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:
- Form Elements
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:
- Form Elements
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:
- Form Elements
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:
- Form Elements
parameters:
- $ref: '#/components/parameters/elementId'
responses:
'200':
description: Form element deleted
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'404':
description: Element not found
components:
schemas:
SuccessResponse:
type: object
properties:
status:
type: string
enum:
- success
message:
type: string
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
parameters:
elementId:
name: elementId
in: path
description: Unique identifier of the form element
required: true
schema:
type: integer
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