{
  "service": "mailjet",
  "displayName": "Mailjet",
  "categories": [
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "MJ_APIKEY_PUBLIC",
      "description": "Mailjet Email API key used as the HTTP Basic Auth username. Find it with the API Secret Key on the Mailjet API Key Management page: https://app.mailjet.com/account/api_keys.",
      "extraFields": [
        {
          "key": "apiSecret",
          "label": "API Secret Key",
          "inputType": "password",
          "required": true,
          "secret": true,
          "placeholder": "MJ_APIKEY_PRIVATE",
          "description": "Mailjet Email API Secret Key used as the HTTP Basic Auth password. Find it with the API key on the Mailjet API Key Management page: https://app.mailjet.com/account/api_keys."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.mailjet.com",
  "actions": [
    {
      "id": "mailjet.create_contact",
      "service": "mailjet",
      "name": "create_contact",
      "description": "Create a new Mailjet contact in the global contact list.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Contact email address. It must be unique in the global contact list.",
            "format": "email"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "User-selected name for this contact."
          },
          "isExcludedFromCampaigns": {
            "type": "boolean",
            "description": "Whether the contact should be excluded from marketing campaigns."
          }
        },
        "additionalProperties": false,
        "required": [
          "email"
        ],
        "description": "Request body for creating a Mailjet contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique numeric ID of this contact."
              },
              "email": {
                "type": "string",
                "description": "Contact email address.",
                "format": "email"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "User-selected name for this contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isExcludedFromCampaigns": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the contact is excluded from marketing campaigns."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when the contact was added to Mailjet."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastActivityAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp of the last registered contact activity."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastUpdateAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp of the last contact name or exclusion update."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Raw Mailjet contact object."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "email",
              "raw"
            ],
            "description": "A normalized Mailjet contact."
          }
        },
        "additionalProperties": false,
        "description": "Single Mailjet contact response."
      }
    },
    {
      "id": "mailjet.get_contact",
      "service": "mailjet",
      "name": "get_contact",
      "description": "Retrieve one Mailjet contact by contact ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Mailjet contact ID."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for retrieving one Mailjet contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique numeric ID of this contact."
              },
              "email": {
                "type": "string",
                "description": "Contact email address.",
                "format": "email"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "User-selected name for this contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isExcludedFromCampaigns": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the contact is excluded from marketing campaigns."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when the contact was added to Mailjet."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastActivityAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp of the last registered contact activity."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastUpdateAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp of the last contact name or exclusion update."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Raw Mailjet contact object."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "email",
              "raw"
            ],
            "description": "A normalized Mailjet contact."
          }
        },
        "additionalProperties": false,
        "description": "Single Mailjet contact response."
      }
    },
    {
      "id": "mailjet.list_contacts",
      "service": "mailjet",
      "name": "list_contacts",
      "description": "List Mailjet contacts with pagination and selected public contact filters from the Email API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Limit the number of returned contacts. Mailjet allows at most 1000."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Define a starting point from which to return contacts."
          },
          "campaign": {
            "type": "integer",
            "minimum": 1,
            "description": "Return only contacts targeted by this campaign ID."
          },
          "contactsList": {
            "type": "integer",
            "minimum": 1,
            "description": "Return only contacts that are part of this contact list ID."
          },
          "isExcludedFromCampaigns": {
            "type": "boolean",
            "description": "When true, return only contacts excluded from marketing campaigns."
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "Mailjet sort directive, such as Email ASC."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Mailjet contacts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of contacts returned in this response."
          },
          "total": {
            "type": "integer",
            "description": "Total number of contacts Mailjet reports for this query."
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "Unique numeric ID of this contact."
                },
                "email": {
                  "type": "string",
                  "description": "Contact email address.",
                  "format": "email"
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "User-selected name for this contact."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isExcludedFromCampaigns": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the contact is excluded from marketing campaigns."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp when the contact was added to Mailjet."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastActivityAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp of the last registered contact activity."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastUpdateAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp of the last contact name or exclusion update."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Raw Mailjet contact object."
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "email",
                "raw"
              ],
              "description": "A normalized Mailjet contact."
            },
            "description": "Contacts returned by Mailjet."
          }
        },
        "additionalProperties": false,
        "description": "Mailjet contact list response."
      }
    },
    {
      "id": "mailjet.update_contact",
      "service": "mailjet",
      "name": "update_contact",
      "description": "Update a Mailjet contact name or campaign exclusion state.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Mailjet contact ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "User-selected name for this contact."
          },
          "isExcludedFromCampaigns": {
            "type": "boolean",
            "description": "Whether the contact should be excluded from marketing campaigns."
          }
        },
        "additionalProperties": false,
        "required": [
          "contactId"
        ],
        "description": "Path and body parameters for updating a Mailjet contact.",
        "anyOf": [
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "isExcludedFromCampaigns"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique numeric ID of this contact."
              },
              "email": {
                "type": "string",
                "description": "Contact email address.",
                "format": "email"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "User-selected name for this contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isExcludedFromCampaigns": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the contact is excluded from marketing campaigns."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when the contact was added to Mailjet."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastActivityAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp of the last registered contact activity."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastUpdateAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp of the last contact name or exclusion update."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Raw Mailjet contact object."
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "email",
              "raw"
            ],
            "description": "A normalized Mailjet contact."
          }
        },
        "additionalProperties": false,
        "description": "Single Mailjet contact response."
      }
    }
  ]
}
