OpenAPI Specification
openapi: 3.0.3
info:
title: Feathery REST Account API
description: 'RESTful API for managing forms, fields, submissions, documents, end users, and workflows. Feathery is an enterprise form SDK and AI-driven data intake platform purpose-built for financial services including insurance and wealth management. Supports multi-region deployments across US, Canada, Europe, and Australia with token-based authentication.
'
version: 1.0.0
contact:
url: https://www.feathery.io
license:
name: Proprietary
servers:
- url: https://api.feathery.io
description: US (default)
- url: https://api-ca.feathery.io
description: Canada
- url: https://api-eu.feathery.io
description: Europe
- url: https://api-au.feathery.io
description: Australia
security:
- TokenAuth: []
tags:
- name: Account
description: Team and account management
paths:
/api/account/:
get:
operationId: getAccount
summary: Retrieve account information
description: Retrieve team and account information.
tags:
- Account
responses:
'200':
description: Account information retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'401':
$ref: '#/components/responses/Unauthorized'
patch:
operationId: updateAccount
summary: Edit account settings
description: Edit account settings.
tags:
- Account
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountUpdate'
responses:
'200':
description: Account updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/account/invite/:
post:
operationId: inviteUser
summary: Invite new user to team
description: Invite new users to the team.
tags:
- Account
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- email
properties:
email:
type: string
format: email
description: Email address of the user to invite
responses:
'201':
description: Invitation sent successfully
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/account/uninvite/:
patch:
operationId: removeUser
summary: Remove user from team
description: Remove a user from the team.
tags:
- Account
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- email
properties:
email:
type: string
format: email
description: Email address of the user to remove
responses:
'200':
description: User removed successfully
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/api/account/rotate_key/:
patch:
operationId: rotateApiKey
summary: Rotate API key
description: Rotate the team API key.
tags:
- Account
responses:
'200':
description: API key rotated successfully
content:
application/json:
schema:
type: object
properties:
api_key:
type: string
description: New API key
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized - invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
AccountUpdate:
type: object
properties:
name:
type: string
description: New account name
Error:
type: object
properties:
detail:
type: string
description: Error detail message
errors:
type: object
additionalProperties:
type: array
items:
type: string
description: Field-level validation errors
Account:
type: object
properties:
id:
type: string
format: uuid
description: Account identifier
name:
type: string
description: Team/account name
email:
type: string
format: email
description: Primary email address
api_key:
type: string
description: Current API key
members:
type: array
items:
type: object
properties:
email:
type: string
format: email
role:
type: string
description: Team members
securitySchemes:
TokenAuth:
type: apiKey
in: header
name: Authorization
description: 'Token-based authentication. Format: Token <API KEY>'