openapi: 3.0.0 info: version: '2017-10-01' x-release: v4 title: 'Amazon WorkMail #X Amz Target=WorkMailService.AssociateDelegateToResource #X Amz Target=WorkMailService.AssociateDelegateToResource #X Amz Target=WorkMailService.TestAvailabilityConfiguration API' description:

WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.

The WorkMail API is designed for the following scenarios:

All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.

x-logo: url: https://twitter.com/awscloud/profile_image?size=original backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: workmail x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/workmail-2017-10-01.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://workmail.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon WorkMail multi-region endpoint - url: https://workmail.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon WorkMail multi-region endpoint - url: http://workmail.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon WorkMail endpoint for China (Beijing) and China (Ningxia) - url: https://workmail.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon WorkMail endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=WorkMailService.TestAvailabilityConfiguration' paths: /#X-Amz-Target=WorkMailService.TestAvailabilityConfiguration: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: TestAvailabilityConfiguration description:

Performs a test on an availability provider to ensure that access is allowed. For EWS, it verifies the provided credentials can be used to successfully log in. For Lambda, it verifies that the Lambda function can be invoked and that the resource access policy was configured to deny anonymous access. An anonymous invocation is one done without providing either a SourceArn or SourceAccount header.

The request must contain either one provider definition (EwsProvider or LambdaProvider) or the DomainName parameter. If the DomainName parameter is provided, the configuration stored under the DomainName will be tested.

responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TestAvailabilityConfigurationResponse' '480': description: OrganizationNotFoundException content: application/json: schema: $ref: '#/components/schemas/OrganizationNotFoundException' '481': description: OrganizationStateException content: application/json: schema: $ref: '#/components/schemas/OrganizationStateException' '482': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '483': description: InvalidParameterException content: application/json: schema: $ref: '#/components/schemas/InvalidParameterException' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TestAvailabilityConfigurationRequest' parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - WorkMailService.TestAvailabilityConfiguration summary: Amazon WorkMail Test Availability Configuration tags: - '#X Amz Target=WorkMailService.TestAvailabilityConfiguration' components: schemas: ResourceNotFoundException: {} LambdaArn: type: string pattern: arn:aws:lambda:[a-z]{2}-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9\-_\.]+(:(\$LATEST|[a-zA-Z0-9\-_]+))? minLength: 49 maxLength: 256 OrganizationId: type: string pattern: ^m-[0-9a-f]{32}$ minLength: 34 maxLength: 34 OrganizationStateException: {} TestAvailabilityConfigurationRequest: type: object required: - OrganizationId title: TestAvailabilityConfigurationRequest properties: OrganizationId: allOf: - $ref: '#/components/schemas/OrganizationId' - description: The WorkMail organization where the availability provider will be tested. DomainName: allOf: - $ref: '#/components/schemas/DomainName' - description: The domain to which the provider applies. If this field is provided, a stored availability provider associated to this domain name will be tested. EwsProvider: $ref: '#/components/schemas/EwsAvailabilityProvider' LambdaProvider: $ref: '#/components/schemas/LambdaAvailabilityProvider' InvalidParameterException: {} OrganizationNotFoundException: {} Password: type: string pattern: '[\u0020-\u00FF]+' maxLength: 256 format: password Boolean: type: boolean EwsAvailabilityProvider: type: object required: - EwsEndpoint - EwsUsername - EwsPassword properties: EwsEndpoint: allOf: - $ref: '#/components/schemas/Url' - description: The endpoint of the remote EWS server. EwsUsername: allOf: - $ref: '#/components/schemas/ExternalUserName' - description: The username used to authenticate the remote EWS server. EwsPassword: allOf: - $ref: '#/components/schemas/Password' - description: The password used to authenticate the remote EWS server. description: Describes an EWS based availability provider. This is only used as input to the service. LambdaAvailabilityProvider: type: object required: - LambdaArn properties: LambdaArn: allOf: - $ref: '#/components/schemas/LambdaArn' - description: The Amazon Resource Name (ARN) of the Lambda that acts as the availability provider. description: Describes a Lambda based availability provider. String: type: string maxLength: 256 DomainName: type: string pattern: '[a-zA-Z0-9.-]+\.[a-zA-Z-]{2,}' minLength: 3 maxLength: 255 TestAvailabilityConfigurationResponse: type: object properties: TestPassed: allOf: - $ref: '#/components/schemas/Boolean' - description: Boolean indicating whether the test passed or failed. FailureReason: allOf: - $ref: '#/components/schemas/String' - description: String containing the reason for a failed test if TestPassed is false. Url: type: string pattern: https?://[A-Za-z0-9.-]+(:[0-9]+)?/.* maxLength: 256 ExternalUserName: type: string pattern: '[\u0020-\u00FF]+' maxLength: 256 parameters: X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/workmail/ x-hasEquivalentPaths: true