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 '