{
  "$id": "https://intentschema.org/profiles/com.fastmail/communication.email.message.reply.v1.json",
  "id": "org.intentschema.communication.email.message.reply.v1@com.fastmail.v1",
  "pins": "https://intentschema.org/intents/communication/email/message/reply/v1.json",
  "title": "Fastmail email reply profile",
  "description": "Fastmail JMAP profile for email reply.",
  "constraints": {
    "properties": {
      "target": {
        "properties": {
          "system": {
            "const": "fastmail"
          }
        },
        "required": [
          "system"
        ]
      },
      "fastmail": {
        "type": "object",
        "properties": {
          "identity_id": {
            "type": "string"
          },
          "keywords": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          }
        }
      }
    }
  },
  "api": {
    "method": "POST",
    "path": "/jmap/api/",
    "jmap_method": "EmailSubmission/set",
    "scopes": [
      "urn:ietf:params:jmap:submission"
    ],
    "docs": "https://jmap.io/spec-mail.html#emailsubmission",
    "params": {
      "object.to": "Email/set create.to[].email",
      "object.cc": "Email/set create.cc[].email",
      "object.bcc": "Email/set create.bcc[].email",
      "object.from": "Email/set create.from[].email",
      "object.subject": "Email/set create.subject",
      "object.textBody": "Email/set create.textBody[].value (partId ref)",
      "object.htmlBody": "Email/set create.htmlBody[].value (partId ref)",
      "object.attachments": "Email/set create.attachments[].blobId (upload blob first)",
      "idempotency_key": "Email/set create.messageId[] (RFC 5322 Message-ID)",
      "fastmail.identity_id": "EmailSubmission/set create.identityId",
      "fastmail.mailbox_ids": "Email/set create.mailboxIds",
      "fastmail.keywords": "Email/set create.keywords",
      "fastmail.sent_at": "EmailSubmission/set create.envelope.mailFrom (futureRelease extension)",
      "fastmail.masked_email": "(Fastmail-specific: create masked email address via MaskedEmail/set first)",
      "target.external_id": "Email/set create.inReplyTo + references"
    },
    "base_url": "https://api.fastmail.com"
  }
}
