{ "openapi": "3.0.0", "paths": { "/api/v1/connections/{connectionId}/backups": { "get": { "operationId": "BackupsController_findAll", "x-public": true, "summary": "Get list of backups & archives", "description": "Returns a paginated list of backup and archive jobs with customizable page size. You can also select backup/archive types, date range, order, and sort field.", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "search", "required": false, "in": "query", "description": "Search term (max 80)", "example": "", "schema": { "type": "string" } }, { "name": "page", "required": true, "in": "query", "description": "Number of page (min 1)", "example": 1, "schema": { "type": "number" } }, { "name": "limit", "required": true, "in": "query", "description": "Limit of entities per page (min 1, max 2000)", "example": 50, "schema": { "type": "number" } }, { "name": "types", "required": true, "in": "query", "example": [ "full", "full & sync", "template", "archive" ], "schema": { "type": "array", "items": { "type": "string", "enum": [ "full", "full & sync", "template", "archive" ] } } }, { "name": "statuses", "required": true, "in": "query", "example": [ "Completed", "Exception", "In Progress", "Aborted" ], "schema": { "type": "array", "items": { "type": "string", "enum": [ "In Progress", "Exception", "Completed", "Aborted" ] } } }, { "name": "isIncludeMetadata", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "startedDate", "required": false, "in": "query", "example": "2020-01-01T00:00:00.000Z", "schema": { "type": "string" } }, { "name": "endDate", "required": false, "in": "query", "example": "2026-05-20T09:00:43.285Z", "schema": { "type": "string" } }, { "name": "sortBy", "required": false, "in": "query", "example": "jobId", "schema": { "enum": [ "jobId", "name", "startedDate" ], "type": "string" } }, { "name": "order", "required": false, "in": "query", "example": "DESC", "schema": { "enum": [ "ASC", "DESC" ], "type": "string" } } ], "responses": { "200": { "description": "Returns a paginated list of Backups & Archives", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedDto" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/FindBackupsResponseDto" } } } } ] } } } }, "400": { "description": "Incorrect request data is provided. For example, startedDate isn't a valid ISO 8601 date string", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Backups and archives" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/backups/backup": { "post": { "operationId": "BackupsController_createBackup", "x-public": true, "summary": "Create backup", "description": "Creates a backup job. You must use one of the supported backup types: full or template. The `templateId` parameter is optional and should only be provided for template backups", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBackupBodyDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBackupResponseDto" } } } }, "400": { "description": "Invalid request data provided. Examples: unsupported mode selected, or numeric values in name/description fields", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } }, "409": { "description": "Backup job is already running. You must abort it or wait for it to finish before creating another", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConflictExceptionDto" } } } } }, "tags": [ "Backups and archives" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/templates/backup": { "post": { "operationId": "TemplatesController_createBackupTemplate", "x-public": true, "summary": "Create backup Template", "description": "Creates a backup Template. You can configure record selection using declarative, SOQL, or SQL filters", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTemplateBodyDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTemplateResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, connectionId isn't a valid positive number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Templates" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/templates": { "get": { "operationId": "TemplatesController_findAll", "x-public": true, "summary": "Get list of Templates", "description": "Returns a paginated list of Templates with customizable page size", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "search", "required": false, "in": "query", "description": "Search term (max 80)", "example": "", "schema": { "type": "string" } }, { "name": "page", "required": true, "in": "query", "description": "Number of page (min 1)", "example": 1, "schema": { "type": "number" } }, { "name": "limit", "required": true, "in": "query", "description": "Limit of entities per page (min 1, max 2000)", "example": 50, "schema": { "type": "number" } }, { "name": "types", "required": true, "in": "query", "example": [ "backup", "archive" ], "schema": { "type": "array", "items": { "type": "string", "enum": [ "backup", "archive" ] } } }, { "name": "sortBy", "required": false, "in": "query", "example": "updatedAt", "schema": { "enum": [ "name", "updatedAt" ], "type": "string" } }, { "name": "order", "required": false, "in": "query", "example": "DESC", "schema": { "enum": [ "ASC", "DESC" ], "type": "string" } } ], "responses": { "200": { "description": "Returns a paginated list of Templates", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FindAllTemplatesResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, page or limit parameters are missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Templates" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/templates/backup/{id}": { "get": { "operationId": "TemplatesController_findOneBackupTemplate", "x-public": true, "summary": "Get backup Template by Id", "description": "Returns the Template by Id", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the Template by Id", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FindOneTemplateResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, templateId isn't a valid number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Template not found with the provided Id", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Templates" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections": { "get": { "operationId": "ConnectionsController_find", "x-public": true, "summary": "Get list of Connections", "description": "Returns a paginated list of Backup & Archive Connections with customizable page size", "parameters": [ { "name": "search", "required": false, "in": "query", "description": "Search term (max 80)", "example": "", "schema": { "type": "string" } }, { "name": "page", "required": true, "in": "query", "description": "Number of page (min 1)", "example": 1, "schema": { "type": "number" } }, { "name": "limit", "required": true, "in": "query", "description": "Limit of entities per page (min 1, max 2000)", "example": 50, "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns a paginated list of Backup & Archive Connections", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PaginatedDto" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ConnectionFindResponseDto" } } } } ] } } } }, "400": { "description": "Incorrect request data is provided. For example, page or limit parameters are missing", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } } }, "tags": [ "Connections" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}": { "get": { "operationId": "ConnectionsController_findById", "x-public": true, "summary": "Get Connection by Id", "description": "Returns the Backup & Archive Connection by Id", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the Backup & Archive Connection by Id", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionFindByIdResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, connectionId isn't a valid number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found with the provided Id", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Connections" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/connectionId/{salesforceOrgId}": { "get": { "operationId": "ConnectionsController_getConnectionId", "x-public": true, "summary": "Get Connection Id by Salesforce organization Id", "description": "Returns the Backup & Archive Connection Id by Salesforce organization Id", "parameters": [ { "name": "salesforceOrgId", "required": true, "in": "path", "description": "Salesforce organization Id", "example": "12ABC34567892DEFGC", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the Backup & Archive Connection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetConnectionIdBySalesforceOrgIdResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, Salesforce Id has invalid length", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Connections" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/schedulers/backup": { "post": { "operationId": "SchedulersController_createBackupScheduler", "x-public": true, "summary": "Create Backup Scheduler", "description": "Creates a backup Scheduler. You must use one of the supported scheduler types:\n\n- `full backup`\n- `templated backup`\n\nThe `templateId` parameter is optional and should only be provided for template backups.\n\nThe `runAt` time must be unique because schedulers can't run at the same time.", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBackupSchedulerBodyDto" } } } }, "responses": { "201": { "description": "Returns Id of created Scheduler", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSchedulerResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, `connectionId` or `templateId` isn't a valid positive number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection or Template not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Schedulers" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/schedulers": { "get": { "operationId": "SchedulersController_findAll", "x-public": true, "summary": "Get list of Schedulers", "description": "Returns a list of Backup & Archive Schedulers for the Connection. You can also pass `templateId` to get Schedulers related to a specific template", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "templateId", "required": false, "in": "query", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns list of Backup & Archive Schedulers", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FindAllSchedulersResponseDto" } } } } }, "400": { "description": "Incorrect request data is provided. For example, connectionId isn't a valid number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found with the provided Id", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Schedulers" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/schedulers/backup/{id}": { "get": { "operationId": "SchedulersController_findOneBackupScheduler", "x-public": true, "summary": "Get Scheduler by Id", "description": "Returns the Backup & Archive Scheduler by Id", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the Backup & Archive Scheduler by Id", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FindSchedulerResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, connectionId or schedulerId isn't a valid number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection or Scheduler not found with the provided Id", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } }, "409": { "description": "Scheduler with the provided Id isn't accessible", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConflictExceptionDto" } } } } }, "tags": [ "Schedulers" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/jobs/{id}/logs/details": { "get": { "operationId": "JobsController_getLogsDetails", "x-public": true, "summary": "Get job details", "description": "Returns a streamable file that contains a job’s log. You can read the log file for completed or aborted jobs to review results. You can also stream the log file for a running job to view logs in real time.", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the streamable file containing job logs", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamableFile" } } } }, "400": { "description": "Incorrect request data is provided. For example, id or connectionId isn't a valid number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection or job not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Jobs" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/jobs/{id}/logs/progress": { "get": { "operationId": "JobsController_getLogsProgress", "x-public": true, "summary": "Get job progress", "description": "Returns information about job progress steps. Can be used for completed or aborted jobs to review results, or for running jobs to view runtime progress", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns a list of work completed for every processed object. The response structure may differ based on the specific work performed in the job", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgressStepsResponseDto" } } } } }, "400": { "description": "Incorrect request data is provided. For example, id or connectionId isn't a valid number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection or job not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Jobs" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/jobs/{id}/abort/backup": { "patch": { "operationId": "JobsController_abortBackup", "x-public": true, "summary": "Abort backup/archive job", "description": "Aborts the backup or archive job", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "number" } }, { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Aborts the backup or archive job", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AbortJobResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, connectionId isn't a valid positive number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Jobs" ], "security": [ { "bearerAuth": [] } ] } }, "/api/v1/connections/{connectionId}/settings": { "get": { "operationId": "ConnectionSettingsController_get", "x-public": true, "summary": "Get Connection settings", "description": "Returns the Connection settings containing information about API quota, Backup & Archive Connection, and scheduler activity", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "Returns the Connection settings", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FindConnectionSettingsResponseDto" } } } }, "400": { "description": "Incorrect request data is provided. For example, connectionId isn't a valid number", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationExceptionDto" } } } }, "404": { "description": "Connection settings not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundExceptionDto" } } } } }, "tags": [ "Connection settings" ], "security": [ { "bearerAuth": [] } ] }, "put": { "operationId": "ConnectionSettingsController_updateConnectionBackupSetting", "x-public": true, "summary": "Update connection scheduler availability settings", "description": "Updates scheduler availability for backup and archive operations for the specified connection, including optional initial binary records limit configuration.", "parameters": [ { "name": "connectionId", "required": true, "in": "path", "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateConnectionBackupSettingBodyDto" } } } }, "responses": { "200": { "description": "The connection's scheduler run capability was updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateApiQuotaResponseDto" } } } } }, "tags": [ "Connection settings" ], "security": [ { "bearerAuth": [] } ] } } }, "info": { "title": "Flosum Backup API Service", "description": "The Flosum Backup API description", "version": "4.6.12-test.0", "contact": {} }, "tags": [], "servers": [], "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "description": "Bearer " } }, "schemas": { "PaginatedDto": { "type": "object", "properties": { "total": { "type": "number", "description": "Total number of entities.", "example": 1 }, "items": { "type": "array", "items": { "type": "string" } } }, "required": [ "total", "items" ] }, "FindBackupsResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "name": { "type": "string", "example": "My backup", "description": "Backup or archive name." }, "jobId": { "type": "number", "example": 1 }, "jobStatus": { "type": "string", "enum": [ "In Progress", "Exception", "Completed", "Aborted" ] }, "startedDate": { "format": "date-time", "type": "string" }, "duration": { "type": "string" }, "size": { "type": "number" }, "records": { "type": "number" }, "operationType": { "type": "string", "enum": [ "Templated Archive", "Templated Backup", "Composite Backup", "Composite & Sync Backup", "Import Archive", "Import Backup" ] } }, "required": [ "id", "name", "jobId", "jobStatus", "startedDate", "duration", "size", "records", "operationType" ] }, "ValidationExceptionDto": { "type": "object", "properties": { "error": { "type": "string", "nullable": true }, "message": { "type": "array", "items": { "type": "string" } }, "statusCode": { "type": "number", "enum": [ 100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 300, 301, 302, 303, 304, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 421, 422, 424, 428, 429, 500, 501, 502, 503, 504, 505 ], "example": 400 } }, "required": [ "error", "message", "statusCode" ] }, "NotFoundExceptionDto": { "type": "object", "properties": { "message": { "type": "string" }, "error": { "type": "string", "nullable": true }, "statusCode": { "type": "number", "enum": [ 100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 300, 301, 302, 303, 304, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 421, 422, 424, 428, 429, 500, 501, 502, 503, 504, 505 ], "example": 404 } }, "required": [ "message", "error", "statusCode" ] }, "BackupSettingsDto": { "type": "object", "properties": { "isIncludeMetadata": { "type": "boolean" }, "isIncludeBinaryObjects": { "type": "boolean" }, "isIncludeBigObjects": { "type": "boolean" }, "isIncludeFeedObjects": { "type": "boolean" }, "isIncludeShareObjects": { "type": "boolean" }, "isIncludeHistoryObjects": { "type": "boolean" }, "isIncludeCustomMetadataTypeObjects": { "type": "boolean" }, "isIncludeTagObjects": { "type": "boolean" }, "templateId": { "type": "number" } }, "required": [ "isIncludeMetadata", "isIncludeBinaryObjects", "isIncludeBigObjects", "isIncludeFeedObjects", "isIncludeShareObjects", "isIncludeHistoryObjects", "isIncludeCustomMetadataTypeObjects", "isIncludeTagObjects" ] }, "CreateBackupBodyDto": { "type": "object", "properties": { "name": { "type": "string", "example": "My backup", "description": "Backup or archive name." }, "description": { "type": "string", "example": "This is my backup" }, "settings": { "$ref": "#/components/schemas/BackupSettingsDto" }, "mode": { "type": "string", "enum": [ "full", "template" ], "example": "full" } }, "required": [ "name", "description", "settings", "mode" ] }, "CreateBackupResponseDto": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] }, "ConflictExceptionDto": { "type": "object", "properties": { "message": { "type": "string" }, "error": { "type": "string", "nullable": true }, "statusCode": { "type": "number", "enum": [ 100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 300, 301, 302, 303, 304, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 421, 422, 424, 428, 429, 500, 501, 502, 503, 504, 505 ], "example": 409 } }, "required": [ "message", "error", "statusCode" ] }, "StreamableFile": { "type": "object", "properties": {} }, "FieldDescribe": { "type": "object", "properties": { "name": { "type": "string", "example": "Name" }, "label": { "type": "string", "example": "Name" }, "type": { "type": "string", "example": "string" }, "isRequired": { "type": "boolean" }, "isFilterable": { "type": "boolean" }, "createable": { "type": "boolean" }, "defaultedOnCreate": { "type": "boolean" }, "nillable": { "type": "boolean" } }, "required": [ "name", "label", "type", "isRequired", "isFilterable" ] }, "DeclarativeFilterLine": { "type": "object", "properties": { "field": { "type": "string", "example": "Name" }, "label": { "type": "string", "example": "Account Name" }, "option": { "type": "string", "example": "equals", "enum": [ "equals", "not equals", "less than", "greater than", "less or equals", "greater or equals", "contains", "does not contain", "starts with", "includes", "excludes", "in", "not in" ] }, "value": { "type": "string", "example": "Test Account" } }, "required": [ "field", "label", "option", "value" ] }, "TemplateStep": { "type": "object", "properties": { "relationshipName": { "type": "string" }, "objectApiName": { "type": "string", "example": "Account" }, "label": { "type": "string", "example": "Account" }, "filterMode": { "type": "string", "example": "declarative", "enum": [ "soql", "declarative" ] }, "fieldsDescribe": { "type": "array", "items": { "$ref": "#/components/schemas/FieldDescribe" } }, "soqlFilter": { "type": "string", "example": "Name = 'TEST'" }, "customLogic": { "type": "string", "example": "" }, "declarativeFilter": { "type": "array", "items": { "$ref": "#/components/schemas/DeclarativeFilterLine" } }, "skipRemove": { "type": "boolean", "example": false }, "children": { "example": [], "type": "array", "items": { "$ref": "#/components/schemas/TemplateStep" } } }, "required": [ "objectApiName", "label", "filterMode", "fieldsDescribe", "children" ] }, "CreateTemplateBodyDto": { "type": "object", "properties": { "name": { "type": "string", "example": "My new backup template" }, "type": { "type": "string", "example": "backup", "enum": [ "backup", "archive" ] }, "description": { "type": "string", "example": "This is my template" }, "templateSteps": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateStep" } } }, "required": [ "name", "type", "templateSteps" ] }, "CreateTemplateResponseDto": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] }, "FindAllTemplatesRowDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "name": { "type": "string", "example": "My new backup template" }, "type": { "type": "string", "example": "backup", "enum": [ "backup", "archive" ] }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "id", "name", "type", "updatedAt" ] }, "FindAllTemplatesResponseDto": { "type": "object", "properties": { "total": { "type": "number", "description": "Total number of entities.", "example": 1 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/FindAllTemplatesRowDto" } }, "backupTemplatesCount": { "type": "number", "example": 1 }, "archiveTemplatesCount": { "type": "number", "example": 1 } }, "required": [ "total", "items", "backupTemplatesCount", "archiveTemplatesCount" ] }, "RootDto": { "type": "object", "properties": { "relationshipName": { "type": "string" }, "objectApiName": { "type": "string", "example": "Account" }, "label": { "type": "string", "example": "Account" }, "soqlFilter": { "type": "string", "example": "Name = 'TEST'" }, "customLogic": { "type": "string", "example": "" }, "declarativeFilter": { "type": "array", "items": { "$ref": "#/components/schemas/DeclarativeFilterLine" } }, "skipRemove": { "type": "boolean", "example": false }, "id": { "type": "number" }, "level": { "type": "number" }, "filterMode": { "type": "string", "example": "declarative", "enum": [ "soql", "declarative" ] }, "parentId": { "type": "number" } }, "required": [ "objectApiName", "label", "id", "level" ] }, "FindOneTemplateResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "name": { "type": "string", "example": "My new backup template" }, "type": { "type": "string", "example": "backup", "enum": [ "backup", "archive" ] }, "description": { "type": "string", "example": "This is my template" }, "roots": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/components/schemas/RootDto" } } } }, "required": [ "id", "name", "type", "roots" ] }, "ConnectionFindResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "externalId": { "type": "number", "example": 1 }, "name": { "type": "string", "example": "MyOrg", "description": "Connection name" }, "userName": { "type": "string", "example": "example@email.com", "description": "Username for authenticating the connection." }, "salesforceOrgType": { "type": "string", "enum": [ "PRODUCTION", "SANDBOX" ], "example": "PRODUCTION", "description": "Salesforce organization type: SANDBOX or PRODUCTION" } }, "required": [ "id", "externalId", "name", "userName", "salesforceOrgType" ] }, "ConnectionFindByIdResponseDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "externalId": { "type": "number", "example": 1 }, "name": { "type": "string", "example": "MyOrg", "description": "Connection name" }, "userFullName": { "type": "string", "example": "John Doe", "description": "Full name of user for authenticating the connection." }, "userName": { "type": "string", "example": "example@email.com", "description": "Username for authenticating the connection." }, "salesforceOrgId": { "type": "string", "example": "12ABC34567892DEFGC", "description": "Salesforce organization ID" }, "salesforceOrgType": { "type": "string", "enum": [ "PRODUCTION", "SANDBOX" ], "example": "PRODUCTION", "description": "Salesforce organization type: SANDBOX or PRODUCTION" } }, "required": [ "id", "externalId", "name", "userFullName", "userName", "salesforceOrgId", "salesforceOrgType" ] }, "GetConnectionIdBySalesforceOrgIdResponseDto": { "type": "object", "properties": { "connectionId": { "type": "number" } }, "required": [ "connectionId" ] }, "WeekDayOfMonthValueDto": { "type": "object", "properties": { "firstOrLast": { "type": "string", "enum": [ "first", "last" ], "example": "first", "description": "First or last weekday of the month." }, "weekDay": { "type": "number", "enum": [ 0, 1, 2, 3, 4, 5, 6 ], "example": 1, "description": "Day of the week." } }, "required": [ "firstOrLast", "weekDay" ] }, "RepeatOnValueDto": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "weekly", "monthly" ], "example": "weekly" }, "daysOfWeek": { "type": "array", "example": [ 0, 1 ], "description": "Should be populated when `type` is `weekly`.", "items": { "type": "number", "enum": [ 0, 1, 2, 3, 4, 5, 6 ] } }, "dayOfMonth": { "type": "number", "example": "1", "description": "Should be populated when `type` is `monthly`. Can be null if `weekDayOfMonth` is populated." }, "weekDayOfMonth": { "description": "Should be populated if type of repeat on equal to monthly. Can be null if populated dayOfMonth", "allOf": [ { "$ref": "#/components/schemas/WeekDayOfMonthValueDto" } ] } }, "required": [ "type" ] }, "SchedulerConfigurationDto": { "type": "object", "properties": { "frequency": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ], "example": "weekly" }, "repeatOn": { "$ref": "#/components/schemas/RepeatOnValueDto" }, "repeatEvery": { "type": "number", "example": "2", "description": "Repeat every x months/weeks/days/hours." }, "runAt": { "type": "string", "example": "12:00" } }, "required": [ "frequency", "repeatEvery", "runAt" ] }, "CreateBackupSchedulerBodyDto": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "full backup", "templated backup" ], "example": "full backup" }, "timezone": { "type": "string", "description": "User timezone", "example": "UTC" }, "configuration": { "description": "Information about frequency of scheduler, repeat and running time.", "allOf": [ { "$ref": "#/components/schemas/SchedulerConfigurationDto" } ] }, "description": { "type": "string", "example": "Test scheduler description" }, "name": { "type": "string", "description": "Scheduler name" }, "jobSettings": { "description": "Backup job settings. Required if backup type is scheduler.", "allOf": [ { "$ref": "#/components/schemas/BackupSettingsDto" } ] } }, "required": [ "type", "timezone", "configuration", "description", "name" ] }, "CreateSchedulerResponseDto": { "type": "object", "properties": { "id": { "type": "number" } }, "required": [ "id" ] }, "FindAllSchedulersResponseDto": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "archive", "retention policy restore data preparation", "full backup", "templated backup", "full & sync backup", "retention policy search", "retention policy audit trail", "retention policy restore data", "retention policy export", "retention policy", "cache-describe", "backup connections metrics" ], "example": "archive" }, "timezone": { "type": "string", "description": "User timezone", "example": "UTC" }, "isDefault": { "type": "boolean" }, "id": { "type": "number" }, "name": { "type": "string" }, "configuration": { "$ref": "#/components/schemas/SchedulerConfigurationDto" }, "templateName": { "type": "string" }, "templateId": { "type": "number" } }, "required": [ "type", "timezone", "isDefault", "id", "name", "configuration" ] }, "FindSchedulerResponseDto": { "type": "object", "properties": { "connectionId": { "type": "number" }, "type": { "type": "string", "enum": [ "archive", "retention policy restore data preparation", "full backup", "templated backup", "full & sync backup", "retention policy search", "retention policy audit trail", "retention policy restore data", "retention policy export", "retention policy", "cache-describe", "backup connections metrics" ], "example": "archive" }, "timezone": { "type": "string", "description": "User timezone", "example": "UTC" }, "isDefault": { "type": "boolean" }, "description": { "type": "string", "example": "Test scheduler description" }, "id": { "type": "number" }, "name": { "type": "string" }, "templateId": { "type": "number" }, "templateName": { "type": "string" }, "configuration": { "$ref": "#/components/schemas/SchedulerConfigurationDto" }, "jobSettings": { "$ref": "#/components/schemas/BackupSettingsDto" } }, "required": [ "connectionId", "type", "timezone", "isDefault", "description", "id", "name", "configuration" ] }, "ProgressStepsResponseDto": { "type": "object", "properties": { "objectName": { "type": "string", "description": "Object name" }, "status": { "type": "string", "description": "Status of progress step" }, "backupSuccessCount": { "type": "number", "description": "Number of successfully backed up records." }, "removeSuccessCount": { "type": "number", "description": "Number of successfully removed records." }, "successCount": { "type": "number", "description": "Success count for restore-request/import" }, "failedCount": { "type": "number", "description": "Failed count for import" }, "restoreSuccessCount": { "type": "number", "description": "Number of successfully restored records." }, "restoreFailedCount": { "type": "number", "description": "Number of records that failed to restore." }, "updateSuccessCount": { "type": "number", "description": "Updated number of successfully restored records." }, "updateFailedCount": { "type": "number", "description": "Updated number of records that failed to restore." }, "searchSuccessCount": { "type": "number", "description": "Number of records found in search." } }, "required": [ "objectName", "status" ] }, "AbortJobResponseDto": { "type": "object", "properties": { "message": { "type": "string", "example": "Job was aborted successfully." } }, "required": [ "message" ] }, "ApiQuotaDto": { "type": "object", "properties": { "rest": { "type": "number", "description": "REST API quota in percentage (1-100)", "example": 80 }, "bulk": { "type": "number", "description": "Bulk API quota in percentage (1-100)", "example": 80 } }, "required": [ "rest", "bulk" ] }, "ConnectionInfoDto": { "type": "object", "properties": { "id": { "type": "number", "example": 1 }, "name": { "type": "string", "example": "MyOrg", "description": "Connection name" }, "userName": { "type": "string", "example": "example@email.com", "description": "Username for authenticating the connection." }, "salesforceOrgId": { "type": "string", "example": "12ABC34567892DEFGC", "description": "Salesforce organization ID" }, "salesforceOrgType": { "type": "string", "enum": [ "PRODUCTION", "SANDBOX" ], "example": "PRODUCTION", "description": "Salesforce organization type: SANDBOX or PRODUCTION" } }, "required": [ "id", "name", "userName", "salesforceOrgId", "salesforceOrgType" ] }, "SchedulerRunCapabilityDto": { "type": "object", "properties": { "isBackupsDisabled": { "type": "boolean" }, "isArchivesDisabled": { "type": "boolean" } }, "required": [ "isBackupsDisabled", "isArchivesDisabled" ] }, "FindConnectionSettingsResponseDto": { "type": "object", "properties": { "apiQuota": { "$ref": "#/components/schemas/ApiQuotaDto" }, "info": { "$ref": "#/components/schemas/ConnectionInfoDto" }, "scheduler": { "$ref": "#/components/schemas/SchedulerRunCapabilityDto" }, "initialBinaryRecordsLimit": { "type": "number" } }, "required": [ "apiQuota", "info", "scheduler", "initialBinaryRecordsLimit" ] }, "UpdateConnectionBackupSettingBodyDto": { "type": "object", "properties": { "isBackupsDisabled": { "type": "boolean" }, "isArchivesDisabled": { "type": "boolean" }, "initialBinaryRecordsLimit": { "type": "number", "example": 5000 } }, "required": [ "isBackupsDisabled", "isArchivesDisabled", "initialBinaryRecordsLimit" ] }, "UpdateApiQuotaResponseDto": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] } } } }