swagger: '2.0' info: version: v3 title: OpenTextâ„¢ Core Application Security Web API Explorer ApiKeyManagement MobileScans API host: api.ams.fortify.com schemes: - https tags: - name: MobileScans paths: /api/v3/releases/{releaseId}/mobile-scans/scan-setup: get: tags: - MobileScans summary: Get mobile scan setup details description: 'Allowed Scopes: api-tenant, start-scans' operationId: MobileScansV3_GetMobileScanSetup consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: - name: releaseId in: path description: '' required: true type: integer format: int32 responses: '200': description: Ok schema: $ref: '#/definitions/MobileScanSetup' '401': description: Unauthorized '403': description: Forbidden '404': description: NotFound '429': description: TooManyRequests '500': description: InternalServerError put: tags: - MobileScans summary: Saves mobile scan setup details description: 'Allowed Scopes: api-tenant, start-scans' operationId: MobileScansV3_PutMobileScanSetup consumes: - application/json - text/json - application/xml - text/xml - application/x-www-form-urlencoded - multipart/form-data produces: - application/json - text/json - application/xml - text/xml parameters: - name: releaseId in: path description: The release id required: true type: integer format: int32 - name: requestModel in: body description: PutMobileScanRequest model required: true schema: $ref: '#/definitions/PutMobileScanSetupRequest' responses: '200': description: Ok schema: $ref: '#/definitions/PutMobileScanSetupResponse' '400': description: BadRequest schema: $ref: '#/definitions/PutMobileScanSetupResponse' '401': description: Unauthorized '422': description: UnprocessableEntity schema: $ref: '#/definitions/PutMobileScanSetupResponse' '429': description: TooManyRequests '500': description: InternalServerError /api/v3/releases/{releaseId}/mobile-scans/start-scan: post: tags: - MobileScans summary: Starts a mobile scan for the given release description: 'Allowed Scopes: api-tenant, start-scans' operationId: MobileScansV3_Scan consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: - name: releaseId in: path description: The release id required: true type: integer format: int32 - name: startDate in: query description: The start date for the scan in MM/dd/yyyy HH:mm format required: true type: string format: date-time - name: assessmentTypeId in: query description: The assessment type id for the scan

Values can be obtained by calling GET /api/v3/releases/{releaseId}/assessment-types required: true type: integer format: int32 - name: frameworkType in: query description: The framework type id. Only iOS and Android are supported at this time required: true type: string enum: - iOS - Android - name: timeZone in: query description: The time zone

Values can be obtained by calling GET /api/v3/lookup-items?type=TimeZones required: true type: string - name: fragNo in: query description: -1 indicates the fragment of bytes has been sent. The value starts with 0 and increments by 1 for each fragment of bytes sent required: true type: integer format: int64 - name: offset in: query description: The offset of the bytes sent. 0 indicates the first bytes required: true type: integer format: int64 - name: entitlementId in: query description: The entitlement id to consume required: true type: integer format: int32 - name: entitlementFrequencyType in: query description: The entitlement frequency type required: true type: string enum: - SingleScan - Subscription - name: fileName in: query description: The uploaded file name with extension required: false type: string - name: isRemediationScan in: query description: Indicates if the scan is a remediation scan. Value defaults to false if not specified. required: false type: boolean - name: isBundledAssessment in: query description: Indicates if the assessment is a bundled assessment. If not supplied legacy behavior will apply. Value defaults to null if not specified. required: false type: boolean - name: parentAssessmentTypeId in: query description: The parent assessment type id for the bundled assessment. If not supplied legacy behavior will apply required: false type: integer format: int32 - name: scanMethodType in: query description: The method of starting a scan required: false type: string enum: - IDE - CICD - Other - name: scanTool in: query description: The tool used for scanning required: false type: string - name: scanToolVersion in: query description: The version for the scan tool used for scanning required: false type: string responses: '200': description: Ok schema: $ref: '#/definitions/PostMobileScanResponse' '202': description: Accepted '400': description: BadRequest schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized '403': description: Forbidden '404': description: NotFound '422': description: UnprocessableEntity schema: $ref: '#/definitions/ErrorResponse' '500': description: InternalServerError schema: $ref: '#/definitions/ErrorResponse' /api/v3/releases/{releaseId}/mobile-scans/import-scan: put: tags: - MobileScans summary: Saves the contents to import scan file description: 'Allowed Scopes: api-tenant, start-scans' operationId: MobileScansV3_PutImportScan consumes: [] produces: - application/json - text/json - application/xml - text/xml parameters: - name: releaseId in: path description: Release Id of the scan to import required: true type: integer format: int32 - name: fragNo in: query description: -1 indicates the fragment of bytes has been sent. The value starts with 0 and increments by 1 for each fragment of bytes sent required: true type: integer format: int64 - name: offset in: query description: The offset of the bytes sent. 0 indicates the first bytes required: true type: integer format: int64 - name: fileLength in: query description: The number of bytes of the file being imported required: true type: integer format: int64 - name: importScanSessionId in: query description: The unique importScanSessionId to use for the session provided by GET /api/v3/releases/{releaseId}/import-scan-session-id required: true type: string responses: '200': description: Ok schema: $ref: '#/definitions/PutImportScanResponse' '202': description: Accepted '400': description: BadRequest schema: $ref: '#/definitions/ErrorResponse' '401': description: Unauthorized '403': description: Forbidden '404': description: NotFound '500': description: InternalServerError schema: $ref: '#/definitions/ErrorResponse' definitions: ErrorResponse: description: Error Response type: object properties: errors: description: List of errors type: array items: $ref: '#/definitions/Error' PutImportScanResponse: description: PutImportScanResponse type: object properties: referenceId: description: Reference Id type: string scanId: format: int32 description: The scan id type: integer MobileScanSetup: description: StaticScanSetup type: object properties: assessmentTypeId: format: int32 description: The AssessmentTypeId. Values can be obtained by calling GET /api/v3/releases/{releaseId}/assessment-types type: integer entitlementId: format: int32 description: The assigned entitlementId type: integer entitlementFrequencyType: description: The EntitlementFrequencyType. enum: - SingleScan - Subscription type: string frameworkType: description: The framework type type: string auditPreferenceType: description: The AuditPreferenceType. type: string timeZone: description: The timeZone. type: string MobileScanUserAccount: description: Mobile Scan User Account type: object properties: username: description: The username type: string password: description: The password type: string roleType: description: The role type enum: - User - Guest - Admin - Other type: string oneTimePassword: description: The one time password type: string PostMobileScanResponse: description: Post Mobile Scan Response type: object properties: scanId: format: int32 description: The id of the scan that was created type: integer PutMobileScanSetupResponse: description: Put Mobile Scan Setup Response type: object properties: success: description: Indicates if the mobile scan was updated type: boolean errors: description: A list of errors encountered type: array items: type: string Error: description: Error type: object properties: errorCode: format: int32 description: The error code type: integer message: description: The error message type: string PutMobileScanSetupRequest: description: Put Mobile Scan Setup Request required: - assessmentTypeId - frameworkType - timeZone type: object properties: assessmentTypeId: format: int32 description: The assessment type id. Values can be obtained by calling GET /api/v3/releases/{releaseId}/assessment-types type: integer frameworkType: description: The framework type enum: - iOS - Android type: string timeZone: description: The timezone. Values can be obtained by calling GET /api/v3/lookup-items?type=TimeZones type: string userAccountsRequried: description: Indicates if user accounts are required type: boolean userAccounts: description: List of user accounts type: array items: $ref: '#/definitions/MobileScanUserAccount' notes: description: Notes type: string vpnRequired: description: Indicates if VPN is required type: boolean vpnUserName: description: The VPN username type: string vpnPassword: description: The VPN password type: string hasMultiFactorAuthentication: description: Indicates if multi-factor authentication is used type: boolean multiFactorAuthenticationNotes: description: Multi-factor authentication notes type: string intrusionDetectionSystem: description: Indicates if intrusion detection system is used type: boolean intrusionPreventionSystem: description: Indicates if intrusion prevention system is used type: boolean webApplicationFirewall: description: Indicates if web application firewall is used type: boolean proxyServers: description: Indicates if proxy servers are used type: boolean loadBalancer: description: Indicates if load balancer is used type: boolean preAssessmentCall: description: Indicates if the customer should be contacted prior to beginning the assessment type: boolean auditPreferenceType: description: The audit preference type enum: - Manual - None type: string