{
  "service": "bigmailer",
  "displayName": "BigMailer",
  "categories": [
    "Marketing",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "BIGMAILER_API_KEY",
      "description": "BigMailer REST API key sent in the X-API-Key header. Create or view API keys from the BigMailer API documentation and account settings: https://docs.bigmailer.io/."
    }
  ],
  "homepageUrl": "https://www.bigmailer.io/",
  "actions": [
    {
      "id": "bigmailer.create_contact",
      "service": "bigmailer",
      "name": "create_contact",
      "description": "Create a contact in a BigMailer brand.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "validate": {
            "type": "boolean",
            "description": "Whether BigMailer should validate email deliverability before adding the contact."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "The contact email address.",
            "format": "email"
          },
          "fieldValues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The BigMailer field tag name."
                },
                "string": {
                  "type": "string",
                  "description": "The text value for this field."
                },
                "integer": {
                  "type": "integer",
                  "description": "The integer value for this field."
                },
                "date": {
                  "type": "string",
                  "description": "The date value for this field.",
                  "format": "date"
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "description": "A BigMailer contact field value. Exactly one of string, integer, or date must be provided."
            },
            "description": "Field values to save with the contact. Each name must match a BigMailer field tag name."
          },
          "listIds": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The BigMailer list ID.",
              "format": "uuid"
            },
            "description": "IDs of lists the contact should belong to."
          },
          "unsubscribeAll": {
            "type": "boolean",
            "description": "Whether to unsubscribe the contact from all future campaigns regardless of message type."
          },
          "unsubscribeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The BigMailer message type ID.",
              "format": "uuid"
            },
            "description": "IDs of message types the contact should be unsubscribed from."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "email"
        ],
        "description": "Input parameters for creating a BigMailer contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The affected BigMailer object ID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw BigMailer mutation response."
          }
        },
        "additionalProperties": false,
        "description": "The BigMailer ID result returned by the mutation."
      }
    },
    {
      "id": "bigmailer.create_list",
      "service": "bigmailer",
      "name": "create_list",
      "description": "Create a contact list in a BigMailer brand.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "The list name."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "name"
        ],
        "description": "Input parameters for creating a BigMailer list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The affected BigMailer object ID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw BigMailer mutation response."
          }
        },
        "additionalProperties": false,
        "description": "The BigMailer ID result returned by the mutation."
      }
    },
    {
      "id": "bigmailer.delete_contact",
      "service": "bigmailer",
      "name": "delete_contact",
      "description": "Delete a BigMailer contact by ID or email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "contactId": {
            "type": "string",
            "minLength": 1,
            "description": "The BigMailer contact ID or email address."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "contactId"
        ],
        "description": "Input parameters for deleting a BigMailer contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The affected BigMailer object ID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw BigMailer mutation response."
          }
        },
        "additionalProperties": false,
        "description": "The BigMailer ID result returned by the mutation."
      }
    },
    {
      "id": "bigmailer.delete_list",
      "service": "bigmailer",
      "name": "delete_list",
      "description": "Delete a BigMailer contact list without deleting its contacts.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "listId": {
            "type": "string",
            "description": "The BigMailer list ID.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "listId"
        ],
        "description": "Input parameters for deleting a BigMailer list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The affected BigMailer object ID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw BigMailer mutation response."
          }
        },
        "additionalProperties": false,
        "description": "The BigMailer ID result returned by the mutation."
      }
    },
    {
      "id": "bigmailer.get_brand",
      "service": "bigmailer",
      "name": "get_brand",
      "description": "Get one BigMailer brand by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId"
        ],
        "description": "Input parameters for retrieving a BigMailer brand."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The brand ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The brand name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fromName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The default From name used by campaigns in this brand."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fromEmail": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The default From email used by campaigns in this brand."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The website URL associated with the brand."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "contactLimit": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The maximum number of contacts allowed in this brand."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "numContacts": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of contacts in this brand."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Unix timestamp when the brand was created."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "engagement": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The BigMailer engagement metrics object."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw BigMailer brand object."
              }
            },
            "additionalProperties": false,
            "description": "A BigMailer brand."
          }
        },
        "additionalProperties": false,
        "description": "The response returned for a BigMailer brand."
      }
    },
    {
      "id": "bigmailer.get_contact",
      "service": "bigmailer",
      "name": "get_contact",
      "description": "Get one BigMailer contact by ID or email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "contactId": {
            "type": "string",
            "minLength": 1,
            "description": "The BigMailer contact ID or email address."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "contactId"
        ],
        "description": "Input parameters for retrieving a BigMailer contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The contact ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "brandId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The brand ID that owns the contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "email": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The contact email address."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fieldValues": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "A field value."
                },
                "description": "Field values associated with the contact."
              },
              "listIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A BigMailer list ID."
                },
                "description": "IDs of lists the contact belongs to."
              },
              "unsubscribeAll": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the contact is unsubscribed from all future campaigns."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "unsubscribeIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A BigMailer message type ID."
                },
                "description": "IDs of message types the contact is unsubscribed from."
              },
              "numSoftBounces": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of soft bounces for the contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "numHardBounces": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of hard bounces for the contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "numComplaints": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of complaints for the contact."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Unix timestamp when the contact was created."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw BigMailer contact object."
              }
            },
            "additionalProperties": false,
            "description": "A BigMailer contact."
          }
        },
        "additionalProperties": false,
        "description": "The response returned for a BigMailer contact."
      }
    },
    {
      "id": "bigmailer.get_list",
      "service": "bigmailer",
      "name": "get_list",
      "description": "Get one BigMailer contact list by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "listId": {
            "type": "string",
            "description": "The BigMailer list ID.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "listId"
        ],
        "description": "Input parameters for retrieving a BigMailer list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "list": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The list ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The list name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "all": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this list represents all contacts in the brand."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "numContacts": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of contacts in the list."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Unix timestamp when the list was created."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "engagement": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The BigMailer engagement metrics object."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw BigMailer list object."
              }
            },
            "additionalProperties": false,
            "description": "A BigMailer contact list."
          }
        },
        "additionalProperties": false,
        "description": "The response returned for a BigMailer list."
      }
    },
    {
      "id": "bigmailer.list_brands",
      "service": "bigmailer",
      "name": "list_brands",
      "description": "List brands in the BigMailer account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of objects to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous BigMailer response."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing BigMailer brands."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "object",
            "properties": {
              "hasMore": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether BigMailer has more objects after this page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor for the next page when BigMailer returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of matching items when BigMailer returns it."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "BigMailer cursor pagination metadata."
          },
          "brands": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The brand ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The brand name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fromName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The default From name used by campaigns in this brand."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fromEmail": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The default From email used by campaigns in this brand."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The website URL associated with the brand."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "contactLimit": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The maximum number of contacts allowed in this brand."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "numContacts": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of contacts in this brand."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Unix timestamp when the brand was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "engagement": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The BigMailer engagement metrics object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw BigMailer brand object."
                }
              },
              "additionalProperties": false,
              "description": "A BigMailer brand."
            },
            "description": "The BigMailer brands in the current page."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing BigMailer brands."
      }
    },
    {
      "id": "bigmailer.list_contacts",
      "service": "bigmailer",
      "name": "list_contacts",
      "description": "List contacts in a BigMailer brand, optionally filtered by list.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of objects to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous BigMailer response."
          },
          "listId": {
            "type": "string",
            "description": "The BigMailer list ID.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId"
        ],
        "description": "Input parameters for listing BigMailer contacts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "object",
            "properties": {
              "hasMore": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether BigMailer has more objects after this page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor for the next page when BigMailer returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of matching items when BigMailer returns it."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "BigMailer cursor pagination metadata."
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The contact ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "brandId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The brand ID that owns the contact."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "email": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The contact email address."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fieldValues": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "A field value."
                  },
                  "description": "Field values associated with the contact."
                },
                "listIds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A BigMailer list ID."
                  },
                  "description": "IDs of lists the contact belongs to."
                },
                "unsubscribeAll": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the contact is unsubscribed from all future campaigns."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "unsubscribeIds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A BigMailer message type ID."
                  },
                  "description": "IDs of message types the contact is unsubscribed from."
                },
                "numSoftBounces": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of soft bounces for the contact."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "numHardBounces": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of hard bounces for the contact."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "numComplaints": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of complaints for the contact."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Unix timestamp when the contact was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw BigMailer contact object."
                }
              },
              "additionalProperties": false,
              "description": "A BigMailer contact."
            },
            "description": "The BigMailer contacts in the current page."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing BigMailer contacts."
      }
    },
    {
      "id": "bigmailer.list_lists",
      "service": "bigmailer",
      "name": "list_lists",
      "description": "List contact lists in a BigMailer brand.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of objects to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous BigMailer response."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId"
        ],
        "description": "Input parameters for listing BigMailer lists."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "object",
            "properties": {
              "hasMore": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether BigMailer has more objects after this page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor for the next page when BigMailer returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of matching items when BigMailer returns it."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "BigMailer cursor pagination metadata."
          },
          "lists": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The list ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The list name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "all": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this list represents all contacts in the brand."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "numContacts": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of contacts in the list."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Unix timestamp when the list was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "engagement": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The BigMailer engagement metrics object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw BigMailer list object."
                }
              },
              "additionalProperties": false,
              "description": "A BigMailer contact list."
            },
            "description": "The BigMailer lists in the current page."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing BigMailer lists."
      }
    },
    {
      "id": "bigmailer.update_contact",
      "service": "bigmailer",
      "name": "update_contact",
      "description": "Update a BigMailer contact by ID or email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "contactId": {
            "type": "string",
            "minLength": 1,
            "description": "The BigMailer contact ID or email address."
          },
          "fieldValuesOp": {
            "type": "string",
            "enum": [
              "add",
              "remove",
              "replace"
            ],
            "description": "How BigMailer should apply the supplied values."
          },
          "listIdsOp": {
            "type": "string",
            "enum": [
              "add",
              "remove",
              "replace"
            ],
            "description": "How BigMailer should apply the supplied values."
          },
          "unsubscribeIdsOp": {
            "type": "string",
            "enum": [
              "add",
              "remove",
              "replace"
            ],
            "description": "How BigMailer should apply the supplied values."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "The contact email address.",
            "format": "email"
          },
          "fieldValues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The BigMailer field tag name."
                },
                "string": {
                  "type": "string",
                  "description": "The text value for this field."
                },
                "integer": {
                  "type": "integer",
                  "description": "The integer value for this field."
                },
                "date": {
                  "type": "string",
                  "description": "The date value for this field.",
                  "format": "date"
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "description": "A BigMailer contact field value. Exactly one of string, integer, or date must be provided."
            },
            "description": "Field values to save with the contact. Each name must match a BigMailer field tag name."
          },
          "listIds": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The BigMailer list ID.",
              "format": "uuid"
            },
            "description": "IDs of lists the contact should belong to."
          },
          "unsubscribeAll": {
            "type": "boolean",
            "description": "Whether to unsubscribe the contact from all future campaigns regardless of message type."
          },
          "unsubscribeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The BigMailer message type ID.",
              "format": "uuid"
            },
            "description": "IDs of message types the contact should be unsubscribed from."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "contactId"
        ],
        "description": "Input parameters for updating a BigMailer contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The affected BigMailer object ID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw BigMailer mutation response."
          }
        },
        "additionalProperties": false,
        "description": "The BigMailer ID result returned by the mutation."
      }
    },
    {
      "id": "bigmailer.update_list",
      "service": "bigmailer",
      "name": "update_list",
      "description": "Update a BigMailer contact list name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "listId": {
            "type": "string",
            "description": "The BigMailer list ID.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "The new list name."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "listId",
          "name"
        ],
        "description": "Input parameters for updating a BigMailer list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The affected BigMailer object ID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw BigMailer mutation response."
          }
        },
        "additionalProperties": false,
        "description": "The BigMailer ID result returned by the mutation."
      }
    },
    {
      "id": "bigmailer.upsert_contact",
      "service": "bigmailer",
      "name": "upsert_contact",
      "description": "Create or update a BigMailer contact by email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "description": "The BigMailer brand ID.",
            "format": "uuid"
          },
          "validate": {
            "type": "boolean",
            "description": "Whether BigMailer should validate email deliverability before adding the contact."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "The contact email address.",
            "format": "email"
          },
          "fieldValues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The BigMailer field tag name."
                },
                "string": {
                  "type": "string",
                  "description": "The text value for this field."
                },
                "integer": {
                  "type": "integer",
                  "description": "The integer value for this field."
                },
                "date": {
                  "type": "string",
                  "description": "The date value for this field.",
                  "format": "date"
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "description": "A BigMailer contact field value. Exactly one of string, integer, or date must be provided."
            },
            "description": "Field values to save with the contact. Each name must match a BigMailer field tag name."
          },
          "listIds": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The BigMailer list ID.",
              "format": "uuid"
            },
            "description": "IDs of lists the contact should belong to."
          },
          "unsubscribeAll": {
            "type": "boolean",
            "description": "Whether to unsubscribe the contact from all future campaigns regardless of message type."
          },
          "unsubscribeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The BigMailer message type ID.",
              "format": "uuid"
            },
            "description": "IDs of message types the contact should be unsubscribed from."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId",
          "email"
        ],
        "description": "Input parameters for creating a BigMailer contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The affected BigMailer object ID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw BigMailer mutation response."
          }
        },
        "additionalProperties": false,
        "description": "The BigMailer ID result returned by the mutation."
      }
    }
  ]
}
