Backup & Disaster Recovery
Policies
List Policies
125Filter by integration ID (supports multiple values)
Filter by region (supports multiple values)
Filter by provider type (supports multiple values)
Field to sort by
created_atPossible values: Sort order (asc or desc)
descPossible values: Policy list
GET /v2/backup-and-dr/policies HTTP/1.1
Host: api.firefly.ai
Accept: */*
Policy list
{
"data": [
{
"account_id": "text",
"policy_id": "text",
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"status": "Active",
"snapshots_count": 1,
"last_backup_snapshot_id": "text",
"last_backup_time": "2026-01-01T00:00:00.000Z",
"last_backup_status": "text",
"next_backup_time": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"facets": [
{
"field": "text",
"size": 1,
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"values": [
{
"value": "text",
"count": 1
}
]
}
]
}Create Policy
Single integration ID
Single AWS region (e.g., us-east-1)
Provider type (e.g., "aws", "azure", "gcp")
Notification ID for sending notifications
Optional free-text restore instructions used as contextual input during DR restore generation
If true, triggers a backup immediately upon policy creation
truePolicy created
Provider type (e.g., "aws", "azure", "gcp")
Notification ID for sending notifications
Optional free-text restore instructions used as contextual input during DR restore generation
POST /v2/backup-and-dr/policies HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 511
{
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"backup_on_save": true
}Policy created
{
"account_id": "text",
"policy_id": "text",
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"status": "Active",
"snapshots_count": 1,
"last_backup_snapshot_id": "text",
"last_backup_time": "2026-01-01T00:00:00.000Z",
"last_backup_status": "text",
"next_backup_time": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Search Policies
Advanced search endpoint for querying policies with multiple filters
125Page number for facet values pagination
1Page size for facet values pagination
50Specific facet fields to return (empty = all available facets)
Policy list
POST /v2/backup-and-dr/policies/search HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 245
{
"query": {
"filters": [
{
"key": "status",
"values": [
"text"
]
}
],
"scopes": [
{
"type": "tags",
"value": [
"text"
]
}
],
"search": "text",
"sort_by": "created_at",
"sort_order": "desc"
},
"page": 1,
"page_size": 25,
"facet_page": 1,
"facet_page_size": 50,
"facet_fields": [
"text"
]
}Policy list
{
"data": [
{
"account_id": "text",
"policy_id": "text",
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"status": "Active",
"snapshots_count": 1,
"last_backup_snapshot_id": "text",
"last_backup_time": "2026-01-01T00:00:00.000Z",
"last_backup_status": "text",
"next_backup_time": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"facets": [
{
"field": "text",
"size": 1,
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"values": [
{
"value": "text",
"count": 1
}
]
}
]
}Get Policy
Policy details
Provider type (e.g., "aws", "azure", "gcp")
Notification ID for sending notifications
Optional free-text restore instructions used as contextual input during DR restore generation
GET /v2/backup-and-dr/policies/{policy_id} HTTP/1.1
Host: api.firefly.ai
Accept: */*
Policy details
{
"account_id": "text",
"policy_id": "text",
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"status": "Active",
"snapshots_count": 1,
"last_backup_snapshot_id": "text",
"last_backup_time": "2026-01-01T00:00:00.000Z",
"last_backup_status": "text",
"next_backup_time": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Update Policy
Provider type (e.g., "aws", "azure", "gcp")
Notification ID for sending notifications. Omit or set to null to keep existing, set to empty string to remove, or provide a value to update.
Optional free-text restore instructions used as contextual input during DR restore generation
If true, triggers a backup immediately after policy update. Defaults to true.
truePolicy updated
Provider type (e.g., "aws", "azure", "gcp")
Notification ID for sending notifications
Optional free-text restore instructions used as contextual input during DR restore generation
PUT /v2/backup-and-dr/policies/{policy_id} HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 511
{
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"backup_on_save": true
}Policy updated
{
"account_id": "text",
"policy_id": "text",
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"status": "Active",
"snapshots_count": 1,
"last_backup_snapshot_id": "text",
"last_backup_time": "2026-01-01T00:00:00.000Z",
"last_backup_status": "text",
"next_backup_time": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Delete Policy
falsePolicy deleted
No content
DELETE /v2/backup-and-dr/policies/{policy_id} HTTP/1.1
Host: api.firefly.ai
Accept: */*
Policy deleted
No content
Toggle Policy Status
Status updated
Provider type (e.g., "aws", "azure", "gcp")
Notification ID for sending notifications
Optional free-text restore instructions used as contextual input during DR restore generation
PATCH /v2/backup-and-dr/policies/{policy_id}/status HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"status": "Active"
}Status updated
{
"account_id": "text",
"policy_id": "text",
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"status": "Active",
"snapshots_count": 1,
"last_backup_snapshot_id": "text",
"last_backup_time": "2026-01-01T00:00:00.000Z",
"last_backup_status": "text",
"next_backup_time": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Trigger On-Demand Backup
trueBackup initiated
POST /v2/backup-and-dr/policies/{policy_id}/trigger HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"reason": "text",
"notify": true
}Backup initiated
{
"snapshot_id": "123e4567-e89b-12d3-a456-426614174000",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"status": "text"
}Assign Resources to Policy
Appends FRNs to the policy's selected_resources scope. Duplicate FRNs are automatically deduplicated. Automatically triggers an immediate backup after adding resources.
FRN strings to add to the policy (duplicates are automatically deduplicated)
Resources added successfully and backup initiated
Success message
ID of the triggered snapshot
Initial status of the snapshot
Invalid request (empty FRNs, inactive policy)
Policy not found
PATCH /v2/backup-and-dr/policies/{policy_id}/resources HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 17
{
"frns": [
"text"
]
}{
"message": "text",
"policy": {
"account_id": "text",
"policy_id": "text",
"policy_name": "text",
"description": "text",
"integration_id": "text",
"region": "text",
"provider_type": "text",
"schedule": {
"frequency": "One-time",
"hour": 1,
"minute": 1,
"days_of_week": [
"Sunday"
],
"monthly_schedule_type": "specific_day",
"day_of_month": 1,
"weekday_ordinal": "First",
"weekday_name": "Sunday",
"cron_expression": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"notificationId": "text",
"vcs": {
"project_id": "text",
"vcs_integration_id": "text",
"repo_id": "text"
},
"restore_instructions": "text",
"status": "Active",
"snapshots_count": 1,
"last_backup_snapshot_id": "text",
"last_backup_time": "2026-01-01T00:00:00.000Z",
"last_backup_status": "text",
"next_backup_time": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
},
"snapshot_id": "123e4567-e89b-12d3-a456-426614174000",
"snapshot_status": "text"
}Preview Affected Resources
Initiate preview discovery and return preview_id with total count. Preview ID is calculated server-side from region and scope configuration. Use GET endpoint to retrieve paginated resources.
Integration ID to filter resources
AWS region (e.g., us-east-1)
Optional policy ID for snapshot workflows (enables isolation per policy). If omitted, treated as preview request with caching.
Preview initiated with preview_id and total count. Use GET endpoint to retrieve paginated resources.
Unique preview identifier for retrieving resources
Integration ID
Total number of discovered resources
Invalid request
Internal server error
POST /v2/backup-and-dr/policies/preview HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 104
{
"integration_id": "text",
"region": "text",
"scopes": [
{
"type": "tags",
"value": [
"text"
]
}
],
"policy_id": "text"
}{
"preview_id": "text",
"integration_id": "text",
"total_count": 1
}List Preview Resources
Retrieve a paginated list of preview resources by preview_id.
Preview ID returned from preview request
125Preview resources page
Unique preview identifier for pagination
Invalid request
Preview not found
Internal server error
GET /v2/backup-and-dr/policies/preview/{preview_id} HTTP/1.1
Host: api.firefly.ai
Accept: */*
{
"preview_id": "text",
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"data": [
{
"frn": "text",
"asset_type": "text",
"asset_name": "text",
"region": "text",
"provider": "text",
"service": "text",
"tags_list": [
"text"
],
"created_at": "2026-01-01T00:00:00.000Z",
"discovery_type": "scope",
"parent_frn": "text"
}
],
"query_filters": {
"account_id": "text",
"integration_id": "text",
"region": "text",
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"source_fields": [
"text"
],
"frns": [
"text"
],
"offset": 0,
"size": 25
}
}Search Preview Resources
Advanced search endpoint for querying preview resources with multiple filters and facets
Preview ID returned from preview request
125Page number for facet values pagination
1Page size for facet values pagination
50Specific facet fields to return
Preview resources search results
Invalid request
Preview not found
Internal server error
POST /v2/backup-and-dr/policies/preview/{preview_id}/search HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 162
{
"query": {
"filters": [
{
"key": "asset_type",
"values": [
"text"
]
}
],
"search": "text"
},
"page": 1,
"page_size": 25,
"facet_page": 1,
"facet_page_size": 50,
"facet_fields": [
"text"
]
}{
"data": [
{
"frn": "text",
"asset_type": "text",
"asset_name": "text",
"region": "text",
"provider": "text",
"service": "text",
"tags_list": [
"text"
],
"created_at": "2026-01-01T00:00:00.000Z",
"discovery_type": "scope",
"parent_frn": "text"
}
],
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"facets": [
{
"field": "text",
"size": 1,
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"values": [
{
"value": "text",
"count": 1
}
]
}
]
}Snapshots
List Snapshots
125Filter by policy ID (supports multiple values)
Filter by integration ID (supports multiple values)
Filter by region (supports multiple values)
Filter snapshots from this date
Filter snapshots until this date
Field to sort by
snapshot_timePossible values: Sort order (asc or desc)
descPossible values: Snapshot list
GET /v2/backup-and-dr/snapshots HTTP/1.1
Host: api.firefly.ai
Accept: */*
Snapshot list
{
"data": [
{
"account_id": "text",
"snapshot_id": "text",
"snapshot_time": "2026-01-01T00:00:00.000Z",
"policy_id": "text",
"provider_type": "text",
"integration_id": "text",
"region": "text",
"trigger": {
"type": "scheduled",
"initiated_by": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"status": "Pending",
"is_latest": true,
"created_at": "2026-01-01T00:00:00.000Z",
"asset_types": [
"text"
],
"changed_atrs": [
{
"integration_id": "text",
"asset_type": "text",
"regions": [
"text"
]
}
],
"error_code": "SCOPE_EMPTY"
}
],
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"summary": {
"total_snapshots": 1,
"successful_snapshots": 1,
"failed_snapshots": 1,
"in_progress_snapshots": 1
},
"facets": [
{
"field": "text",
"size": 1,
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"values": [
{
"value": "text",
"count": 1
}
]
}
]
}Search Snapshots
Advanced search endpoint for querying snapshots with multiple filters
125Page number for facet values pagination
1Page size for facet values pagination
50Specific facet fields to return (empty = all available facets)
Snapshot list
POST /v2/backup-and-dr/snapshots/search HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 311
{
"query": {
"filters": [
{
"key": "policy_id",
"values": [
"text"
]
}
],
"scopes": [
{
"type": "tags",
"value": [
"text"
]
}
],
"from_date": "2026-01-01T00:00:00.000Z",
"to_date": "2026-01-01T00:00:00.000Z",
"sort_by": "snapshot_time",
"sort_order": "desc"
},
"page": 1,
"page_size": 25,
"facet_page": 1,
"facet_page_size": 50,
"facet_fields": [
"text"
]
}Snapshot list
{
"data": [
{
"account_id": "text",
"snapshot_id": "text",
"snapshot_time": "2026-01-01T00:00:00.000Z",
"policy_id": "text",
"provider_type": "text",
"integration_id": "text",
"region": "text",
"trigger": {
"type": "scheduled",
"initiated_by": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"status": "Pending",
"is_latest": true,
"created_at": "2026-01-01T00:00:00.000Z",
"asset_types": [
"text"
],
"changed_atrs": [
{
"integration_id": "text",
"asset_type": "text",
"regions": [
"text"
]
}
],
"error_code": "SCOPE_EMPTY"
}
],
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"summary": {
"total_snapshots": 1,
"successful_snapshots": 1,
"failed_snapshots": 1,
"in_progress_snapshots": 1
},
"facets": [
{
"field": "text",
"size": 1,
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"values": [
{
"value": "text",
"count": 1
}
]
}
]
}Get Snapshot
Snapshot details
Provider type (e.g., "aws", "azure", "gcp")
Integration ID (stored as separate column, not in scope)
Region (stored as separate column, not in scope)
Indicates if this is the latest snapshot for the policy
List of distinct asset type names from snapshot resources (populated on read only)
Error code when status is Failed. Null for non-failed snapshots. SCOPE_EMPTY: no resources matched the policy scope. INTERNAL_ERROR: system failure, customer should retry or contact support.
GET /v2/backup-and-dr/snapshots/{snapshot_id} HTTP/1.1
Host: api.firefly.ai
Accept: */*
Snapshot details
{
"account_id": "text",
"snapshot_id": "text",
"snapshot_time": "2026-01-01T00:00:00.000Z",
"policy_id": "text",
"provider_type": "text",
"integration_id": "text",
"region": "text",
"trigger": {
"type": "scheduled",
"initiated_by": "text"
},
"scope": [
{
"type": "tags",
"value": [
"text"
]
}
],
"status": "Pending",
"is_latest": true,
"created_at": "2026-01-01T00:00:00.000Z",
"asset_types": [
"text"
],
"changed_atrs": [
{
"integration_id": "text",
"asset_type": "text",
"regions": [
"text"
]
}
],
"error_code": "SCOPE_EMPTY"
}Delete Snapshot
falseSnapshot deleted
No content
DELETE /v2/backup-and-dr/snapshots/{snapshot_id} HTTP/1.1
Host: api.firefly.ai
Accept: */*
Snapshot deleted
No content
Get Snapshot Resources
125Filter by resource type (supports multiple values)
Filter by region (supports multiple values)
Resource list
GET /v2/backup-and-dr/snapshots/{snapshot_id}/resources HTTP/1.1
Host: api.firefly.ai
Accept: */*
Resource list
{
"data": [
{
"snapshot_id": "123e4567-e89b-12d3-a456-426614174000",
"account_id": "text",
"integration_id": "text",
"frn": "text",
"resource_id": "text",
"asset_id": "text",
"arn": "text",
"provider": "text",
"service": "text",
"asset_type": "text",
"region": "text",
"name": "text",
"tf_object": "text",
"console_url": "text",
"account_name": "text",
"provider_id": "text",
"delete_command": "text",
"inventory_update_time": "2026-01-01T00:00:00.000Z",
"resource_creation_date": "2026-01-01T00:00:00.000Z",
"first_seen": "text",
"resource_status": "text",
"tagging_status": "text",
"provider_type": "text",
"provider_sub_type": "text",
"stack_id": "text",
"stack_name": "text",
"vcs_repo": "text",
"vcs_provider": "text",
"vcs_code_link": "text",
"state": "text",
"iac_type": "text",
"prev_state": "text",
"last_resource_state_change": "2026-01-01T00:00:00.000Z",
"is_excluded": true,
"is_locked": true,
"is_out_of_sync": true,
"is_event_driven": true,
"ignored_drift": true,
"drift": [],
"tags": "text",
"tags_list": [
"text"
],
"classifications": [
"text"
],
"monthly_cloud_cost_usd": 1,
"monthly_state_cost_usd": 1,
"discovery_type": "scope",
"parent_frn": "text"
}
],
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"summary": {
"total_resources": 1,
"by_type": {},
"by_region": {}
},
"facets": [
{
"field": "text",
"size": 1,
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"values": [
{
"value": "text",
"count": 1
}
]
}
]
}Search Snapshot Resources
Advanced search endpoint for querying snapshot resources with multiple filters
125Page number for facet values pagination
1Page size for facet values pagination
50Specific facet fields to return (empty = all available facets)
Resource list
POST /v2/backup-and-dr/snapshots/{snapshot_id}/resources/search HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 162
{
"query": {
"filters": [
{
"key": "asset_type",
"values": [
"text"
]
}
],
"search": "text"
},
"page": 1,
"page_size": 25,
"facet_page": 1,
"facet_page_size": 50,
"facet_fields": [
"text"
]
}Resource list
{
"data": [
{
"snapshot_id": "123e4567-e89b-12d3-a456-426614174000",
"account_id": "text",
"integration_id": "text",
"frn": "text",
"resource_id": "text",
"asset_id": "text",
"arn": "text",
"provider": "text",
"service": "text",
"asset_type": "text",
"region": "text",
"name": "text",
"tf_object": "text",
"console_url": "text",
"account_name": "text",
"provider_id": "text",
"delete_command": "text",
"inventory_update_time": "2026-01-01T00:00:00.000Z",
"resource_creation_date": "2026-01-01T00:00:00.000Z",
"first_seen": "text",
"resource_status": "text",
"tagging_status": "text",
"provider_type": "text",
"provider_sub_type": "text",
"stack_id": "text",
"stack_name": "text",
"vcs_repo": "text",
"vcs_provider": "text",
"vcs_code_link": "text",
"state": "text",
"iac_type": "text",
"prev_state": "text",
"last_resource_state_change": "2026-01-01T00:00:00.000Z",
"is_excluded": true,
"is_locked": true,
"is_out_of_sync": true,
"is_event_driven": true,
"ignored_drift": true,
"drift": [],
"tags": "text",
"tags_list": [
"text"
],
"classifications": [
"text"
],
"monthly_cloud_cost_usd": 1,
"monthly_state_cost_usd": 1,
"discovery_type": "scope",
"parent_frn": "text"
}
],
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"summary": {
"total_resources": 1,
"by_type": {},
"by_region": {}
},
"facets": [
{
"field": "text",
"size": 1,
"pagination": {
"page": 1,
"page_size": 1,
"total": 1,
"has_next": true,
"has_prev": true
},
"values": [
{
"value": "text",
"count": 1
}
]
}
]
}Get Restore Instructions
Returns the restore instructions from the policy associated with the given snapshot
Restore instructions
Snapshot not found
GET /v2/backup-and-dr/snapshots/{snapshot_id}/restore-instructions HTTP/1.1
Host: api.firefly.ai
Accept: */*
{
"policy_id": "text",
"restore_instructions": "text"
}Get Snapshot Artifact
Returns a presigned S3 URL for downloading the restore artifact archive (tar.gz) generated for the snapshot. The URL is short-lived, so download the archive promptly after requesting it.
Presigned download URL for the restore artifact
Presigned S3 URL for downloading the restore archive
Restore artifact not found
GET /v2/backup-and-dr/snapshots/{snapshot_id}/artifact HTTP/1.1
Host: api.firefly.ai
Accept: */*
{
"downloadUrl": "https://example.com"
}Resources
Get Policies by FRNs
Returns a mapping of FRNs to the list of policy IDs (application IDs) that back up each resource
Array of FRNs (Firefly Resource Names) to query
["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0","arn:aws:s3:::my-bucket"]Mapping of FRNs to policy IDs
Invalid request
Internal server error
POST /v2/backup-and-dr/resources/policies HTTP/1.1
Host: api.firefly.ai
Content-Type: application/json
Accept: */*
Content-Length: 101
{
"frns": [
"arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0",
"arn:aws:s3:::my-bucket"
]
}{
"arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0": [
"550e8400-e29b-41d4-a716-446655440000",
"6ba7b810-9dad-11d1-80b4-00c04fd430c8"
],
"arn:aws:s3:::my-bucket": [
"550e8400-e29b-41d4-a716-446655440000"
]
}Last updated
Was this helpful?