openapi: 3.1.0
info:
title: Fordefi Address Book Audit Log 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: Audit Log
description: "These endpoints allow you to manage audit logs.\n
\n Audit logs are used to track the actions of users in your organization.\n "
paths:
/api/v1/audit-log:
get:
tags:
- Audit Log
summary: List Audit Log Records
description: Get a list of audit log records.
operationId: list_audit_log_records_api_v1_audit_log_get
parameters:
- 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: created_by
in: query
required: false
schema:
title: Created By
type: array
items:
type: string
format: uuid
- name: created_before
in: query
required: false
schema:
title: Created Before
type: string
format: date-time
- name: created_after
in: query
required: false
schema:
title: Created After
type: string
format: date-time
- name: category
in: query
required: false
schema:
title: Category
type: array
items:
$ref: '#/components/schemas/AuditLogCategory'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListAuditLogRecordsResponse'
'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'
/api/v1/audit-log/export:
get:
tags:
- Audit Log
summary: Export Audit Log
description: Get a CSV-format list of audit log records.
operationId: export_audit_log_api_v1_audit_log_export_get
parameters:
- name: created_by
in: query
required: false
schema:
title: Created By
type: array
items:
type: string
format: uuid
- name: created_before
in: query
required: false
schema:
title: Created Before
type: string
format: date-time
- name: created_after
in: query
required: false
schema:
title: Created After
type: string
format: date-time
- name: category
in: query
required: false
schema:
title: Category
type: array
items:
$ref: '#/components/schemas/AuditLogCategory'
responses:
'200':
description: Exported audit log in CSV format
content:
text/csv:
schema:
type: string
'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:
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
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
UserRole:
type: string
enum:
- admin
- trader
- viewer
title: UserRole
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'
ListAuditLogRecordsResponse:
properties:
total:
type: integer
title: Total
page:
type: integer
title: Page
size:
type: integer
title: Size
audit_log_records:
items:
$ref: '#/components/schemas/AuditLogRecord'
type: array
title: Audit Log Records
type: object
required:
- total
- page
- size
- audit_log_records
title: ListAuditLogRecordsResponse
AuditLogCategory:
type: string
enum:
- policy
- quorum_threshold
- user_management
- vaults
- address_book
- address_group
- backup
- webhook
- vault_group
- user_group
- aml_policy
- chains
- device_backup
- import_keys
- authentication
- dapp_group
title: AuditLogCategory
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
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
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
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
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
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
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
AuditLogRecord:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the object in the Fordefi platform.
timestamp:
type: string
format: date-time
title: Timestamp
description: The timestamp of the audit log record.
request_id:
type: string
title: Request Id
description: The request ID of the audit log record.
category:
$ref: '#/components/schemas/AuditLogCategory'
description: The category of the audit log record.
action:
type: string
title: Action
description: The action of the audit log record.
created_by:
$ref: '#/components/schemas/UserRef'
description: The user who created the audit log record.
description:
type: string
title: Description
description: The description of the audit log record.
client_ip:
type: string
title: Client Ip
description: The client IP of the audit log record.
type: object
required:
- id
- timestamp
- request_id
- category
- action
- created_by
- description
- client_ip
title: AuditLogRecord
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT