openapi: 3.2.0 info: description: '**API of the Fortanix Unified Data and AI Security Platform** The API client *must* follow HTTP redirects, including 308 redirects. Many HTTP libraries (such as Python Requests, JavaScript fetch) do this by default. With cURL, you must pass `--location`. ' title: Armor Discovery Connection API version: 0.1.0 servers: - url: https://api.armor.fortanix.com tags: - description: APIs regarding obtaining details about the connection. name: DiscoveryConnection paths: /api/v1/discovery/connections: get: description: Get all connections operationId: GetAllConnections parameters: - $ref: '#/components/parameters/DiscoveryGetAllConnectionsParams' responses: 2XX: content: application/json: schema: $ref: '#/components/schemas/DiscoveryGetAllConnectionsResponse' description: Success result security: - Oauth2ClientCredentials: [] summary: Get all connections tags: - DiscoveryConnection /api/v1/discovery/connections/{id}: get: description: Get a specific connection operationId: GetConnection parameters: - in: path name: id required: true schema: format: uuid type: string responses: 2XX: content: application/json: schema: $ref: '#/components/schemas/DiscoveryConnection' description: Success result security: - Oauth2ClientCredentials: [] summary: Get a specific connection tags: - DiscoveryConnection components: schemas: DiscoveryAwsScopeVariantAccount: allOf: - properties: $type: enum: - account type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAwsScopeAccount' DiscoveryDsmConnectionConfig: allOf: - properties: active_credential_id: type: - string - 'null' credentials: additionalProperties: $ref: '#/components/schemas/DiscoveryConnectionCredential' type: - object - 'null' deployment: $ref: '#/components/schemas/DiscoveryDsmDeployment' required: - deployment type: object DiscoveryConnectionCredential: discriminator: mapping: dsm_agent: DiscoveryConnectionCredentialVariantDsmAgent dsm_certificate: DiscoveryConnectionCredentialVariantDsmCertificate propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryConnectionCredentialVariantDsmCertificate' - $ref: '#/components/schemas/DiscoveryConnectionCredentialVariantDsmAgent' DiscoveryAzureCredentials: discriminator: mapping: client_id_and_secret: DiscoveryAzureCredentialsVariantClientIdAndSecret open_id_connect: DiscoveryAzureCredentialsVariantOpenIdConnect propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryAzureCredentialsVariantClientIdAndSecret' - $ref: '#/components/schemas/DiscoveryAzureCredentialsVariantOpenIdConnect' DiscoveryAwsCredentialsVariantAccessAndSecretKey: allOf: - properties: $type: enum: - access_and_secret_key type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAwsCredentialsAccessAndSecretKey' DiscoveryOnPremConnection: allOf: - properties: config: $ref: '#/components/schemas/DiscoveryOnPremConnectionConfig' on_prem_details: $ref: '#/components/schemas/DiscoveryOnPremDetails' state: $ref: '#/components/schemas/DiscoveryOnPremConnectionState' required: - config - state type: object DiscoveryAzureScopeVariantManagementGroup: allOf: - properties: $type: enum: - management_group type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAzureScopeManagementGroup' DiscoveryOnPremConnectionAuth: discriminator: mapping: certificate: DiscoveryOnPremConnectionAuthVariantCertificate secret: DiscoveryOnPremConnectionAuthVariantSecret propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryOnPremConnectionAuthVariantCertificate' - $ref: '#/components/schemas/DiscoveryOnPremConnectionAuthVariantSecret' DiscoveryDsmCertificate: allOf: - properties: app_id: format: uuid type: - string - 'null' certificate_chain: items: format: byte type: string type: - array - 'null' created_at: example: 20170509T070912Z pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$ type: string credential_id: type: string private_key: format: byte type: string required: - credential_id - created_at type: object DiscoveryOnPremConnectionAuthVariantCertificate: allOf: - properties: $type: enum: - certificate type: string $value: format: byte type: string required: - $type - $value type: object DiscoveryAwsCredentialsVariantOpenIdConnect: allOf: - properties: $type: enum: - open_id_connect type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAwsCredentialsOpenIdConnect' DiscoveryConnectionPolicies: allOf: - properties: crypto_policy: format: uuid type: - string - 'null' type: object DiscoveryConnectionConfigVariantDsm: allOf: - properties: $type: enum: - dsm type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryDsmConnectionConfig' DiscoveryAzureScopeSubscription: allOf: - properties: subscription_id: format: uuid type: string required: - subscription_id type: object DiscoveryAwsCredentials: discriminator: mapping: access_and_secret_key: DiscoveryAwsCredentialsVariantAccessAndSecretKey open_id_connect: DiscoveryAwsCredentialsVariantOpenIdConnect propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryAwsCredentialsVariantAccessAndSecretKey' - $ref: '#/components/schemas/DiscoveryAwsCredentialsVariantOpenIdConnect' DiscoveryAwsScope: description: The scope that current AWS credentials should have access to discriminator: mapping: account: DiscoveryAwsScopeVariantAccount organization: DiscoveryAwsScopeVariantOrganization propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryAwsScopeVariantAccount' - $ref: '#/components/schemas/DiscoveryAwsScopeVariantOrganization' DiscoveryGetAllConnectionsParams: allOf: - properties: filter: type: string limit: type: integer offset: type: integer previous_id: format: uuid type: string sort_by: type: string type: object DiscoveryGetAllConnectionsMetadata: allOf: - properties: filtered_count: description: The amount returned with the filter applied maximum: 4294967295 minimum: 0 type: integer total_count: description: The total number of Connection objects that exist maximum: 4294967295 minimum: 0 type: integer required: - total_count - filtered_count type: object DiscoveryDsmAgentDetails: allOf: - properties: agent_hostname: type: - string - 'null' app_id: format: uuid type: - string - 'null' dsm_account_id: format: uuid type: - string - 'null' dsm_url: format: url type: string required: - dsm_url type: object DiscoveryDsmDeploymentVariantOther: allOf: - properties: $type: enum: - other type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryDsmDeploymentOther' DiscoveryDsmAgentCredentialDetailsVariantSecret: allOf: - properties: $type: enum: - secret type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryDsmAgentCredentialDetailsSecret' DiscoveryAzureCredentialsOpenIdConnect: allOf: - properties: auth_config_id: description: Uuid for the AuthConfig object within Account format: uuid type: string client_id: type: string required: - client_id - auth_config_id type: object DiscoveryDsmDeployment: discriminator: mapping: other: DiscoveryDsmDeploymentVariantOther saas: DiscoveryDsmDeploymentVariantSaaS propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryDsmDeploymentVariantSaaS' - $ref: '#/components/schemas/DiscoveryDsmDeploymentVariantOther' DiscoveryDsmAgentCredentialDetails: discriminator: mapping: secret: DiscoveryDsmAgentCredentialDetailsVariantSecret propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryDsmAgentCredentialDetailsVariantSecret' DiscoveryAzureCredentialsVariantOpenIdConnect: allOf: - properties: $type: enum: - open_id_connect type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAzureCredentialsOpenIdConnect' DiscoveryConnectionConfigVariantDsmAgent: allOf: - properties: $type: enum: - dsm_agent type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryDsmAgentConnectionConfig' DiscoveryAwsCredentialsAccessAndSecretKey: allOf: - properties: access_key: type: string secret_key: type: - string - 'null' required: - access_key type: object DiscoveryAzureCredentialsClientIdAndSecret: allOf: - properties: client_id: type: string client_secret: type: - string - 'null' required: - client_id type: object DiscoveryConnectionConfigVariantAzure: allOf: - properties: $type: enum: - azure type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAzureConfig' DiscoveryAzureScope: description: The scope that current Azure credentials should have access to discriminator: mapping: management_group: DiscoveryAzureScopeVariantManagementGroup subscription: DiscoveryAzureScopeVariantSubscription propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryAzureScopeVariantManagementGroup' - $ref: '#/components/schemas/DiscoveryAzureScopeVariantSubscription' DiscoveryOnPremConnectionStatus: enum: - pending - connected - disconnected type: string DiscoveryAwsScopeAccount: allOf: - properties: account_id: type: - string - 'null' type: object DiscoveryDsmRegion: enum: - north_america - european_union - united_kingdom - asia_pacific - australia - saudi_arabia type: string DiscoveryDsmAgentConnectionStatus: enum: - pending - connected - disconnected type: string DiscoveryConnectionCredentialVariantDsmAgent: allOf: - properties: $type: enum: - dsm_agent type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryDsmAgentCredential' DiscoveryResourceSummary: allOf: - properties: database_count: type: integer fs_known_agents_count: type: - integer - 'null' source_code_repo_count: type: - integer - 'null' required: - database_count type: object DiscoveryDsmAgentCredential: allOf: - properties: credential: $ref: '#/components/schemas/DiscoveryDsmAgentCredentialDetails' required: - credential type: object DiscoveryOnPremPreviousCredential: allOf: - properties: credential: $ref: '#/components/schemas/DiscoveryOnPremConnectionAuth' valid_until: example: 20170509T070912Z pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$ type: string required: - credential - valid_until type: object DiscoveryDsmDeploymentOther: allOf: - properties: url: format: url type: string required: - url type: object DiscoveryConnectionConfigVariantAws: allOf: - properties: $type: enum: - aws type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAwsConfig' DiscoveryConnectionConfigVariantOnPrem: allOf: - properties: $type: enum: - on_prem type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryOnPremConnection' DiscoveryOnPremConnectionState: allOf: - properties: last_polled_at: description: The time this OnPremConnection was last polled example: 20170509T070912Z pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$ type: string status: $ref: '#/components/schemas/DiscoveryOnPremConnectionStatus' required: - status type: object DiscoveryDsmAgentCredentialDetailsSecret: allOf: - properties: created_at: example: 20170509T070912Z pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$ type: string credential_id: format: uuid type: string value: type: string required: - credential_id - created_at - value type: object DiscoveryOnPremConnectionConfig: allOf: - properties: auth: $ref: '#/components/schemas/DiscoveryOnPremConnectionAuth' previous_credential: $ref: '#/components/schemas/DiscoveryOnPremPreviousCredential' required: - auth type: object DiscoveryAzureConfig: allOf: - properties: azure_scope: $ref: '#/components/schemas/DiscoveryAzureScope' credentials: $ref: '#/components/schemas/DiscoveryAzureCredentials' tenant_id: format: uuid type: string required: - credentials - azure_scope - tenant_id type: object DiscoveryOnPremConnectionAuthVariantSecret: allOf: - properties: $type: enum: - secret type: string $value: type: string required: - $type - $value type: object DiscoveryConnectionCredentialVariantDsmCertificate: allOf: - properties: $type: enum: - dsm_certificate type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryDsmCertificate' DiscoveryOnPremDetails: allOf: - properties: hostname: type: string resource_summary: $ref: '#/components/schemas/DiscoveryResourceSummary' required: - hostname - resource_summary type: object DiscoveryGetAllConnectionsResponse: allOf: - properties: items: items: $ref: '#/components/schemas/DiscoveryConnection' type: array metadata: $ref: '#/components/schemas/DiscoveryGetAllConnectionsMetadata' required: - items - metadata type: object DiscoveryDsmDeploymentSaaS: allOf: - properties: region: $ref: '#/components/schemas/DiscoveryDsmRegion' required: - region type: object DiscoveryAzureScopeManagementGroup: allOf: - properties: management_group_id: type: string required: - management_group_id type: object DiscoveryDsmAgentConnectionState: allOf: - properties: last_polled_at: description: The time this DsmAgentConnection was last polled example: 20170509T070912Z pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$ type: string status: $ref: '#/components/schemas/DiscoveryDsmAgentConnectionStatus' required: - status type: object DiscoveryConnection: allOf: - properties: acct_id: description: Uuid of the account that the connection belongs to format: uuid type: string connection_config: $ref: '#/components/schemas/DiscoveryConnectionConfig' connection_id: description: An internally generated Uuid for the Connection type format: uuid type: string created_at: description: The time this Connection object was created example: 20170509T070912Z pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$ type: string external_key_sources: description: External key source items: format: uuid type: string type: - array - 'null' uniqueItems: true group_id: description: Uuid of the group to which the connection object belongs format: uuid type: string name: description: Name of the Connection maxLength: 4096 pattern: ^[^\n]*[^\s\n][^\n]*$ type: string policies: $ref: '#/components/schemas/DiscoveryConnectionPolicies' scan_filter: description: The scan filter representing which cloud service provider entities to scan required: - connection_id - name - acct_id - group_id - created_at - scan_filter - connection_config type: object DiscoveryAwsCredentialsOpenIdConnect: allOf: - properties: auth_config_id: description: Uuid for the AuthConfig object within Account format: uuid type: string required: - auth_config_id type: object DiscoveryAwsConfig: allOf: - properties: aws_scope: $ref: '#/components/schemas/DiscoveryAwsScope' creds: $ref: '#/components/schemas/DiscoveryAwsCredentials' endpoint: format: url type: - string - 'null' role_arn: description: ARN for AWS Role configured for scanning AWS account/organization type: - string - 'null' required: - creds - aws_scope type: object DiscoveryAzureCredentialsVariantClientIdAndSecret: allOf: - properties: $type: enum: - client_id_and_secret type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAzureCredentialsClientIdAndSecret' DiscoveryDsmAgentConnectionConfig: allOf: - properties: credentials: additionalProperties: $ref: '#/components/schemas/DiscoveryConnectionCredential' type: object details: $ref: '#/components/schemas/DiscoveryDsmAgentDetails' state: $ref: '#/components/schemas/DiscoveryDsmAgentConnectionState' required: - state - credentials type: object DiscoveryDsmDeploymentVariantSaaS: allOf: - properties: $type: enum: - saas type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryDsmDeploymentSaaS' DiscoveryConnectionConfig: discriminator: mapping: aws: DiscoveryConnectionConfigVariantAws azure: DiscoveryConnectionConfigVariantAzure dsm: DiscoveryConnectionConfigVariantDsm dsm_agent: DiscoveryConnectionConfigVariantDsmAgent on_prem: DiscoveryConnectionConfigVariantOnPrem propertyName: $type oneOf: - $ref: '#/components/schemas/DiscoveryConnectionConfigVariantAws' - $ref: '#/components/schemas/DiscoveryConnectionConfigVariantAzure' - $ref: '#/components/schemas/DiscoveryConnectionConfigVariantOnPrem' - $ref: '#/components/schemas/DiscoveryConnectionConfigVariantDsm' - $ref: '#/components/schemas/DiscoveryConnectionConfigVariantDsmAgent' DiscoveryAzureScopeVariantSubscription: allOf: - properties: $type: enum: - subscription type: string required: - $type type: object - $ref: '#/components/schemas/DiscoveryAzureScopeSubscription' DiscoveryAwsScopeVariantOrganization: allOf: - properties: $type: enum: - organization type: string required: - $type type: object - properties: {} type: object parameters: DiscoveryGetAllConnectionsParams: explode: true in: query name: DiscoveryGetAllConnectionsParams schema: $ref: '#/components/schemas/DiscoveryGetAllConnectionsParams' securitySchemes: Oauth2ClientCredentials: description: OAuth 2.0 client credential flow, see https://datatracker.ietf.org/doc/html/rfc6749#section-4.4. flows: clientCredentials: scopes: {} tokenUrl: https://api.armor.fortanix.com/api/v1/iam/session/oauth2/token type: oauth2