{
  "service": "refiner",
  "displayName": "Refiner",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "refiner_api_key",
      "description": "Refiner API key used with the Authorization Bearer header. Find it in Refiner under Integrations > Rest API: https://refiner.io/docs/api/",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://refiner.io",
  "actions": [
    {
      "id": "refiner.add_contact_to_segment",
      "service": "refiner",
      "name": "add_contact_to_segment",
      "description": "Add a Refiner contact to a manual segment.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "segmentUuid": {
            "type": "string",
            "minLength": 1,
            "description": "Segment UUID used for the sync operation."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "External user identifier stored in Refiner as id."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "Email address used to identify the Refiner contact."
          },
          "uuid": {
            "type": "string",
            "minLength": 1,
            "description": "Refiner UUID."
          }
        },
        "additionalProperties": false,
        "required": [
          "segmentUuid"
        ],
        "description": "Input parameters for syncing a Refiner contact with a segment. At least one of id, email, or uuid is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Confirmation message returned by Refiner."
          },
          "uuid": {
            "type": "string",
            "description": "Generic UUID returned by Refiner, when present."
          },
          "contactUuid": {
            "type": "string",
            "description": "Contact UUID referenced by the mutation result, when present."
          },
          "segmentUuid": {
            "type": "string",
            "description": "Segment UUID referenced by the mutation result, when present."
          },
          "responseUuid": {
            "type": "string",
            "description": "Response UUID referenced by the mutation result, when present."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Object returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "message"
        ],
        "description": "Mutation result returned by Refiner."
      }
    },
    {
      "id": "refiner.get_account_info",
      "service": "refiner",
      "name": "get_account_info",
      "description": "Retrieve the current Refiner account, project, and subscription information.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {
              "organization_name": {
                "type": "string",
                "description": "Organization name associated with the API key."
              },
              "project_name": {
                "type": "string",
                "description": "Project name associated with the API key."
              },
              "environments": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "Enabled environments in the project."
              },
              "subscription": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Object returned by Refiner."
              },
              "monthly_responses_limit": {
                "type": "integer",
                "description": "Monthly response limit for the current subscription, when present."
              },
              "responses_count": {
                "type": "integer",
                "description": "Current response count returned by Refiner, when present."
              },
              "usage_percentage": {
                "type": "number",
                "description": "Current subscription usage percentage, when present."
              }
            },
            "additionalProperties": true,
            "description": "Refiner account information."
          }
        },
        "additionalProperties": false,
        "description": "Refiner account information response."
      }
    },
    {
      "id": "refiner.get_contact",
      "service": "refiner",
      "name": "get_contact",
      "description": "Retrieve a single Refiner contact by id, email, or uuid.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "External user identifier stored in Refiner as id."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "Email address used to identify the Refiner contact."
          },
          "uuid": {
            "type": "string",
            "minLength": 1,
            "description": "Refiner UUID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a single Refiner contact. Exactly one of id, email, or uuid is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "description": "Unique Refiner contact UUID."
              },
              "id": {
                "type": "string",
                "description": "External user identifier stored on the contact."
              },
              "email": {
                "type": "string",
                "description": "Email address stored on the contact."
              },
              "name": {
                "type": "string",
                "description": "Display name stored on the contact."
              },
              "title": {
                "type": "string",
                "description": "Job title stored on the contact."
              },
              "first_seen_at": {
                "type": "string",
                "description": "Timestamp string returned by Refiner."
              },
              "last_seen_at": {
                "type": "string",
                "description": "Timestamp string returned by Refiner."
              },
              "attributes": {
                "description": "Custom attributes returned for the contact."
              },
              "account": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Object returned by Refiner."
              },
              "segments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "Unique Refiner segment UUID."
                    },
                    "name": {
                      "type": "string",
                      "description": "Segment name."
                    },
                    "is_manual": {
                      "type": "boolean",
                      "description": "Whether the segment is managed manually in Refiner."
                    },
                    "contacts_count": {
                      "type": "integer",
                      "description": "Number of contacts currently assigned to the segment."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Refiner segment."
                },
                "description": "Segments assigned to the contact."
              }
            },
            "additionalProperties": true,
            "description": "Refiner contact."
          }
        },
        "additionalProperties": false,
        "description": "Single Refiner contact response."
      }
    },
    {
      "id": "refiner.get_reporting",
      "service": "refiner",
      "name": "get_reporting",
      "description": "Retrieve Refiner reporting metrics for forms, segments, and questions.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "reportType": {
            "type": "string",
            "enum": [
              "nps",
              "csat",
              "score",
              "responses",
              "views",
              "completion"
            ],
            "description": "Reporting metric family to request from Refiner."
          },
          "questionIdentifiers": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Question identifiers used to scope the reporting result.",
            "minItems": 1
          },
          "formUuids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Form UUIDs used to scope the reporting result.",
            "minItems": 1
          },
          "segmentUuids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Segment UUIDs used to scope the reporting result.",
            "minItems": 1
          },
          "tagUuids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Tag UUIDs used to scope the reporting result.",
            "minItems": 1
          },
          "dateRangeStart": {
            "type": "string",
            "description": "Date in YYYY-MM-DD format.",
            "format": "date"
          },
          "dateRangeEnd": {
            "type": "string",
            "description": "Date in YYYY-MM-DD format.",
            "format": "date"
          }
        },
        "additionalProperties": false,
        "required": [
          "reportType"
        ],
        "description": "Input parameters for retrieving a Refiner report."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "reportType": {
            "type": "string",
            "enum": [
              "nps",
              "csat",
              "score",
              "responses",
              "views",
              "completion"
            ],
            "description": "Reporting metric family to request from Refiner."
          },
          "report": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Object returned by Refiner."
          }
        },
        "additionalProperties": false,
        "description": "Refiner reporting response."
      }
    },
    {
      "id": "refiner.identify_user",
      "service": "refiner",
      "name": "identify_user",
      "description": "Create or update a Refiner contact using the official identify-user endpoint.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "External user identifier stored in Refiner as id."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "Email address used to identify the Refiner contact."
          },
          "uuid": {
            "type": "string",
            "minLength": 1,
            "description": "Refiner UUID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Display name of the contact."
          },
          "traits": {
            "type": "object",
            "additionalProperties": true,
            "description": "A record of arbitrary values."
          },
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Object returned by Refiner."
          },
          "segmentUuids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Segment UUIDs to assign to the contact during identification.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for identifying or updating a Refiner contact. At least one of id, email, or uuid is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Confirmation message returned by Refiner."
          },
          "uuid": {
            "type": "string",
            "description": "Generic UUID returned by Refiner, when present."
          },
          "contactUuid": {
            "type": "string",
            "description": "Contact UUID referenced by the mutation result, when present."
          },
          "segmentUuid": {
            "type": "string",
            "description": "Segment UUID referenced by the mutation result, when present."
          },
          "responseUuid": {
            "type": "string",
            "description": "Response UUID referenced by the mutation result, when present."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Object returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "message"
        ],
        "description": "Mutation result returned by Refiner."
      }
    },
    {
      "id": "refiner.list_contacts",
      "service": "refiner",
      "name": "list_contacts",
      "description": "List contacts available in the connected Refiner workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to request."
          },
          "pageCursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor returned by a previous Refiner response."
          },
          "pageLength": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return per page."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Refiner contacts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "Unique Refiner contact UUID."
                },
                "id": {
                  "type": "string",
                  "description": "External user identifier stored on the contact."
                },
                "email": {
                  "type": "string",
                  "description": "Email address stored on the contact."
                },
                "name": {
                  "type": "string",
                  "description": "Display name stored on the contact."
                },
                "title": {
                  "type": "string",
                  "description": "Job title stored on the contact."
                },
                "first_seen_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "last_seen_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "attributes": {
                  "description": "Custom attributes returned for the contact."
                },
                "account": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Object returned by Refiner."
                },
                "segments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "Unique Refiner segment UUID."
                      },
                      "name": {
                        "type": "string",
                        "description": "Segment name."
                      },
                      "is_manual": {
                        "type": "boolean",
                        "description": "Whether the segment is managed manually in Refiner."
                      },
                      "contacts_count": {
                        "type": "integer",
                        "description": "Number of contacts currently assigned to the segment."
                      }
                    },
                    "additionalProperties": true,
                    "description": "Refiner segment."
                  },
                  "description": "Segments assigned to the contact."
                }
              },
              "additionalProperties": true,
              "description": "Refiner contact."
            },
            "description": "Contacts returned by Refiner."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "current_page": {
                "type": "integer",
                "description": "Current page number returned by Refiner."
              },
              "last_page": {
                "type": "integer",
                "description": "Last available page number."
              },
              "page_length": {
                "type": "integer",
                "description": "Page length used by Refiner."
              },
              "items_count": {
                "type": "integer",
                "description": "Total number of items that match the query."
              },
              "next_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the next page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previous_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the previous page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "contacts"
        ],
        "description": "Paginated Refiner contact list."
      }
    },
    {
      "id": "refiner.list_forms",
      "service": "refiner",
      "name": "list_forms",
      "description": "List forms in the connected Refiner workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional form UUID filter."
          },
          "type": {
            "type": "string",
            "enum": [
              "all",
              "all_with_archived",
              "published",
              "drafts",
              "archived"
            ],
            "description": "Form state filter accepted by Refiner."
          },
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Current page number to request."
          },
          "pageLength": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return per page."
          },
          "showConfig": {
            "type": "boolean",
            "description": "Whether to include the full form config in the response."
          },
          "showInfo": {
            "type": "boolean",
            "description": "Whether to include form info metadata."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Refiner forms."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "forms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "Unique Refiner form UUID."
                },
                "title": {
                  "type": "string",
                  "description": "Form title."
                },
                "state": {
                  "type": "string",
                  "description": "Current form state."
                },
                "channels": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Channels configured for the form."
                },
                "created_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "published_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "archived_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "responses_count": {
                  "type": "integer",
                  "description": "Number of responses collected by the form."
                },
                "views_count": {
                  "type": "integer",
                  "description": "Number of times the form has been viewed."
                },
                "config": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Object returned by Refiner."
                },
                "info": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Object returned by Refiner."
                }
              },
              "additionalProperties": true,
              "description": "Refiner form."
            },
            "description": "Forms returned by Refiner."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "current_page": {
                "type": "integer",
                "description": "Current page number returned by Refiner."
              },
              "last_page": {
                "type": "integer",
                "description": "Last available page number."
              },
              "page_length": {
                "type": "integer",
                "description": "Page length used by Refiner."
              },
              "items_count": {
                "type": "integer",
                "description": "Total number of items that match the query."
              },
              "next_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the next page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previous_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the previous page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "forms"
        ],
        "description": "Paginated Refiner form list."
      }
    },
    {
      "id": "refiner.list_responses",
      "service": "refiner",
      "name": "list_responses",
      "description": "List survey responses collected in Refiner.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Current page number to request."
          },
          "pageCursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor returned by a previous Refiner response."
          },
          "pageLength": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return per page."
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Response status filter accepted by Refiner."
          },
          "formUuid": {
            "type": "string",
            "minLength": 1,
            "description": "Filter responses by form UUID."
          },
          "contactUuid": {
            "type": "string",
            "minLength": 1,
            "description": "Filter responses by contact UUID."
          },
          "segmentUuid": {
            "type": "string",
            "minLength": 1,
            "description": "Filter responses by segment UUID."
          },
          "dateRangeStart": {
            "type": "string",
            "description": "Date in YYYY-MM-DD format.",
            "format": "date"
          },
          "dateRangeEnd": {
            "type": "string",
            "description": "Date in YYYY-MM-DD format.",
            "format": "date"
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Refiner responses."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "responses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "Unique Refiner response UUID."
                },
                "status": {
                  "type": "string",
                  "description": "Current response status."
                },
                "first_shown_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "last_shown_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "first_data_reception_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "last_data_reception_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "completed_at": {
                  "type": "string",
                  "description": "Timestamp string returned by Refiner."
                },
                "contact": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "Unique Refiner contact UUID."
                    },
                    "id": {
                      "type": "string",
                      "description": "External user identifier stored on the contact."
                    },
                    "email": {
                      "type": "string",
                      "description": "Email address stored on the contact."
                    },
                    "name": {
                      "type": "string",
                      "description": "Display name stored on the contact."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Refiner contact summary."
                },
                "form": {
                  "type": "object",
                  "properties": {
                    "uuid": {
                      "type": "string",
                      "description": "Unique Refiner form UUID."
                    },
                    "title": {
                      "type": "string",
                      "description": "Form title returned by Refiner."
                    },
                    "state": {
                      "type": "string",
                      "description": "Current form state returned by Refiner."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Refiner form summary."
                },
                "data": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "A record of arbitrary values."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Tags assigned to the response."
                }
              },
              "additionalProperties": true,
              "description": "Refiner response."
            },
            "description": "Responses returned by Refiner."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "current_page": {
                "type": "integer",
                "description": "Current page number returned by Refiner."
              },
              "last_page": {
                "type": "integer",
                "description": "Last available page number."
              },
              "page_length": {
                "type": "integer",
                "description": "Page length used by Refiner."
              },
              "items_count": {
                "type": "integer",
                "description": "Total number of items that match the query."
              },
              "next_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the next page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previous_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the previous page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "responses"
        ],
        "description": "Paginated Refiner response list."
      }
    },
    {
      "id": "refiner.list_segments",
      "service": "refiner",
      "name": "list_segments",
      "description": "List segments in the connected Refiner workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "minLength": 1,
            "description": "Optional segment UUID filter."
          },
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Current page number to request."
          },
          "pageLength": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return per page."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Refiner segments."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "segments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "description": "Unique Refiner segment UUID."
                },
                "name": {
                  "type": "string",
                  "description": "Segment name."
                },
                "is_manual": {
                  "type": "boolean",
                  "description": "Whether the segment is managed manually in Refiner."
                },
                "contacts_count": {
                  "type": "integer",
                  "description": "Number of contacts currently assigned to the segment."
                }
              },
              "additionalProperties": true,
              "description": "Refiner segment."
            },
            "description": "Segments returned by Refiner."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "current_page": {
                "type": "integer",
                "description": "Current page number returned by Refiner."
              },
              "last_page": {
                "type": "integer",
                "description": "Last available page number."
              },
              "page_length": {
                "type": "integer",
                "description": "Page length used by Refiner."
              },
              "items_count": {
                "type": "integer",
                "description": "Total number of items that match the query."
              },
              "next_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the next page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previous_page_cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Cursor to use for the previous page, or null when none exists."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "segments"
        ],
        "description": "Paginated Refiner segment list."
      }
    },
    {
      "id": "refiner.remove_contact_from_segment",
      "service": "refiner",
      "name": "remove_contact_from_segment",
      "description": "Remove a Refiner contact from a manual segment.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "segmentUuid": {
            "type": "string",
            "minLength": 1,
            "description": "Segment UUID used for the sync operation."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "External user identifier stored in Refiner as id."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "Email address used to identify the Refiner contact."
          },
          "uuid": {
            "type": "string",
            "minLength": 1,
            "description": "Refiner UUID."
          }
        },
        "additionalProperties": false,
        "required": [
          "segmentUuid"
        ],
        "description": "Input parameters for syncing a Refiner contact with a segment. At least one of id, email, or uuid is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Confirmation message returned by Refiner."
          },
          "uuid": {
            "type": "string",
            "description": "Generic UUID returned by Refiner, when present."
          },
          "contactUuid": {
            "type": "string",
            "description": "Contact UUID referenced by the mutation result, when present."
          },
          "segmentUuid": {
            "type": "string",
            "description": "Segment UUID referenced by the mutation result, when present."
          },
          "responseUuid": {
            "type": "string",
            "description": "Response UUID referenced by the mutation result, when present."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Object returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "message"
        ],
        "description": "Mutation result returned by Refiner."
      }
    },
    {
      "id": "refiner.tag_response",
      "service": "refiner",
      "name": "tag_response",
      "description": "Apply a tag to a Refiner response.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "responseUuid": {
            "type": "string",
            "minLength": 1,
            "description": "Response UUID to tag."
          },
          "tagName": {
            "type": "string",
            "minLength": 1,
            "description": "Tag name to apply to the response."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for tagging a Refiner response."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Confirmation message returned by Refiner."
          },
          "uuid": {
            "type": "string",
            "description": "Generic UUID returned by Refiner, when present."
          },
          "contactUuid": {
            "type": "string",
            "description": "Contact UUID referenced by the mutation result, when present."
          },
          "segmentUuid": {
            "type": "string",
            "description": "Segment UUID referenced by the mutation result, when present."
          },
          "responseUuid": {
            "type": "string",
            "description": "Response UUID referenced by the mutation result, when present."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Object returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "message"
        ],
        "description": "Mutation result returned by Refiner."
      }
    },
    {
      "id": "refiner.track_event",
      "service": "refiner",
      "name": "track_event",
      "description": "Track a product event for a Refiner contact.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "External user identifier stored in Refiner as id."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "Email address used to identify the Refiner contact."
          },
          "uuid": {
            "type": "string",
            "minLength": 1,
            "description": "Refiner UUID."
          },
          "eventName": {
            "type": "string",
            "minLength": 1,
            "description": "Event name to track in Refiner."
          },
          "sessionId": {
            "type": "string",
            "minLength": 1,
            "description": "Session identifier associated with the event."
          },
          "receivedAt": {
            "type": "string",
            "description": "Timestamp string returned by Refiner."
          },
          "eventAttributes": {
            "type": "object",
            "additionalProperties": true,
            "description": "A record of arbitrary values."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventName"
        ],
        "description": "Input parameters for tracking a Refiner event. At least one of id, email, or uuid is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Confirmation message returned by Refiner."
          },
          "uuid": {
            "type": "string",
            "description": "Generic UUID returned by Refiner, when present."
          },
          "contactUuid": {
            "type": "string",
            "description": "Contact UUID referenced by the mutation result, when present."
          },
          "segmentUuid": {
            "type": "string",
            "description": "Segment UUID referenced by the mutation result, when present."
          },
          "responseUuid": {
            "type": "string",
            "description": "Response UUID referenced by the mutation result, when present."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Object returned by Refiner."
          }
        },
        "additionalProperties": false,
        "required": [
          "message"
        ],
        "description": "Mutation result returned by Refiner."
      }
    }
  ]
}
