# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
type: object
properties:
  client_secret:
    type: string
    description: |
      A unique string generated by the client, and used to identify the
      validation attempt. It must be a string consisting of the characters
      `[0-9a-zA-Z.=_-]`. Its length must not exceed 255 characters and it
      must not be empty.
    example: "monkeys_are_GREAT"
  email:
    type: string
    description: The email address to validate.
    example: "alice@example.org"
  send_attempt:
    type: integer
    description: |-
      The server will only send an email if the `send_attempt`
      is a number greater than the most recent one which it has seen,
      scoped to that `email` + `client_secret` pair. This is to
      avoid repeatedly sending the same email in the case of request
      retries between the POSTing user and the identity server.
      The client should increment this value if they desire a new
      email (e.g. a reminder) to be sent. If they do not, the server
      should respond with success but not resend the email.
    example: 1
  next_link:
    type: string
    description: |-
      Optional. When the validation is completed, the identity server will
      redirect the user to this URL. This option is ignored when submitting
      3PID validation information through a POST request.
    example: "https://example.org/congratulations.html"
required: ["client_secret", "email", "send_attempt"]
