openapi: 3.0.3
info:
title: FormAssembly REST Admin Forms 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: Forms
description: Create, read, update, and delete form definitions
paths:
/api_v1/forms/index.{format}:
get:
operationId: listForms
summary: List user's forms
description: Returns a list of all forms belonging to the authenticated user.
tags:
- Forms
parameters:
- $ref: '#/components/parameters/formatJson'
responses:
'200':
description: List of forms
content:
application/json:
schema:
$ref: '#/components/schemas/FormList'
application/xml:
schema:
$ref: '#/components/schemas/FormList'
/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:
- Forms
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'
/api_v1/forms/view/{formId}.{format}:
get:
operationId: getForm
summary: View form definition
description: Returns the full definition of a specific form including its XML structure.
tags:
- Forms
parameters:
- $ref: '#/components/parameters/formId'
- $ref: '#/components/parameters/formatJson'
responses:
'200':
description: Form definition
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
application/xml:
schema:
$ref: '#/components/schemas/Form'
'404':
description: Form not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api_v1/forms/create.{format}:
post:
operationId: createForm
summary: Create a new form
description: Creates a new form with the provided XML definition and metadata.
tags:
- Forms
parameters:
- $ref: '#/components/parameters/formatJson'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
xml_data:
type: string
description: XML definition of the form structure
builder_version:
type: string
description: Version of the form builder
language:
type: string
description: Language code (e.g., en_US)
name:
type: string
description: Display name for the form
responses:
'200':
description: Form created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api_v1/forms/edit/{formId}.{format}:
post:
operationId: updateForm
summary: Update an existing form
description: Updates the definition and metadata of an existing form.
tags:
- Forms
parameters:
- $ref: '#/components/parameters/formId'
- $ref: '#/components/parameters/formatJson'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
xml_data:
type: string
description: Updated XML definition of the form
builder_version:
type: string
language:
type: string
name:
type: string
responses:
'200':
description: Form updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
'404':
description: Form not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api_v1/forms/delete/{formId}.{format}:
post:
operationId: deleteForm
summary: Delete a form
description: Permanently deletes the specified form and all associated data.
tags:
- Forms
parameters:
- $ref: '#/components/parameters/formId'
- $ref: '#/components/parameters/formatJson'
responses:
'200':
description: Form deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'404':
description: Form not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
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
ErrorResponse:
type: object
properties:
status:
type: string
enum:
- error
message:
type: string
parameters:
formId:
name: formId
in: path
description: Unique identifier of the form
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