{
  "service": "fireberry",
  "displayName": "Fireberry",
  "categories": [
    "Productivity",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "fireberry_api_key",
      "description": "Fireberry API key sent in the tokenid header. Create or view API credentials from the Fireberry developer and API settings documented at https://developers.fireberry.com/reference/getting-started-with-rest-api."
    }
  ],
  "homepageUrl": "https://www.fireberry.com",
  "actions": [
    {
      "id": "fireberry.create_account",
      "service": "fireberry",
      "name": "create_account",
      "description": "Create one Fireberry account record.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "properties": {
              "accountname": {
                "type": "string",
                "minLength": 1,
                "description": "Name of the account."
              },
              "accountnumber": {
                "type": "string",
                "description": "Account identifier; unique values are recommended."
              },
              "emailaddress1": {
                "type": "string",
                "description": "Primary email address for the account."
              },
              "telephone1": {
                "type": "string",
                "description": "Primary telephone number for the account."
              },
              "websiteurl": {
                "type": "string",
                "description": "Website URL for the account."
              },
              "billingcity": {
                "type": "string",
                "description": "Billing city."
              },
              "billingcountry": {
                "type": "string",
                "description": "Billing country."
              },
              "billingstate": {
                "type": "string",
                "description": "Billing state."
              },
              "billingstreet": {
                "type": "string",
                "description": "Billing street."
              },
              "billingzipcode": {
                "type": "string",
                "description": "Billing zip code."
              },
              "description": {
                "type": "string",
                "description": "Description of up to 4,000 characters."
              },
              "ownerid": {
                "type": "string",
                "description": "The GUID of the system user who owns the record."
              }
            },
            "additionalProperties": true,
            "required": [
              "accountname"
            ],
            "description": "Fireberry account fields to create or update."
          }
        },
        "additionalProperties": false,
        "required": [
          "fields"
        ],
        "description": "Input for creating one Fireberry account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Fireberry reported the mutation as successful."
          },
          "message": {
            "type": "string",
            "description": "The Fireberry response message."
          },
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "message",
          "record",
          "raw"
        ],
        "description": "A Fireberry mutation result."
      }
    },
    {
      "id": "fireberry.create_contact",
      "service": "fireberry",
      "name": "create_contact",
      "description": "Create one Fireberry contact record.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "properties": {
              "firstname": {
                "type": "string",
                "minLength": 1,
                "description": "First name of the contact."
              },
              "lastname": {
                "type": "string",
                "description": "Last name of the contact."
              },
              "accountid": {
                "type": "string",
                "description": "The related account GUID."
              },
              "companyname": {
                "type": "string",
                "description": "Company name."
              },
              "jobtitle": {
                "type": "string",
                "description": "Job title."
              },
              "emailaddress1": {
                "type": "string",
                "description": "Primary email address for the contact."
              },
              "mobilephone1": {
                "type": "string",
                "description": "Primary mobile phone number."
              },
              "telephone1": {
                "type": "string",
                "description": "Primary telephone number."
              },
              "billingcity": {
                "type": "string",
                "description": "Billing city."
              },
              "billingcountry": {
                "type": "string",
                "description": "Billing country."
              },
              "billingstate": {
                "type": "string",
                "description": "Billing state."
              },
              "billingstreet": {
                "type": "string",
                "description": "Billing street."
              },
              "billingzipcode": {
                "type": "string",
                "description": "Billing zip code."
              },
              "description": {
                "type": "string",
                "description": "Description of up to 4,000 characters."
              },
              "ownerid": {
                "type": "string",
                "description": "The GUID of the system user who owns the record."
              }
            },
            "additionalProperties": true,
            "required": [
              "firstname"
            ],
            "description": "Fireberry contact fields to create or update."
          }
        },
        "additionalProperties": false,
        "required": [
          "fields"
        ],
        "description": "Input for creating one Fireberry contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Fireberry reported the mutation as successful."
          },
          "message": {
            "type": "string",
            "description": "The Fireberry response message."
          },
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "message",
          "record",
          "raw"
        ],
        "description": "A Fireberry mutation result."
      }
    },
    {
      "id": "fireberry.delete_account",
      "service": "fireberry",
      "name": "delete_account",
      "description": "Delete one Fireberry account record by GUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Fireberry record GUID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for reading or deleting one Fireberry record."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Fireberry reported the delete as successful."
          },
          "message": {
            "type": "string",
            "description": "The Fireberry response message."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "message",
          "raw"
        ],
        "description": "A Fireberry delete result."
      }
    },
    {
      "id": "fireberry.delete_contact",
      "service": "fireberry",
      "name": "delete_contact",
      "description": "Delete one Fireberry contact record by GUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Fireberry record GUID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for reading or deleting one Fireberry record."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Fireberry reported the delete as successful."
          },
          "message": {
            "type": "string",
            "description": "The Fireberry response message."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "message",
          "raw"
        ],
        "description": "A Fireberry delete result."
      }
    },
    {
      "id": "fireberry.get_account",
      "service": "fireberry",
      "name": "get_account",
      "description": "Get one Fireberry account record by GUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Fireberry record GUID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for reading or deleting one Fireberry record."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "record",
          "raw"
        ],
        "description": "A Fireberry single record result."
      }
    },
    {
      "id": "fireberry.get_contact",
      "service": "fireberry",
      "name": "get_contact",
      "description": "Get one Fireberry contact record by GUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Fireberry record GUID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for reading or deleting one Fireberry record."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "record",
          "raw"
        ],
        "description": "A Fireberry single record result."
      }
    },
    {
      "id": "fireberry.list_accounts",
      "service": "fireberry",
      "name": "list_accounts",
      "description": "List Fireberry account records with simple page and page size controls.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "The maximum number of records to return. Fireberry accepts 1 through 50."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "The page number to return. Fireberry accepts 1 through 10."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Fireberry records from a built-in object."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "primaryKey": {
            "type": "string",
            "description": "The primary key field name for the object."
          },
          "primaryField": {
            "type": "string",
            "description": "The primary display field name for the object."
          },
          "totalRecords": {
            "type": "integer",
            "minimum": 0,
            "description": "The total number of available records."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 0,
            "description": "The returned page size."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 0,
            "description": "The returned page number."
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Fireberry object returned by the API."
            },
            "description": "Fireberry records returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "primaryKey",
          "primaryField",
          "totalRecords",
          "pageSize",
          "pageNumber",
          "records",
          "raw"
        ],
        "description": "A Fireberry list records result."
      }
    },
    {
      "id": "fireberry.list_contacts",
      "service": "fireberry",
      "name": "list_contacts",
      "description": "List Fireberry contact records with simple page and page size controls.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "The maximum number of records to return. Fireberry accepts 1 through 50."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "The page number to return. Fireberry accepts 1 through 10."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Fireberry records from a built-in object."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "primaryKey": {
            "type": "string",
            "description": "The primary key field name for the object."
          },
          "primaryField": {
            "type": "string",
            "description": "The primary display field name for the object."
          },
          "totalRecords": {
            "type": "integer",
            "minimum": 0,
            "description": "The total number of available records."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 0,
            "description": "The returned page size."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 0,
            "description": "The returned page number."
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Fireberry object returned by the API."
            },
            "description": "Fireberry records returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "primaryKey",
          "primaryField",
          "totalRecords",
          "pageSize",
          "pageNumber",
          "records",
          "raw"
        ],
        "description": "A Fireberry list records result."
      }
    },
    {
      "id": "fireberry.query_records",
      "service": "fireberry",
      "name": "query_records",
      "description": "Search, filter, sort, aggregate, and paginate Fireberry records using v3 query.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "integer",
            "description": "The numeric Fireberry object type code to query."
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "A valid Fireberry field name, including related fields using underscore."
                },
                "alias": {
                  "type": "string",
                  "description": "An alias for the aggregated field in the result set."
                },
                "aggrFunc": {
                  "type": "string",
                  "enum": [
                    "SUM",
                    "COUNT",
                    "MIN",
                    "MAX"
                  ],
                  "description": "The aggregate function to apply to the field."
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "description": "A Fireberry query field to include in the response."
            },
            "description": "Fields to include in the response.",
            "minItems": 1
          },
          "filter": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "AND",
                    "OR"
                  ],
                  "description": "The logical operator applied between conditions in this group."
                },
                "conditions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "fieldName": {
                        "type": "string",
                        "description": "The Fireberry field name to filter on."
                      },
                      "operator": {
                        "type": "string",
                        "enum": [
                          "eq",
                          "ne",
                          "lt",
                          "gt",
                          "le",
                          "ge",
                          "start-with",
                          "not-start-with",
                          "is-null",
                          "is-not-null",
                          "eq-in",
                          "not-in",
                          "between",
                          "userid"
                        ],
                        "description": "The Fireberry comparison operator."
                      },
                      "value": {
                        "oneOf": [
                          {
                            "oneOf": [
                              {
                                "type": "string",
                                "description": "A string condition value."
                              },
                              {
                                "type": "number",
                                "description": "A numeric condition value."
                              },
                              {
                                "type": "boolean",
                                "description": "A boolean condition value."
                              }
                            ],
                            "description": "A scalar Fireberry query condition value."
                          },
                          {
                            "type": "array",
                            "items": {
                              "oneOf": [
                                {
                                  "type": "string",
                                  "description": "A string condition value."
                                },
                                {
                                  "type": "number",
                                  "description": "A numeric condition value."
                                },
                                {
                                  "type": "boolean",
                                  "description": "A boolean condition value."
                                }
                              ],
                              "description": "A scalar Fireberry query condition value."
                            },
                            "description": "A list condition value for in or between operators."
                          }
                        ],
                        "description": "The value to compare against in a Fireberry query."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "fieldName",
                      "operator"
                    ],
                    "description": "A Fireberry query filter condition."
                  },
                  "description": "Filter conditions in this group.",
                  "minItems": 1
                }
              },
              "additionalProperties": false,
              "required": [
                "type",
                "conditions"
              ],
              "description": "A Fireberry query condition group."
            },
            "description": "Filter condition groups to apply."
          },
          "orderBy": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fieldName": {
                  "type": "string",
                  "description": "The Fireberry field name to sort by."
                },
                "direction": {
                  "type": "string",
                  "enum": [
                    "ASC",
                    "DESC"
                  ],
                  "description": "The sort direction."
                }
              },
              "additionalProperties": false,
              "required": [
                "fieldName"
              ],
              "description": "A Fireberry query sort instruction."
            },
            "description": "Sort instructions to apply."
          },
          "groupBy": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fieldName": {
                  "type": "string",
                  "description": "The Fireberry field name to group by."
                }
              },
              "additionalProperties": false,
              "required": [
                "fieldName"
              ],
              "description": "A Fireberry query grouping field."
            },
            "description": "Grouping fields to apply for aggregation mode."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to return."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The number of records to return. Fireberry accepts 1 through 500."
          }
        },
        "additionalProperties": false,
        "required": [
          "objectType",
          "fields"
        ],
        "description": "Input for querying Fireberry records using the v3 query endpoint."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Fireberry object returned by the API."
            },
            "description": "Fireberry query records returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "records",
          "raw"
        ],
        "description": "A Fireberry v3 query result."
      }
    },
    {
      "id": "fireberry.update_account",
      "service": "fireberry",
      "name": "update_account",
      "description": "Update one Fireberry account record by GUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Fireberry account GUID."
          },
          "fields": {
            "type": "object",
            "properties": {
              "accountname": {
                "type": "string",
                "minLength": 1,
                "description": "Name of the account."
              },
              "accountnumber": {
                "type": "string",
                "description": "Account identifier; unique values are recommended."
              },
              "emailaddress1": {
                "type": "string",
                "description": "Primary email address for the account."
              },
              "telephone1": {
                "type": "string",
                "description": "Primary telephone number for the account."
              },
              "websiteurl": {
                "type": "string",
                "description": "Website URL for the account."
              },
              "billingcity": {
                "type": "string",
                "description": "Billing city."
              },
              "billingcountry": {
                "type": "string",
                "description": "Billing country."
              },
              "billingstate": {
                "type": "string",
                "description": "Billing state."
              },
              "billingstreet": {
                "type": "string",
                "description": "Billing street."
              },
              "billingzipcode": {
                "type": "string",
                "description": "Billing zip code."
              },
              "description": {
                "type": "string",
                "description": "Description of up to 4,000 characters."
              },
              "ownerid": {
                "type": "string",
                "description": "The GUID of the system user who owns the record."
              }
            },
            "additionalProperties": true,
            "required": [
              "accountname"
            ],
            "description": "Fireberry account fields to create or update."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "fields"
        ],
        "description": "Input for updating one Fireberry account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Fireberry reported the mutation as successful."
          },
          "message": {
            "type": "string",
            "description": "The Fireberry response message."
          },
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "message",
          "record",
          "raw"
        ],
        "description": "A Fireberry mutation result."
      }
    },
    {
      "id": "fireberry.update_contact",
      "service": "fireberry",
      "name": "update_contact",
      "description": "Update one Fireberry contact record by GUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Fireberry contact GUID."
          },
          "fields": {
            "type": "object",
            "properties": {
              "firstname": {
                "type": "string",
                "minLength": 1,
                "description": "First name of the contact."
              },
              "lastname": {
                "type": "string",
                "description": "Last name of the contact."
              },
              "accountid": {
                "type": "string",
                "description": "The related account GUID."
              },
              "companyname": {
                "type": "string",
                "description": "Company name."
              },
              "jobtitle": {
                "type": "string",
                "description": "Job title."
              },
              "emailaddress1": {
                "type": "string",
                "description": "Primary email address for the contact."
              },
              "mobilephone1": {
                "type": "string",
                "description": "Primary mobile phone number."
              },
              "telephone1": {
                "type": "string",
                "description": "Primary telephone number."
              },
              "billingcity": {
                "type": "string",
                "description": "Billing city."
              },
              "billingcountry": {
                "type": "string",
                "description": "Billing country."
              },
              "billingstate": {
                "type": "string",
                "description": "Billing state."
              },
              "billingstreet": {
                "type": "string",
                "description": "Billing street."
              },
              "billingzipcode": {
                "type": "string",
                "description": "Billing zip code."
              },
              "description": {
                "type": "string",
                "description": "Description of up to 4,000 characters."
              },
              "ownerid": {
                "type": "string",
                "description": "The GUID of the system user who owns the record."
              }
            },
            "additionalProperties": true,
            "required": [
              "firstname"
            ],
            "description": "Fireberry contact fields to create or update."
          }
        },
        "additionalProperties": false,
        "required": [
          "id",
          "fields"
        ],
        "description": "Input for updating one Fireberry contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Fireberry reported the mutation as successful."
          },
          "message": {
            "type": "string",
            "description": "The Fireberry response message."
          },
          "record": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Fireberry object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "success",
          "message",
          "record",
          "raw"
        ],
        "description": "A Fireberry mutation result."
      }
    }
  ]
}
