{
  "$id": "https://intentschema.org/profiles/com.google.gmail/communication.email.message.list.v1.json",
  "id": "org.intentschema.communication.email.message.list.v1@com.google.gmail.v1",
  "pins": "https://intentschema.org/intents/communication/email/message/list/v1.json",
  "title": "Gmail email message list profile",
  "description": "Gmail profile for listing messages. Supports Gmail q-syntax for filtering.",
  "constraints": {
    "properties": {
      "target": {
        "properties": {
          "system": {
            "const": "gmail"
          }
        },
        "required": [
          "system"
        ]
      },
      "gmail": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "description": "Gmail search query syntax."
          },
          "includeSpamTrash": {
            "type": "boolean"
          }
        }
      }
    }
  },
  "api": {
    "method": "GET",
    "path": "/gmail/v1/users/me/messages",
    "scopes": [
      "https://www.googleapis.com/auth/gmail.readonly"
    ],
    "docs": "https://developers.google.com/gmail/api/reference/rest/v1/users.messages/list",
    "params": {
      "object.query": "q (Gmail search syntax)",
      "object.filter.from": "q parameter: from:<value>",
      "object.filter.to": "q parameter: to:<value>",
      "object.filter.subject": "q parameter: subject:<value>",
      "object.filter.has_attachment": "q parameter: has:attachment",
      "object.filter.is_unread": "q parameter: is:unread",
      "object.filter.after": "q parameter: after:<epoch>",
      "object.filter.before": "q parameter: before:<epoch>",
      "object.filter.labels_any": "q parameter: label:<value>",
      "object.limit": "maxResults",
      "object.cursor": "pageToken",
      "gmail.q": "q (raw Gmail search syntax, overrides filter)",
      "gmail.includeSpamTrash": "includeSpamTrash (boolean query param)"
    },
    "base_url": "https://gmail.googleapis.com"
  }
}
