import type { AuthenticationDecision, DomainStatus, DuplicateRegistrationAction, ExistingEnrollmentAction, FraudDetectionAction, FraudDetectionDecision, FraudDetectionReason, FraudsterRegistrationJobStatus, ServerSideEncryptionUpdateStatus, SpeakerEnrollmentJobStatus, SpeakerStatus, StreamingStatus } from "./enums"; /** * @public */ export interface AssociateFraudsterRequest { /** *
The identifier of the domain that contains the fraudster.
* @public */ DomainId: string | undefined; /** *The identifier of the watchlist you want to associate with the fraudster.
* @public */ WatchlistId: string | undefined; /** *The identifier of the fraudster to be associated with the watchlist.
* @public */ FraudsterId: string | undefined; } /** *Contains all the information about a fraudster.
* @public */ export interface Fraudster { /** *The identifier of the domain that contains the fraudster.
* @public */ DomainId?: string | undefined; /** *The service-generated identifier for the fraudster.
* @public */ GeneratedFraudsterId?: string | undefined; /** *The timestamp of when Voice ID identified the fraudster.
* @public */ CreatedAt?: Date | undefined; /** *The identifier of the watchlists the fraudster is a part of.
* @public */ WatchlistIds?: string[] | undefined; } /** * @public */ export interface AssociateFraudsterResponse { /** *Contains all the information about a fraudster.
* @public */ Fraudster?: Fraudster | undefined; } /** *The configuration used to authenticate a speaker during a session.
* @public */ export interface AuthenticationConfiguration { /** *The minimum threshold needed to successfully authenticate a speaker.
* @public */ AcceptanceThreshold: number | undefined; } /** *The authentication result produced by Voice ID, processed against the current session * state and streamed audio of the speaker.
* @public */ export interface AuthenticationResult { /** *The unique identifier for this authentication result. Because there can be multiple
* authentications for a given session, this field helps to identify if the returned result
* is from a previous streaming activity or a new result. Note that in absence of any new
* streaming activity, AcceptanceThreshold changes, or SpeakerId
* changes, Voice ID always returns cached Authentication Result for this API.
A timestamp of when audio aggregation started for this authentication * result.
* @public */ AudioAggregationStartedAt?: Date | undefined; /** *A timestamp of when audio aggregation ended for this authentication * result.
* @public */ AudioAggregationEndedAt?: Date | undefined; /** *The client-provided identifier for the speaker whose authentication result is
* produced. Only present if a SpeakerId is provided for the session.
The service-generated identifier for the speaker whose authentication result is * produced.
* @public */ GeneratedSpeakerId?: string | undefined; /** *The authentication decision produced by Voice ID, processed against the current * session state and streamed audio of the speaker.
* @public */ Decision?: AuthenticationDecision | undefined; /** *The authentication score for the speaker whose authentication result is produced. This
* value is only present if the authentication decision is either ACCEPT or
* REJECT.
The AuthenticationConfiguration used to generate this authentication
* result.
The configuration containing information about the customer managed key used for * encrypting customer data.
* @public */ export interface ServerSideEncryptionConfiguration { /** *The identifier of the KMS key to use to encrypt data stored by * Voice ID. Voice ID doesn't support asymmetric customer managed keys.
* @public */ KmsKeyId: string | undefined; } /** *The tags used to organize, track, or control access for this resource. For example, \{ * "tags": \{"key1":"value1", "key2":"value2"\} \}.
* @public */ export interface Tag { /** *The first part of a key:value pair that forms a tag associated with a given resource. * For example, in the tag 'Department':'Sales', the key is 'Department'.
* @public */ Key: string | undefined; /** *The second part of a key:value pair that forms a tag associated with a given resource. * For example, in the tag 'Department':'Sales', the value is 'Sales'.
* @public */ Value: string | undefined; } /** * @public */ export interface CreateDomainRequest { /** *The name of the domain.
* @public */ Name: string | undefined; /** *A brief description of this domain.
* @public */ Description?: string | undefined; /** *The configuration, containing the KMS key identifier, to be used by * Voice ID for the server-side encryption of your data. Refer to * Amazon Connect Voice ID encryption at rest for more details on how the KMS key is used.
* @public */ ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration | undefined; /** *A unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. If not provided, the Amazon Web Services * SDK populates this field. For more information about idempotency, see * Making retries safe with idempotent APIs.
* @public */ ClientToken?: string | undefined; /** *A list of tags you want added to the domain.
* @public */ Tags?: Tag[] | undefined; } /** *Details about the most recent server-side encryption configuration update. When the * server-side encryption configuration is changed, dependency on the old KMS key is removed through an asynchronous process. When this update is * complete, the domain’s data can only be accessed using the new KMS key.
* @public */ export interface ServerSideEncryptionUpdateDetails { /** *The previous KMS key ID the domain was encrypted with, before * ServerSideEncryptionConfiguration was updated to a new KMS key ID.
* @public */ OldKmsKeyId?: string | undefined; /** *Status of the server-side encryption update. During an update, if there is an issue * with the domain's current or old KMS key ID, such as an inaccessible or * disabled key, then the status is FAILED. In order to resolve this, the key needs to be * made accessible, and then an UpdateDomain call with the existing server-side encryption * configuration will re-attempt this update process.
* @public */ UpdateStatus?: ServerSideEncryptionUpdateStatus | undefined; /** *Message explaining the current UpdateStatus. When the UpdateStatus is FAILED, this * message explains the cause of the failure.
* @public */ Message?: string | undefined; } /** *Details of the watchlists in a domain.
* @public */ export interface WatchlistDetails { /** *The identifier of the default watchlist.
* @public */ DefaultWatchlistId: string | undefined; } /** *Contains all the information about a domain.
* @public */ export interface Domain { /** *The identifier of the domain.
* @public */ DomainId?: string | undefined; /** *The Amazon Resource Name (ARN) for the domain.
* @public */ Arn?: string | undefined; /** *The name for the domain.
* @public */ Name?: string | undefined; /** *The description of the domain.
* @public */ Description?: string | undefined; /** *The current status of the domain.
* @public */ DomainStatus?: DomainStatus | undefined; /** *The server-side encryption configuration containing the KMS key * identifier you want Voice ID to use to encrypt your data.
* @public */ ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration | undefined; /** *The timestamp of when the domain was created.
* @public */ CreatedAt?: Date | undefined; /** *The timestamp of when the domain was last update.
* @public */ UpdatedAt?: Date | undefined; /** *Details about the most recent server-side encryption configuration update. When the * server-side encryption configuration is changed, dependency on the old KMS key is removed through an asynchronous process. When this update is * complete, the domain's data can only be accessed using the new KMS key.
* @public */ ServerSideEncryptionUpdateDetails?: ServerSideEncryptionUpdateDetails | undefined; /** *The watchlist details of a domain. Contains the default watchlist ID of the domain.
* @public */ WatchlistDetails?: WatchlistDetails | undefined; } /** * @public */ export interface CreateDomainResponse { /** *Information about the newly created domain.
* @public */ Domain?: Domain | undefined; } /** * @public */ export interface CreateWatchlistRequest { /** *The identifier of the domain that contains the watchlist.
* @public */ DomainId: string | undefined; /** *The name of the watchlist.
* @public */ Name: string | undefined; /** *A brief description of this watchlist.
* @public */ Description?: string | undefined; /** *A unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. If not provided, the Amazon Web Services * SDK populates this field. For more information about idempotency, see * Making retries safe with idempotent APIs.
* @public */ ClientToken?: string | undefined; } /** *Contains all the information about a watchlist.
* @public */ export interface Watchlist { /** *The identifier of the domain that contains the watchlist.
* @public */ DomainId?: string | undefined; /** *The identifier of the watchlist.
* @public */ WatchlistId?: string | undefined; /** *The name for the watchlist.
* @public */ Name?: string | undefined; /** *The description of the watchlist.
* @public */ Description?: string | undefined; /** *Whether the specified watchlist is the default watchlist of a domain.
* @public */ DefaultWatchlist?: boolean | undefined; /** *The timestamp of when the watchlist was created.
* @public */ CreatedAt?: Date | undefined; /** *The timestamp of when the watchlist was updated.
* @public */ UpdatedAt?: Date | undefined; } /** * @public */ export interface CreateWatchlistResponse { /** *Information about the newly created watchlist.
* @public */ Watchlist?: Watchlist | undefined; } /** * @public */ export interface DeleteDomainRequest { /** *The identifier of the domain you want to delete.
* @public */ DomainId: string | undefined; } /** * @public */ export interface DeleteFraudsterRequest { /** *The identifier of the domain that contains the fraudster.
* @public */ DomainId: string | undefined; /** *The identifier of the fraudster you want to delete.
* @public */ FraudsterId: string | undefined; } /** * @public */ export interface DeleteSpeakerRequest { /** *The identifier of the domain that contains the speaker.
* @public */ DomainId: string | undefined; /** *The identifier of the speaker you want to delete.
* @public */ SpeakerId: string | undefined; } /** * @public */ export interface DeleteWatchlistRequest { /** *The identifier of the domain that contains the watchlist.
* @public */ DomainId: string | undefined; /** *The identifier of the watchlist to be deleted.
* @public */ WatchlistId: string | undefined; } /** * @public */ export interface DescribeDomainRequest { /** *The identifier of the domain that you are describing.
* @public */ DomainId: string | undefined; } /** * @public */ export interface DescribeDomainResponse { /** *Information about the specified domain.
* @public */ Domain?: Domain | undefined; } /** * @public */ export interface DescribeFraudsterRequest { /** *The identifier of the domain that contains the fraudster.
* @public */ DomainId: string | undefined; /** *The identifier of the fraudster you are describing.
* @public */ FraudsterId: string | undefined; } /** * @public */ export interface DescribeFraudsterResponse { /** *Information about the specified fraudster.
* @public */ Fraudster?: Fraudster | undefined; } /** * @public */ export interface DescribeFraudsterRegistrationJobRequest { /** *The identifier of the domain that contains the fraudster registration job.
* @public */ DomainId: string | undefined; /** *The identifier of the fraudster registration job you are describing.
* @public */ JobId: string | undefined; } /** *Contains error details for a failed batch job.
* @public */ export interface FailureDetails { /** *An HTTP status code representing the nature of the error.
* @public */ StatusCode?: number | undefined; /** *A description of the error that caused the batch job failure.
* @public */ Message?: string | undefined; } /** *The configuration containing input file information for a batch job.
* @public */ export interface InputDataConfig { /** *The S3 location for the input manifest file that contains the list of individual * enrollment or registration job requests.
* @public */ S3Uri: string | undefined; } /** *Indicates the completion progress for a batch job.
* @public */ export interface JobProgress { /** *Shows the completed percentage of enrollment or registration requests listed in the * input file.
* @public */ PercentComplete?: number | undefined; } /** *The configuration containing output file information for a batch job.
* @public */ export interface OutputDataConfig { /** *The S3 path of the folder where Voice ID writes the job output file. It has a
* *.out extension. For example, if the input file name is
* input-file.json and the output folder path is
* s3://output-bucket/output-folder, the full output file path is
* s3://output-bucket/output-folder/job-Id/input-file.json.out.
The identifier of the KMS key you want Voice ID to use to encrypt the * output file of a speaker enrollment job/fraudster registration job. *
* @public */ KmsKeyId?: string | undefined; } /** *The registration configuration to be used during the batch fraudster registration job.
* @public */ export interface RegistrationConfig { /** *The action to take when a fraudster is identified as a duplicate. The default action
* is SKIP, which skips registering the duplicate fraudster. Setting the value
* to REGISTER_AS_NEW always registers a new fraudster into the specified
* domain.
The minimum similarity score between the new and old fraudsters in order to consider * the new fraudster a duplicate.
* @public */ FraudsterSimilarityThreshold?: number | undefined; /** *The identifiers of watchlists that a fraudster is registered to. If a watchlist isn't provided, the fraudsters are registered to the default watchlist. *
* @public */ WatchlistIds?: string[] | undefined; } /** *Contains all the information about a fraudster registration job.
* @public */ export interface FraudsterRegistrationJob { /** *The client-provided name for the fraudster registration job.
* @public */ JobName?: string | undefined; /** *The service-generated identifier for the fraudster registration job.
* @public */ JobId?: string | undefined; /** *The current status of the fraudster registration job.
* @public */ JobStatus?: FraudsterRegistrationJobStatus | undefined; /** *The identifier of the domain that contains the fraudster registration job.
* @public */ DomainId?: string | undefined; /** *The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to access * customer's buckets to read the input manifest file and write the job output file.
* @public */ DataAccessRoleArn?: string | undefined; /** *The registration config containing details such as the action to take when a duplicate * fraudster is detected, and the similarity threshold to use for detecting a duplicate * fraudster.
* @public */ RegistrationConfig?: RegistrationConfig | undefined; /** *The input data config containing an S3 URI for the input manifest file that contains * the list of fraudster registration job requests.
* @public */ InputDataConfig?: InputDataConfig | undefined; /** *The output data config containing the S3 location where you want Voice ID to write * your job output file; you must also include a KMS key ID in order to * encrypt the file.
* @public */ OutputDataConfig?: OutputDataConfig | undefined; /** *A timestamp of when the fraudster registration job was created.
* @public */ CreatedAt?: Date | undefined; /** *A timestamp of when the fraudster registration job ended.
* @public */ EndedAt?: Date | undefined; /** *Contains details that are populated when an entire batch job fails. In cases of
* individual registration job failures, the batch job as a whole doesn't fail; it is
* completed with a JobStatus of COMPLETED_WITH_ERRORS. You can
* use the job output file to identify the individual registration requests that
* failed.
Shows the completed percentage of registration requests listed in the input * file.
* @public */ JobProgress?: JobProgress | undefined; } /** * @public */ export interface DescribeFraudsterRegistrationJobResponse { /** *Contains details about the specified fraudster registration job.
* @public */ Job?: FraudsterRegistrationJob | undefined; } /** * @public */ export interface DescribeSpeakerRequest { /** *The identifier of the domain that contains the speaker.
* @public */ DomainId: string | undefined; /** *The identifier of the speaker you are describing.
* @public */ SpeakerId: string | undefined; } /** *Contains all the information about a speaker.
* @public */ export interface Speaker { /** *The identifier of the domain that contains the speaker.
* @public */ DomainId?: string | undefined; /** *The client-provided identifier for the speaker.
* @public */ CustomerSpeakerId?: string | undefined; /** *The service-generated identifier for the speaker.
* @public */ GeneratedSpeakerId?: string | undefined; /** *The current status of the speaker.
* @public */ Status?: SpeakerStatus | undefined; /** *A timestamp of when the speaker was created.
* @public */ CreatedAt?: Date | undefined; /** *A timestamp of the speaker's last update.
* @public */ UpdatedAt?: Date | undefined; /** *The timestamp of when the speaker was last accessed for enrollment, re-enrollment or a * successful authentication. This timestamp is accurate to one hour.
* @public */ LastAccessedAt?: Date | undefined; } /** * @public */ export interface DescribeSpeakerResponse { /** *Information about the specified speaker.
* @public */ Speaker?: Speaker | undefined; } /** * @public */ export interface DescribeSpeakerEnrollmentJobRequest { /** *The identifier of the domain that contains the speaker enrollment job.
* @public */ DomainId: string | undefined; /** *The identifier of the speaker enrollment job you are describing.
* @public */ JobId: string | undefined; } /** *The fraud detection configuration to be used during the batch speaker enrollment job.
* @public */ export interface EnrollmentJobFraudDetectionConfig { /** *The action to take when the given speaker is flagged by the fraud detection system.
* The default value is FAIL, which fails the speaker enrollment. Changing
* this value to IGNORE results in the speaker being enrolled even if they are
* flagged by the fraud detection system.
Threshold value for determining whether the speaker is a high risk to be fraudulent. * If the detected risk score calculated by Voice ID is greater than or equal to the * threshold, the speaker is considered a fraudster.
* @public */ RiskThreshold?: number | undefined; /** *The identifier of watchlists against which fraud detection is performed. *
* @public */ WatchlistIds?: string[] | undefined; } /** *Contains configurations defining enrollment behavior for the batch job.
* @public */ export interface EnrollmentConfig { /** * The action to take when the specified speaker is already enrolled in the specified
* domain. The default value is SKIP, which skips the enrollment for the
* existing speaker. Setting the value to OVERWRITE replaces the existing
* voice prints and enrollment audio stored for that speaker with new data generated from
* the latest audio.
The fraud detection configuration to use for the speaker enrollment job.
* @public */ FraudDetectionConfig?: EnrollmentJobFraudDetectionConfig | undefined; } /** *Contains all the information about a speaker enrollment job.
* @public */ export interface SpeakerEnrollmentJob { /** *The client-provided name for the speaker enrollment job.
* @public */ JobName?: string | undefined; /** *The service-generated identifier for the speaker enrollment job.
* @public */ JobId?: string | undefined; /** *The current status of the speaker enrollment job.
* @public */ JobStatus?: SpeakerEnrollmentJobStatus | undefined; /** *The identifier of the domain that contains the speaker enrollment job.
* @public */ DomainId?: string | undefined; /** *The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to access * customer's buckets to read the input manifest file and write the job output file.
* @public */ DataAccessRoleArn?: string | undefined; /** *The configuration that defines the action to take when the speaker is already enrolled
* in Voice ID, and the FraudDetectionConfig to use.
The input data config containing an S3 URI for the input manifest file that contains * the list of speaker enrollment job requests.
* @public */ InputDataConfig?: InputDataConfig | undefined; /** *The output data config containing the S3 location where Voice ID writes the job * output file; you must also include a KMS key ID to encrypt the * file.
* @public */ OutputDataConfig?: OutputDataConfig | undefined; /** *A timestamp of when the speaker enrollment job was created.
* @public */ CreatedAt?: Date | undefined; /** *A timestamp of when the speaker enrollment job ended.
* @public */ EndedAt?: Date | undefined; /** *Contains details that are populated when an entire batch job fails. In cases of
* individual registration job failures, the batch job as a whole doesn't fail; it is
* completed with a JobStatus of COMPLETED_WITH_ERRORS. You can
* use the job output file to identify the individual registration requests that
* failed.
Provides details on job progress. This field shows the completed percentage of * registration requests listed in the input file.
* @public */ JobProgress?: JobProgress | undefined; } /** * @public */ export interface DescribeSpeakerEnrollmentJobResponse { /** *Contains details about the specified speaker enrollment job.
* @public */ Job?: SpeakerEnrollmentJob | undefined; } /** * @public */ export interface DescribeWatchlistRequest { /** *The identifier of the domain that contains the watchlist.
* @public */ DomainId: string | undefined; /** *The identifier of the watchlist that you are describing.
* @public */ WatchlistId: string | undefined; } /** * @public */ export interface DescribeWatchlistResponse { /** *Information about the specified watchlist.
* @public */ Watchlist?: Watchlist | undefined; } /** * @public */ export interface DisassociateFraudsterRequest { /** *The identifier of the domain that contains the fraudster.
* @public */ DomainId: string | undefined; /** *The identifier of the watchlist that you want to disassociate from the fraudster.
* @public */ WatchlistId: string | undefined; /** *The identifier of the fraudster to be disassociated from the watchlist.
* @public */ FraudsterId: string | undefined; } /** * @public */ export interface DisassociateFraudsterResponse { /** *Contains all the information about a fraudster.
* @public */ Fraudster?: Fraudster | undefined; } /** * @public */ export interface ListDomainsRequest { /** *The maximum number of results that are returned per call. You can use
* NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100.
If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
Contains a summary of information about a domain.
* @public */ export interface DomainSummary { /** *The identifier of the domain.
* @public */ DomainId?: string | undefined; /** *The Amazon Resource Name (ARN) for the domain.
* @public */ Arn?: string | undefined; /** *The client-provided name for the domain.
* @public */ Name?: string | undefined; /** *The description of the domain.
* @public */ Description?: string | undefined; /** *The current status of the domain.
* @public */ DomainStatus?: DomainStatus | undefined; /** *The server-side encryption configuration containing the KMS key * identifier you want Voice ID to use to encrypt your data.
* @public */ ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration | undefined; /** *The timestamp of when the domain was created.
* @public */ CreatedAt?: Date | undefined; /** *The timestamp of when the domain was last updated.
* @public */ UpdatedAt?: Date | undefined; /** *Details about the most recent server-side encryption configuration update. When the * server-side encryption configuration is changed, dependency on the old KMS key is removed through an asynchronous process. When this update is * complete, the domain's data can only be accessed using the new KMS key.
* @public */ ServerSideEncryptionUpdateDetails?: ServerSideEncryptionUpdateDetails | undefined; /** *Provides information about watchlistDetails and DefaultWatchlistID.
A list containing details about each domain in the Amazon Web Services account.
* @public */ DomainSummaries?: DomainSummary[] | undefined; /** *If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
The identifier of the domain to be updated.
* @public */ DomainId: string | undefined; /** *The name of the domain.
* @public */ Name: string | undefined; /** *A brief description about this domain.
* @public */ Description?: string | undefined; /** *The configuration, containing the KMS key identifier, to be used by
* Voice ID for the server-side encryption of your data. Changing the domain's associated
* KMS key immediately triggers an asynchronous process to remove
* dependency on the old KMS key, such that the domain's data can only be
* accessed using the new KMS key. The domain's
* ServerSideEncryptionUpdateDetails contains the details for this
* process.
Details about the updated domain
* @public */ Domain?: Domain | undefined; } /** * @public */ export interface EvaluateSessionRequest { /** *The identifier of the domain where the session started.
* @public */ DomainId: string | undefined; /** *The session identifier, or name of the session, that you want to evaluate. In * Voice ID integration, this is the Contact-Id.
* @public */ SessionNameOrId: string | undefined; } /** *The configuration used for performing fraud detection over a speaker during a * session.
* @public */ export interface FraudDetectionConfiguration { /** *Threshold value for determining whether the speaker is a fraudster. If the detected * risk score calculated by Voice ID is higher than the threshold, the speaker is * considered a fraudster.
* @public */ RiskThreshold?: number | undefined; /** *The identifier of the watchlist against which fraud detection is performed. *
* @public */ WatchlistId?: string | undefined; } /** *Contains details produced as a result of performing known fraudster risk analysis on a * speaker.
* @public */ export interface KnownFraudsterRisk { /** *The score indicating the likelihood the speaker is a known fraudster.
* @public */ RiskScore: number | undefined; /** *The identifier of the fraudster that is the closest match to the speaker. If there are
* no fraudsters registered in a given domain, or if there are no fraudsters with a
* non-zero RiskScore, this value is null.
The details resulting from 'Voice Spoofing Risk' analysis of the speaker.
* @public */ export interface VoiceSpoofingRisk { /** *The score indicating the likelihood of speaker’s voice being spoofed.
* @public */ RiskScore: number | undefined; } /** *Details regarding various fraud risk analyses performed against the current session * state and streamed audio of the speaker.
* @public */ export interface FraudRiskDetails { /** *The details resulting from 'Known Fraudster Risk' analysis of the speaker.
* @public */ KnownFraudsterRisk: KnownFraudsterRisk | undefined; /** *The details resulting from 'Voice Spoofing Risk' analysis of the speaker.
* @public */ VoiceSpoofingRisk: VoiceSpoofingRisk | undefined; } /** *The fraud detection result produced by Voice ID, processed against the current * session state and streamed audio of the speaker.
* @public */ export interface FraudDetectionResult { /** *The unique identifier for this fraud detection result. Given there can be multiple * fraud detections for a given session, this field helps in identifying if the returned * result is from previous streaming activity or a new result. Note that in the absence of * any new streaming activity or risk threshold changes, Voice ID always returns cached * Fraud Detection result for this API.
* @public */ FraudDetectionResultId?: string | undefined; /** *A timestamp of when audio aggregation started for this fraud detection * result.
* @public */ AudioAggregationStartedAt?: Date | undefined; /** *A timestamp of when audio aggregation ended for this fraud detection * result.
* @public */ AudioAggregationEndedAt?: Date | undefined; /** *The FraudDetectionConfiguration used to generate this fraud detection
* result.
The fraud detection decision produced by Voice ID, processed against the current * session state and streamed audio of the speaker.
* @public */ Decision?: FraudDetectionDecision | undefined; /** *The reason speaker was flagged by the fraud detection system. This is only be
* populated if fraud detection Decision is HIGH_RISK, and the following
* possible values: KNOWN_FRAUDSTER and VOICE_SPOOFING.
Details about each risk analyzed for this speaker. Currently, this contains * KnownFraudsterRisk and VoiceSpoofingRisk details.
* @public */ RiskDetails?: FraudRiskDetails | undefined; } /** * @public */ export interface EvaluateSessionResponse { /** *The identifier of the domain that contains the session.
* @public */ DomainId?: string | undefined; /** *The service-generated identifier of the session.
* @public */ SessionId?: string | undefined; /** *The client-provided name of the session.
* @public */ SessionName?: string | undefined; /** *The current status of audio streaming for this session. This field is useful to infer
* next steps when the Authentication or Fraud Detection results are empty or the decision
* is NOT_ENOUGH_SPEECH. In this situation, if the
* StreamingStatus is ONGOING/PENDING_CONFIGURATION, it can
* mean that the client should call the API again later, after Voice ID has enough audio
* to produce a result. If the decision remains NOT_ENOUGH_SPEECH even after
* StreamingStatus is ENDED, it means that the previously
* streamed session did not have enough speech to perform evaluation, and a new streaming
* session is needed to try again.
Details resulting from the authentication process, such as authentication decision and * authentication score.
* @public */ AuthenticationResult?: AuthenticationResult | undefined; /** *Details resulting from the fraud detection process, such as fraud detection decision * and risk score.
* @public */ FraudDetectionResult?: FraudDetectionResult | undefined; } /** *Contains a summary of information about a fraudster registration job.
* @public */ export interface FraudsterRegistrationJobSummary { /** *The client-provided name for the fraudster registration job.
* @public */ JobName?: string | undefined; /** *The service-generated identifier for the fraudster registration job.
* @public */ JobId?: string | undefined; /** *The current status of the fraudster registration job.
* @public */ JobStatus?: FraudsterRegistrationJobStatus | undefined; /** *The identifier of the domain that contains the fraudster registration job.
* @public */ DomainId?: string | undefined; /** *A timestamp of when the fraudster registration job was created.
* @public */ CreatedAt?: Date | undefined; /** *A timestamp of when the fraudster registration job ended.
* @public */ EndedAt?: Date | undefined; /** *Contains details that are populated when an entire batch job fails. In cases of
* individual registration job failures, the batch job as a whole doesn't fail; it is
* completed with a JobStatus of COMPLETED_WITH_ERRORS. You can
* use the job output file to identify the individual registration requests that
* failed.
Shows the completed percentage of registration requests listed in the input * file.
* @public */ JobProgress?: JobProgress | undefined; } /** *Contains a summary of information about a fraudster. *
* @public */ export interface FraudsterSummary { /** *The identifier of the domain that contains the fraudster summary.
* @public */ DomainId?: string | undefined; /** *The service-generated identifier for the fraudster.
* @public */ GeneratedFraudsterId?: string | undefined; /** *The timestamp of when the fraudster summary was created.
* @public */ CreatedAt?: Date | undefined; /** *The identifier of the watchlists the fraudster is a part of.
* @public */ WatchlistIds?: string[] | undefined; } /** * @public */ export interface ListFraudsterRegistrationJobsRequest { /** *The identifier of the domain that contains the fraudster registration Jobs.
* @public */ DomainId: string | undefined; /** *Provides the status of your fraudster registration job.
* @public */ JobStatus?: FraudsterRegistrationJobStatus | undefined; /** *The maximum number of results that are returned per call. You can use
* NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100.
If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
A list containing details about each specified fraudster registration job.
* @public */ JobSummaries?: FraudsterRegistrationJobSummary[] | undefined; /** *If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
The identifier of the domain.
* @public */ DomainId: string | undefined; /** *The identifier of the watchlist. If provided, all fraudsters in the watchlist are listed. If not provided, all fraudsters in the domain are listed.
* @public */ WatchlistId?: string | undefined; /** *The maximum number of results that are returned per call. You can use
* NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100.
If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
*
A list that contains details about each fraudster in the Amazon Web Services account. *
* @public */ FraudsterSummaries?: FraudsterSummary[] | undefined; /** *If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
*
The identifier of the domain that contains the speaker enrollment jobs.
* @public */ DomainId: string | undefined; /** *Provides the status of your speaker enrollment Job.
* @public */ JobStatus?: SpeakerEnrollmentJobStatus | undefined; /** *The maximum number of results that are returned per call. You can use
* NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100.
If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
Contains a summary of information about a speaker enrollment job.
* @public */ export interface SpeakerEnrollmentJobSummary { /** *The client-provided name for the speaker enrollment job.
* @public */ JobName?: string | undefined; /** *The service-generated identifier for the speaker enrollment job.
* @public */ JobId?: string | undefined; /** *The current status of the speaker enrollment job.
* @public */ JobStatus?: SpeakerEnrollmentJobStatus | undefined; /** *The identifier of the domain that contains the speaker enrollment job.
* @public */ DomainId?: string | undefined; /** *A timestamp of when of the speaker enrollment job was created.
* @public */ CreatedAt?: Date | undefined; /** *A timestamp of when the speaker enrollment job ended.
* @public */ EndedAt?: Date | undefined; /** *Contains details that are populated when an entire batch job fails. In cases of
* individual registration job failures, the batch job as a whole doesn't fail; it is
* completed with a JobStatus of COMPLETED_WITH_ERRORS. You can
* use the job output file to identify the individual registration requests that
* failed.
Provides details regarding job progress. This field shows the completed percentage of * enrollment requests listed in the input file.
* @public */ JobProgress?: JobProgress | undefined; } /** * @public */ export interface ListSpeakerEnrollmentJobsResponse { /** *A list containing details about each specified speaker enrollment job.
* @public */ JobSummaries?: SpeakerEnrollmentJobSummary[] | undefined; /** *If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
The identifier of the domain.
* @public */ DomainId: string | undefined; /** *The maximum number of results that are returned per call. You can use
* NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100.
If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
Contains a summary of information about a speaker.
* @public */ export interface SpeakerSummary { /** *The identifier of the domain that contains the speaker.
* @public */ DomainId?: string | undefined; /** *The client-provided identifier for the speaker.
* @public */ CustomerSpeakerId?: string | undefined; /** *The service-generated identifier for the speaker.
* @public */ GeneratedSpeakerId?: string | undefined; /** *The current status of the speaker.
* @public */ Status?: SpeakerStatus | undefined; /** *A timestamp showing the speaker's creation time.
* @public */ CreatedAt?: Date | undefined; /** *A timestamp showing the speaker's last update.
* @public */ UpdatedAt?: Date | undefined; /** *The timestamp when the speaker was last accessed for enrollment, re-enrollment or a * successful authentication. This timestamp is accurate to one hour.
* @public */ LastAccessedAt?: Date | undefined; } /** * @public */ export interface ListSpeakersResponse { /** *A list containing details about each speaker in the Amazon Web Services account. *
* @public */ SpeakerSummaries?: SpeakerSummary[] | undefined; /** *If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
The Amazon Resource Name (ARN) of the Voice ID resource for which you want to list * the tags.
* @public */ ResourceArn: string | undefined; } /** * @public */ export interface ListTagsForResourceResponse { /** *The list of tags associated with the specified resource.
* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface ListWatchlistsRequest { /** *The identifier of the domain.
* @public */ DomainId: string | undefined; /** *The maximum number of results that are returned per call. You can use
* NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100.
*
If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
*
Contains a summary of information about a watchlist.
* @public */ export interface WatchlistSummary { /** *The identifier of the domain that contains the watchlist.
* @public */ DomainId?: string | undefined; /** *The identifier of the watchlist.
* @public */ WatchlistId?: string | undefined; /** *The name for the watchlist.
* @public */ Name?: string | undefined; /** *The description of the watchlist.
* @public */ Description?: string | undefined; /** *Whether the specified watchlist is the default watchlist of a domain.
* @public */ DefaultWatchlist?: boolean | undefined; /** *The timestamp of when the watchlist was created.
* @public */ CreatedAt?: Date | undefined; /** *The timestamp of when the watchlist was last updated.
* @public */ UpdatedAt?: Date | undefined; } /** * @public */ export interface ListWatchlistsResponse { /** *A list that contains details about each watchlist in the Amazon Web Services account. *
* @public */ WatchlistSummaries?: WatchlistSummary[] | undefined; /** *If NextToken is returned, there are more results available. The value of
* NextToken is a unique pagination token for each page. Make the call
* again using the returned token to retrieve the next page. Keep all other arguments
* unchanged. Each pagination token expires after 24 hours.
*
The identifier of the domain that contains the speaker.
* @public */ DomainId: string | undefined; /** *The identifier of the speaker you want opted-out.
* @public */ SpeakerId: string | undefined; } /** * @public */ export interface OptOutSpeakerResponse { /** *Details about the opted-out speaker.
* @public */ Speaker?: Speaker | undefined; } /** * @public */ export interface StartFraudsterRegistrationJobRequest { /** *A unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. If not provided, the Amazon Web Services * SDK populates this field. For more information about idempotency, see * Making retries safe with idempotent APIs.
* @public */ ClientToken?: string | undefined; /** *The name of the new fraudster registration job.
* @public */ JobName?: string | undefined; /** *The identifier of the domain that contains the fraudster registration job and in which * the fraudsters are registered.
* @public */ DomainId: string | undefined; /** *The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to access * customer's buckets to read the input manifest file and write the Job output file. Refer * to the Create and edit a * fraudster watchlist documentation for the permissions needed in this * role.
* @public */ DataAccessRoleArn: string | undefined; /** *The registration config containing details such as the action to take when a duplicate * fraudster is detected, and the similarity threshold to use for detecting a duplicate * fraudster.
* @public */ RegistrationConfig?: RegistrationConfig | undefined; /** *The input data config containing an S3 URI for the input manifest file that contains * the list of fraudster registration requests.
* @public */ InputDataConfig: InputDataConfig | undefined; /** *The output data config containing the S3 location where Voice ID writes the job * output file; you must also include a KMS key ID to encrypt the * file.
* @public */ OutputDataConfig: OutputDataConfig | undefined; } /** * @public */ export interface StartFraudsterRegistrationJobResponse { /** *Details about the started fraudster registration job.
* @public */ Job?: FraudsterRegistrationJob | undefined; } /** * @public */ export interface StartSpeakerEnrollmentJobRequest { /** *A unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. If not provided, the Amazon Web Services * SDK populates this field. For more information about idempotency, see * Making retries safe with idempotent APIs.
* @public */ ClientToken?: string | undefined; /** *A name for your speaker enrollment job.
* @public */ JobName?: string | undefined; /** *The identifier of the domain that contains the speaker enrollment job and in which the * speakers are enrolled.
* @public */ DomainId: string | undefined; /** *The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to access * customer's buckets to read the input manifest file and write the job output file. Refer * to Batch enrollment using * audio data from prior calls for the permissions needed in this role.
* @public */ DataAccessRoleArn: string | undefined; /** *The enrollment config that contains details such as the action to take when a speaker * is already enrolled in Voice ID or when a speaker is identified as a fraudster.
* @public */ EnrollmentConfig?: EnrollmentConfig | undefined; /** *The input data config containing the S3 location for the input manifest file that * contains the list of speaker enrollment requests.
* @public */ InputDataConfig: InputDataConfig | undefined; /** *The output data config containing the S3 location where Voice ID writes the job * output file; you must also include a KMS key ID to encrypt the * file.
* @public */ OutputDataConfig: OutputDataConfig | undefined; } /** * @public */ export interface StartSpeakerEnrollmentJobResponse { /** *Details about the started speaker enrollment job.
* @public */ Job?: SpeakerEnrollmentJob | undefined; } /** * @public */ export interface TagResourceRequest { /** *The Amazon Resource Name (ARN) of the Voice ID resource you want to tag.
* @public */ ResourceArn: string | undefined; /** *The list of tags to assign to the specified resource.
* @public */ Tags: Tag[] | undefined; } /** * @public */ export interface TagResourceResponse { } /** * @public */ export interface UntagResourceRequest { /** *The Amazon Resource Name (ARN) of the Voice ID resource you want to remove tags * from.
* @public */ ResourceArn: string | undefined; /** *The list of tag keys you want to remove from the specified resource.
* @public */ TagKeys: string[] | undefined; } /** * @public */ export interface UntagResourceResponse { } /** * @public */ export interface UpdateWatchlistRequest { /** *The identifier of the domain that contains the watchlist.
* @public */ DomainId: string | undefined; /** *The identifier of the watchlist to be updated.
* @public */ WatchlistId: string | undefined; /** *The name of the watchlist.
* @public */ Name?: string | undefined; /** *A brief description about this watchlist.
* @public */ Description?: string | undefined; } /** * @public */ export interface UpdateWatchlistResponse { /** *Details about the updated watchlist.
* @public */ Watchlist?: Watchlist | undefined; }