openapi: 3.1.0 info: title: Fordefi Address Book Vault Groups API version: 0.2.0 description: These endpoints allow you to list the contacts in your address book.

To add/remove contacts, visit the Fordefi web console. See the user guide for more info. servers: - url: https://api.fordefi.com/ description: Production security: - bearerAuth: [] tags: - name: Vault Groups description: "These endpoints allow you to view your vault groups.\n

\n Vault Groups are used to collectively manage policies and view permissions for a group of vaults.\n

\n The API is read-only. To manage vault groups, visit the Fordefi web console. See more info in the\n user guide." paths: /api/v1/vault-groups: get: tags: - Vault Groups summary: List Vault Groups description: Get a list of vault groups in the organization. operationId: list_vault_groups_api_v1_vault_groups_get parameters: - name: sort_by in: query required: false schema: type: array items: $ref: '#/components/schemas/VaultGroupSortableFields' title: Sort By - name: page in: query required: false schema: type: integer minimum: 1 description: The page number to fetch. default: 1 title: Page description: The page number to fetch. - name: size in: query required: false schema: type: integer maximum: 100 minimum: 0 description: The number of items per page. default: 50 title: Size description: The number of items per page. - name: skip_count in: query required: false schema: type: boolean description: Whether to skip counting the total number of items. default: false title: Skip Count description: Whether to skip counting the total number of items. - name: vault_group_ids in: query required: false schema: description: Vault group IDs to filter on. title: Vault Group Ids type: array items: type: string format: uuid description: Vault group IDs to filter on. - name: search in: query required: false schema: title: Search type: string - name: access_level in: query required: false schema: $ref: '#/components/schemas/ListVaultGroupsFilterByAccessLevel' default: view - name: exclude_vault_group_ids in: query required: false schema: description: Vault group IDs to exclude. title: Exclude Vault Group Ids type: array items: type: string format: uuid description: Vault group IDs to exclude. - name: states in: query required: false schema: description: Vault group states to filter on. title: States type: array items: $ref: '#/components/schemas/VaultGroupState' description: Vault group states to filter on. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListVaultGroupsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' components: schemas: PreconditionFailedError: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string system_error_code: title: System Error Code description: An additional system error code in Fordefi. type: string type: object required: - title - detail title: PreconditionFailedError VaultGroupState: type: string enum: - pending_approval - active - deleted title: VaultGroupState ValidationError: properties: title: type: string title: Title description: Human-readable error message. detail: items: $ref: '#/components/schemas/ValidationErrorDetail' type: array title: Detail full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string type: object required: - title - detail title: ValidationError EndUserRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: end_user title: User Type description: The type of the user. external_id: type: string title: External Id description: External id of the user. example: user|1234 state: type: string enum: - active - deleted title: State description: The state of the user. type: object required: - id - user_type - external_id - state title: EndUserRef ListVaultGroupsResponse: properties: total: type: integer title: Total page: type: integer title: Page size: type: integer title: Size vault_groups: items: $ref: '#/components/schemas/VaultGroup' type: array title: Vault Groups type: object required: - total - page - size - vault_groups title: ListVaultGroupsResponse VaultGroupPermissions: properties: access_permissions: $ref: '#/components/schemas/VaultGroupAccessPermissions' description: the access permissions for this vault group can_non_admins_create_or_edit_vaults: type: boolean title: Can Non Admins Create Or Edit Vaults description: True to give create or edit permissions to the user groups. False to allow only admins can_current_user_create_or_edit_vaults: type: boolean title: Can Current User Create Or Edit Vaults description: Can the current user create or edit vaults in the group's based on the group permissions type: object required: - access_permissions - can_non_admins_create_or_edit_vaults - can_current_user_create_or_edit_vaults title: VaultGroupPermissions UserRef: oneOf: - $ref: '#/components/schemas/PersonRef' - $ref: '#/components/schemas/ApiUserRef' - $ref: '#/components/schemas/ApiSignerRef' - $ref: '#/components/schemas/EndUserRef' - $ref: '#/components/schemas/SystemUserRef' description: Represents a reference to a user in the Fordefi platform discriminator: propertyName: user_type mapping: api_signer: '#/components/schemas/ApiSignerRef' api_user: '#/components/schemas/ApiUserRef' end_user: '#/components/schemas/EndUserRef' person: '#/components/schemas/PersonRef' system: '#/components/schemas/SystemUserRef' ApiUserRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: api_user title: User Type description: The type of the user. name: type: string title: Name description: The name of the user. state: type: string enum: - active - deleted title: State description: The state of the user. role: $ref: '#/components/schemas/UserRole' description: The role of the user. type: object required: - id - user_type - name - state - role title: ApiUserRef VaultGroup: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. name: type: string minLength: 1 title: Name description: The name of the vault group. created_by: description: Details of the vault group creator. None for Default vault group. $ref: '#/components/schemas/UserRef' vaults_count: $ref: '#/components/schemas/BoundCount' description: The number of vaults in the group. permissions: $ref: '#/components/schemas/VaultGroupPermissions' description: The permissions of the vault group owner: $ref: '#/components/schemas/VaultGroupOwner' description: The owner type of the vault group. modified_by: description: Details of the vault group last editor. None for Default vault group. $ref: '#/components/schemas/UserRef' pending_change_request: description: Info on pending change request. None if there is no pending change request. $ref: '#/components/schemas/VaultGroupPendingChangeRequestInfo' state: $ref: '#/components/schemas/VaultGroupState' description: The state of the vault group. type: object required: - id - created_at - modified_at - name - vaults_count - permissions - owner - state title: VaultGroup description: Represents a vault group in the Fordefi platform UserGroupRef: properties: id: type: string format: uuid title: Id description: The unique identifier of user group in the Fordefi platform. name: type: string minLength: 1 title: Name description: The name of the user group. users_count: type: integer minimum: 0.0 title: Users Count description: The number of users in the group. admins_count: type: integer minimum: 0.0 title: Admins Count description: The number of admins in the group. state: $ref: '#/components/schemas/UserGroupState' description: The state of the user group. type: object required: - id - name - users_count - admins_count - state title: UserGroupRef VaultGroupSortableFields: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc - vault_count_asc - vault_count_desc title: VaultGroupSortableFields UserState: type: string enum: - active - onboarding_pending_code_generation - onboarding_pending_activation - reset_device_pending_code_generation - reset_device_pending_activation - pending_approval - deleted title: UserState VaultGroupAccessPermissions: oneOf: - $ref: '#/components/schemas/VaultGroupAccessPermissionsAll' - $ref: '#/components/schemas/VaultGroupAccessPermissionsPermitted' description: The access type of the permissions. discriminator: propertyName: access_type mapping: all: '#/components/schemas/VaultGroupAccessPermissionsAll' permitted: '#/components/schemas/VaultGroupAccessPermissionsPermitted' BoundCount: properties: count: type: integer minimum: 0.0 title: Count description: The number of items in the bound count. has_more: type: boolean title: Has More description: Whether there are more items in the bound count. type: object required: - count - has_more title: BoundCount description: BoundCount represents a bound count of items. ApiSignerRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: api_signer title: User Type description: The type of the user. name: type: string title: Name description: The name of the user. state: type: string enum: - active - onboarding_pending_code_generation - onboarding_pending_activation - deleted title: State description: The state of the user. type: object required: - id - user_type - name - state title: ApiSignerRef UserGroupState: type: string enum: - active - deleted title: UserGroupState description: Represents a user group state in the Fordefi platform VaultGroupAccessPermissionsPermitted: properties: access_type: type: string const: permitted title: Access Type description: access type user_groups: items: $ref: '#/components/schemas/UserGroupRef' type: array title: User Groups description: The list of permitted user group users: items: $ref: '#/components/schemas/UserRef' type: array title: Users description: The list of permitted users type: object required: - access_type - user_groups - users title: VaultGroupAccessPermissionsPermitted SystemUserRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: system title: User Type description: The type of the user. name: type: string title: Name description: The name is Fordefi CARE type: object required: - id - user_type - name title: SystemUserRef VaultGroupAccessPermissionsAll: properties: access_type: type: string const: all title: Access Type description: access type type: object required: - access_type title: VaultGroupAccessPermissionsAll ListVaultGroupsFilterByAccessLevel: type: string enum: - view - create_edit - all title: ListVaultGroupsFilterByAccessLevel VaultGroupOwner: type: string enum: - system - user title: VaultGroupOwner UserRole: type: string enum: - admin - trader - viewer title: UserRole VaultGroupPendingChangeRequestInfo: properties: id: type: string format: uuid title: Id description: ID of a pending change request. new_name: title: New Name description: New proposed name of the pending change request. None if there is no pending change request or no new name is proposed. type: string minLength: 1 created_by: $ref: '#/components/schemas/UserRef' description: The user who initiated the change request created_at: type: string format: date-time title: Created At description: The date and time when change request was initiated. type: object required: - id - new_name - created_by - created_at title: VaultGroupPendingChangeRequestInfo PersonRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: person title: User Type description: The type of user. Can be a person, or (in programmatic scenarios) an API user or API Signer. name: title: Name description: The name of the user. example: John Doe type: string email: type: string title: Email description: The email of the user. state: $ref: '#/components/schemas/UserState' description: The state of the user in the organization. role: $ref: '#/components/schemas/UserRole' description: The role of the user. type: object required: - id - user_type - email - state - role title: PersonRef RateLimitError: properties: {} type: object title: RateLimitError BaseError: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string type: object required: - title - detail title: BaseError ValidationErrorDetail: properties: loc: items: anyOf: - type: integer - type: string type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationErrorDetail securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT