{
  "service": "affinity",
  "displayName": "Affinity",
  "categories": [
    "Productivity",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "affinity_api_key",
      "description": "Affinity API key used with the Authorization Bearer header. Create it in Settings -> Manage Apps -> API Keys."
    }
  ],
  "homepageUrl": "https://www.affinity.co",
  "actions": [
    {
      "id": "affinity.get_company",
      "service": "affinity",
      "name": "get_company",
      "description": "Get one Affinity company by ID with optional field selectors.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity company ID."
          },
          "fieldIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Affinity field ID."
            },
            "description": "The field IDs for which to return company field data.",
            "minItems": 1,
            "maxItems": 100
          },
          "fieldTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "enriched",
                "global",
                "relationship-intelligence"
              ],
              "description": "One Affinity company field type selector."
            },
            "description": "The field types for which to return company field data.",
            "minItems": 1,
            "maxItems": 3
          }
        },
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "description": "The input payload for fetching one Affinity company."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "company": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The Affinity company ID."
              },
              "name": {
                "type": "string",
                "description": "The company name."
              },
              "domain": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The company's primary domain when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "domains": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One company domain."
                },
                "description": "The domains returned for the company."
              },
              "isGlobal": {
                "type": "boolean",
                "description": "Whether the company is global across tenants."
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The field identifier."
                    },
                    "name": {
                      "type": "string",
                      "description": "The field display name."
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "enriched",
                        "global",
                        "list",
                        "relationship-intelligence"
                      ],
                      "description": "The field category returned by Affinity."
                    },
                    "enrichmentSource": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "affinity-data",
                            "dealroom"
                          ],
                          "description": "The enrichment source when Affinity returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "value": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "One Affinity field value union object returned by the API."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "name",
                    "type",
                    "enrichmentSource",
                    "value"
                  ],
                  "description": "One Affinity field value object returned by the API."
                },
                "description": "The non-list-specific fields attached to the company when requested."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "domain",
              "domains",
              "isGlobal",
              "fields"
            ],
            "description": "One Affinity company object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "company"
        ],
        "description": "The Affinity company response wrapper."
      }
    },
    {
      "id": "affinity.get_current_user",
      "service": "affinity",
      "name": "get_current_user",
      "description": "Get the authenticated Affinity user, tenant, and API grant summary.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No additional input is required for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tenant": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The tenant ID."
              },
              "name": {
                "type": "string",
                "description": "The tenant name."
              },
              "subdomain": {
                "type": "string",
                "description": "The tenant subdomain."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "subdomain"
            ],
            "description": "The Affinity tenant returned by whoami."
          },
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The user ID."
              },
              "firstName": {
                "type": "string",
                "description": "The user's first name."
              },
              "lastName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user's last name when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "emailAddress": {
                "type": "string",
                "description": "The user's email address.",
                "format": "email"
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "firstName",
              "lastName",
              "emailAddress"
            ],
            "description": "The Affinity user returned by whoami."
          },
          "grant": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "api-key",
                  "access-token"
                ],
                "description": "The authentication grant type."
              },
              "scopes": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One grant scope."
                },
                "description": "The grant scopes returned by Affinity."
              },
              "createdAt": {
                "type": "string",
                "description": "When the grant was created.",
                "format": "date-time"
              }
            },
            "additionalProperties": true,
            "required": [
              "type",
              "scopes",
              "createdAt"
            ],
            "description": "The Affinity grant returned by whoami."
          }
        },
        "additionalProperties": false,
        "required": [
          "tenant",
          "user",
          "grant"
        ],
        "description": "The authenticated Affinity account summary."
      }
    },
    {
      "id": "affinity.get_list",
      "service": "affinity",
      "name": "get_list",
      "description": "Get one Affinity list by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "listId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity list ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "listId"
        ],
        "description": "The input payload for fetching one Affinity list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "list": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The Affinity list ID."
              },
              "name": {
                "type": "string",
                "description": "The list name."
              },
              "creatorId": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The user ID that created the list."
              },
              "ownerId": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The user ID that owns the list."
              },
              "isPublic": {
                "type": "boolean",
                "description": "Whether the list is public."
              },
              "type": {
                "type": "string",
                "enum": [
                  "company",
                  "opportunity",
                  "person"
                ],
                "description": "The entity type associated with the list."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "creatorId",
              "ownerId",
              "isPublic",
              "type"
            ],
            "description": "One Affinity list detail object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "list"
        ],
        "description": "The Affinity list response wrapper."
      }
    },
    {
      "id": "affinity.get_opportunity",
      "service": "affinity",
      "name": "get_opportunity",
      "description": "Get one Affinity opportunity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "opportunityId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity opportunity ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "opportunityId"
        ],
        "description": "The input payload for fetching one Affinity opportunity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The Affinity opportunity ID."
              },
              "name": {
                "type": "string",
                "description": "The opportunity name."
              },
              "listId": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The list ID that owns the opportunity."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "listId"
            ],
            "description": "One Affinity opportunity object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "opportunity"
        ],
        "description": "The Affinity opportunity response wrapper."
      }
    },
    {
      "id": "affinity.get_person",
      "service": "affinity",
      "name": "get_person",
      "description": "Get one Affinity person by ID with optional field selectors.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "personId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity person ID."
          },
          "fieldIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Affinity field ID."
            },
            "description": "The field IDs for which to return person field data.",
            "minItems": 1,
            "maxItems": 100
          },
          "fieldTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "enriched",
                "global",
                "relationship-intelligence"
              ],
              "description": "One Affinity person field type selector."
            },
            "description": "The field types for which to return person field data.",
            "minItems": 1,
            "maxItems": 3
          }
        },
        "additionalProperties": false,
        "required": [
          "personId"
        ],
        "description": "The input payload for fetching one Affinity person."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "person": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The Affinity person ID."
              },
              "firstName": {
                "type": "string",
                "description": "The person's first name."
              },
              "lastName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The person's last name when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "primaryEmailAddress": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The person's primary email address when available.",
                    "format": "email"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "emailAddresses": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One email address returned by Affinity.",
                  "format": "email"
                },
                "description": "The person's email addresses."
              },
              "type": {
                "type": "string",
                "enum": [
                  "internal",
                  "external"
                ],
                "description": "The Affinity person type."
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The field identifier."
                    },
                    "name": {
                      "type": "string",
                      "description": "The field display name."
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "enriched",
                        "global",
                        "list",
                        "relationship-intelligence"
                      ],
                      "description": "The field category returned by Affinity."
                    },
                    "enrichmentSource": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "affinity-data",
                            "dealroom"
                          ],
                          "description": "The enrichment source when Affinity returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "value": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "One Affinity field value union object returned by the API."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "name",
                    "type",
                    "enrichmentSource",
                    "value"
                  ],
                  "description": "One Affinity field value object returned by the API."
                },
                "description": "The non-list-specific fields attached to the person when requested."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "firstName",
              "lastName",
              "primaryEmailAddress",
              "emailAddresses",
              "type",
              "fields"
            ],
            "description": "One Affinity person object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "person"
        ],
        "description": "The Affinity person response wrapper."
      }
    },
    {
      "id": "affinity.get_saved_view",
      "service": "affinity",
      "name": "get_saved_view",
      "description": "Get one Affinity saved view by list ID and saved view ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "listId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity list ID."
          },
          "viewId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity saved view ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "listId",
          "viewId"
        ],
        "description": "The input payload for fetching one Affinity saved view."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "savedView": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "description": "The Affinity saved view ID."
              },
              "name": {
                "type": "string",
                "description": "The saved view name."
              },
              "type": {
                "type": "string",
                "enum": [
                  "sheet",
                  "board",
                  "dashboard"
                ],
                "description": "The saved view type."
              },
              "createdAt": {
                "type": "string",
                "description": "The timestamp when the saved view was created.",
                "format": "date-time"
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "type",
              "createdAt"
            ],
            "description": "One Affinity saved view object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "savedView"
        ],
        "description": "The Affinity saved view response wrapper."
      }
    },
    {
      "id": "affinity.list_companies",
      "service": "affinity",
      "name": "list_companies",
      "description": "List Affinity companies with optional ID and field selectors.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "description": "One Affinity numeric identifier."
            },
            "description": "The Affinity company IDs to fetch directly.",
            "minItems": 1,
            "maxItems": 100
          },
          "fieldIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Affinity field ID."
            },
            "description": "The field IDs for which to return company field data.",
            "minItems": 1,
            "maxItems": 100
          },
          "fieldTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "enriched",
                "global",
                "list",
                "relationship-intelligence"
              ],
              "description": "One Affinity field type selector."
            },
            "description": "The field types for which to return company field data.",
            "minItems": 1,
            "maxItems": 3
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Affinity companies."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "companies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The Affinity company ID."
                },
                "name": {
                  "type": "string",
                  "description": "The company name."
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The company's primary domain when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "domains": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One company domain."
                  },
                  "description": "The domains returned for the company."
                },
                "isGlobal": {
                  "type": "boolean",
                  "description": "Whether the company is global across tenants."
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The field identifier."
                      },
                      "name": {
                        "type": "string",
                        "description": "The field display name."
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "enriched",
                          "global",
                          "list",
                          "relationship-intelligence"
                        ],
                        "description": "The field category returned by Affinity."
                      },
                      "enrichmentSource": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "affinity-data",
                              "dealroom"
                            ],
                            "description": "The enrichment source when Affinity returned one."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "value": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "One Affinity field value union object returned by the API."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "name",
                      "type",
                      "enrichmentSource",
                      "value"
                    ],
                    "description": "One Affinity field value object returned by the API."
                  },
                  "description": "The non-list-specific fields attached to the company when requested."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "domain",
                "domains",
                "isGlobal",
                "fields"
              ],
              "description": "One Affinity company object returned by the API."
            },
            "description": "The Affinity companies returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "companies",
          "pagination"
        ],
        "description": "The Affinity companies page wrapper."
      }
    },
    {
      "id": "affinity.list_company_fields",
      "service": "affinity",
      "name": "list_company_fields",
      "description": "List non-list-specific Affinity company field metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "description": "The pagination input for this Affinity list action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The field identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The field name."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "enriched",
                    "global",
                    "list",
                    "relationship-intelligence"
                  ],
                  "description": "The field category returned by Affinity."
                },
                "enrichmentSource": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "affinity-data",
                        "dealroom"
                      ],
                      "description": "The enrichment source when Affinity returned one."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "valueType": {
                  "type": "string",
                  "enum": [
                    "person",
                    "person-multi",
                    "company",
                    "company-multi",
                    "filterable-text",
                    "filterable-text-multi",
                    "number",
                    "number-multi",
                    "datetime",
                    "location",
                    "location-multi",
                    "text",
                    "ranked-dropdown",
                    "dropdown",
                    "dropdown-multi",
                    "formula-number",
                    "interaction"
                  ],
                  "description": "The underlying Affinity value type."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "type",
                "enrichmentSource",
                "valueType"
              ],
              "description": "One Affinity field metadata object returned by the API."
            },
            "description": "The Affinity field metadata records returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "fields",
          "pagination"
        ],
        "description": "The Affinity field metadata page wrapper."
      }
    },
    {
      "id": "affinity.list_company_list_entries",
      "service": "affinity",
      "name": "list_company_list_entries",
      "description": "List all Affinity list entries for one company across lists.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity company ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "description": "The input payload for listing all list entries for one Affinity company."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "listEntries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The list entry ID."
                },
                "listId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The list ID that owns the list entry."
                },
                "createdAt": {
                  "type": "string",
                  "description": "The timestamp when the list entry was created.",
                  "format": "date-time"
                },
                "creatorId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The user ID that created the list entry when present."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The field identifier."
                      },
                      "name": {
                        "type": "string",
                        "description": "The field display name."
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "enriched",
                          "global",
                          "list",
                          "relationship-intelligence"
                        ],
                        "description": "The field category returned by Affinity."
                      },
                      "enrichmentSource": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "affinity-data",
                              "dealroom"
                            ],
                            "description": "The enrichment source when Affinity returned one."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "value": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "One Affinity field value union object returned by the API."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "name",
                      "type",
                      "enrichmentSource",
                      "value"
                    ],
                    "description": "One Affinity field value object returned by the API."
                  },
                  "description": "The list-specific fields returned for the list entry."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "listId",
                "createdAt",
                "creatorId",
                "fields"
              ],
              "description": "One Affinity entity list entry object."
            },
            "description": "The Affinity list entries returned for the entity."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "listEntries",
          "pagination"
        ],
        "description": "The Affinity entity list entries page wrapper."
      }
    },
    {
      "id": "affinity.list_company_lists",
      "service": "affinity",
      "name": "list_company_lists",
      "description": "List the Affinity lists that contain one company.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity company ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "required": [
          "companyId"
        ],
        "description": "The input payload for listing the lists that contain one Affinity company."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lists": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The Affinity list ID."
                },
                "name": {
                  "type": "string",
                  "description": "The list name."
                },
                "creatorId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The user ID that created the list."
                },
                "ownerId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The user ID that owns the list."
                },
                "isPublic": {
                  "type": "boolean",
                  "description": "Whether the list is public."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "creatorId",
                "ownerId",
                "isPublic"
              ],
              "description": "One Affinity list object returned by the API."
            },
            "description": "The Affinity lists returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "lists",
          "pagination"
        ],
        "description": "The Affinity lists page wrapper."
      }
    },
    {
      "id": "affinity.list_list_entries",
      "service": "affinity",
      "name": "list_list_entries",
      "description": "List the Affinity list entries for one list with optional field selectors.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "listId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity list ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          },
          "fieldIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Affinity field ID."
            },
            "description": "The field IDs for which to return list entry field data.",
            "minItems": 1,
            "maxItems": 100
          },
          "fieldTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "enriched",
                "global",
                "list",
                "relationship-intelligence"
              ],
              "description": "One Affinity field type selector."
            },
            "description": "The field types for which to return list entry field data.",
            "minItems": 1,
            "maxItems": 4
          }
        },
        "additionalProperties": false,
        "required": [
          "listId"
        ],
        "description": "The input payload for listing Affinity list entries."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "listEntries": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list entry ID."
                    },
                    "type": {
                      "const": "company",
                      "type": "string",
                      "description": "The entity type for this list entry."
                    },
                    "listId": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list ID that owns the list entry."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "The timestamp when the list entry was created.",
                      "format": "date-time"
                    },
                    "creatorId": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The user ID that created the list entry when present."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "entity": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The Affinity company ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The company name."
                        },
                        "domain": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The company's primary domain when available."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "domains": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "description": "One company domain."
                          },
                          "description": "The domains returned for the company."
                        },
                        "isGlobal": {
                          "type": "boolean",
                          "description": "Whether the company is global across tenants."
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The field identifier."
                              },
                              "name": {
                                "type": "string",
                                "description": "The field display name."
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "enriched",
                                  "global",
                                  "list",
                                  "relationship-intelligence"
                                ],
                                "description": "The field category returned by Affinity."
                              },
                              "enrichmentSource": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "affinity-data",
                                      "dealroom"
                                    ],
                                    "description": "The enrichment source when Affinity returned one."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "value": {
                                "type": "object",
                                "properties": {},
                                "additionalProperties": true,
                                "description": "One Affinity field value union object returned by the API."
                              }
                            },
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "name",
                              "type",
                              "enrichmentSource",
                              "value"
                            ],
                            "description": "One Affinity field value object returned by the API."
                          },
                          "description": "The non-list-specific fields attached to the company when requested."
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "name",
                        "domain",
                        "domains",
                        "isGlobal",
                        "fields"
                      ],
                      "description": "One Affinity company object returned by the API."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "type",
                    "listId",
                    "createdAt",
                    "creatorId",
                    "entity"
                  ],
                  "description": "One company list entry returned by a saved view or list entry endpoint."
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list entry ID."
                    },
                    "type": {
                      "const": "opportunity",
                      "type": "string",
                      "description": "The entity type for this list entry."
                    },
                    "listId": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list ID that owns the list entry."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "The timestamp when the list entry was created.",
                      "format": "date-time"
                    },
                    "creatorId": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The user ID that created the list entry when present."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "entity": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The Affinity opportunity ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The opportunity name."
                        },
                        "listId": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The list ID that owns the opportunity."
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "name",
                        "listId"
                      ],
                      "description": "The Affinity opportunity entity returned for the list entry."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "type",
                    "listId",
                    "createdAt",
                    "creatorId",
                    "entity"
                  ],
                  "description": "One opportunity list entry returned by a saved view endpoint."
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list entry ID."
                    },
                    "type": {
                      "const": "person",
                      "type": "string",
                      "description": "The entity type for this list entry."
                    },
                    "listId": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list ID that owns the list entry."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "The timestamp when the list entry was created.",
                      "format": "date-time"
                    },
                    "creatorId": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The user ID that created the list entry when present."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "entity": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The Affinity person ID."
                        },
                        "firstName": {
                          "type": "string",
                          "description": "The person's first name."
                        },
                        "lastName": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The person's last name when available."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "primaryEmailAddress": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The person's primary email address when available.",
                              "format": "email"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "emailAddresses": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "description": "One email address returned by Affinity.",
                            "format": "email"
                          },
                          "description": "The person's email addresses."
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "internal",
                            "external"
                          ],
                          "description": "The Affinity person type."
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The field identifier."
                              },
                              "name": {
                                "type": "string",
                                "description": "The field display name."
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "enriched",
                                  "global",
                                  "list",
                                  "relationship-intelligence"
                                ],
                                "description": "The field category returned by Affinity."
                              },
                              "enrichmentSource": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "affinity-data",
                                      "dealroom"
                                    ],
                                    "description": "The enrichment source when Affinity returned one."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "value": {
                                "type": "object",
                                "properties": {},
                                "additionalProperties": true,
                                "description": "One Affinity field value union object returned by the API."
                              }
                            },
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "name",
                              "type",
                              "enrichmentSource",
                              "value"
                            ],
                            "description": "One Affinity field value object returned by the API."
                          },
                          "description": "The non-list-specific fields attached to the person when requested."
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "firstName",
                        "lastName",
                        "primaryEmailAddress",
                        "emailAddresses",
                        "type",
                        "fields"
                      ],
                      "description": "One Affinity person object returned by the API."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "type",
                    "listId",
                    "createdAt",
                    "creatorId",
                    "entity"
                  ],
                  "description": "One person list entry returned by a saved view or list entry endpoint."
                }
              ],
              "description": "One saved-view list entry wrapper returned by Affinity."
            },
            "description": "The Affinity list entries returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "listEntries",
          "pagination"
        ],
        "description": "The Affinity saved-view list entries page wrapper."
      }
    },
    {
      "id": "affinity.list_list_fields",
      "service": "affinity",
      "name": "list_list_fields",
      "description": "List the field metadata for one Affinity list.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "listId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity list ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "required": [
          "listId"
        ],
        "description": "The input payload for listing field metadata on one Affinity list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The field identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The field name."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "enriched",
                    "global",
                    "list",
                    "relationship-intelligence"
                  ],
                  "description": "The field category returned by Affinity."
                },
                "enrichmentSource": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "affinity-data",
                        "dealroom"
                      ],
                      "description": "The enrichment source when Affinity returned one."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "valueType": {
                  "type": "string",
                  "enum": [
                    "person",
                    "person-multi",
                    "company",
                    "company-multi",
                    "filterable-text",
                    "filterable-text-multi",
                    "number",
                    "number-multi",
                    "datetime",
                    "location",
                    "location-multi",
                    "text",
                    "ranked-dropdown",
                    "dropdown",
                    "dropdown-multi",
                    "formula-number",
                    "interaction"
                  ],
                  "description": "The underlying Affinity value type."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "type",
                "enrichmentSource",
                "valueType"
              ],
              "description": "One Affinity field metadata object returned by the API."
            },
            "description": "The Affinity field metadata records returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "fields",
          "pagination"
        ],
        "description": "The Affinity field metadata page wrapper."
      }
    },
    {
      "id": "affinity.list_lists",
      "service": "affinity",
      "name": "list_lists",
      "description": "List the Affinity lists visible to the authenticated user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "description": "The pagination input for this Affinity list action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lists": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The Affinity list ID."
                },
                "name": {
                  "type": "string",
                  "description": "The list name."
                },
                "creatorId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The user ID that created the list."
                },
                "ownerId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The user ID that owns the list."
                },
                "isPublic": {
                  "type": "boolean",
                  "description": "Whether the list is public."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "creatorId",
                "ownerId",
                "isPublic"
              ],
              "description": "One Affinity list object returned by the API."
            },
            "description": "The Affinity lists returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "lists",
          "pagination"
        ],
        "description": "The Affinity lists page wrapper."
      }
    },
    {
      "id": "affinity.list_opportunities",
      "service": "affinity",
      "name": "list_opportunities",
      "description": "List Affinity opportunities with optional ID filtering.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "description": "One Affinity numeric identifier."
            },
            "description": "The Affinity opportunity IDs to fetch directly.",
            "minItems": 1,
            "maxItems": 100
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Affinity opportunities."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The Affinity opportunity ID."
                },
                "name": {
                  "type": "string",
                  "description": "The opportunity name."
                },
                "listId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The list ID that owns the opportunity."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "listId"
              ],
              "description": "One Affinity opportunity object returned by the API."
            },
            "description": "The Affinity opportunities returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "opportunities",
          "pagination"
        ],
        "description": "The Affinity opportunities page wrapper."
      }
    },
    {
      "id": "affinity.list_person_fields",
      "service": "affinity",
      "name": "list_person_fields",
      "description": "List non-list-specific Affinity person field metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "description": "The pagination input for this Affinity list action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The field identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The field name."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "enriched",
                    "global",
                    "list",
                    "relationship-intelligence"
                  ],
                  "description": "The field category returned by Affinity."
                },
                "enrichmentSource": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "affinity-data",
                        "dealroom"
                      ],
                      "description": "The enrichment source when Affinity returned one."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "valueType": {
                  "type": "string",
                  "enum": [
                    "person",
                    "person-multi",
                    "company",
                    "company-multi",
                    "filterable-text",
                    "filterable-text-multi",
                    "number",
                    "number-multi",
                    "datetime",
                    "location",
                    "location-multi",
                    "text",
                    "ranked-dropdown",
                    "dropdown",
                    "dropdown-multi",
                    "formula-number",
                    "interaction"
                  ],
                  "description": "The underlying Affinity value type."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "type",
                "enrichmentSource",
                "valueType"
              ],
              "description": "One Affinity field metadata object returned by the API."
            },
            "description": "The Affinity field metadata records returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "fields",
          "pagination"
        ],
        "description": "The Affinity field metadata page wrapper."
      }
    },
    {
      "id": "affinity.list_person_list_entries",
      "service": "affinity",
      "name": "list_person_list_entries",
      "description": "List all Affinity list entries for one person across lists.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "personId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity person ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "required": [
          "personId"
        ],
        "description": "The input payload for listing all list entries for one Affinity person."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "listEntries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The list entry ID."
                },
                "listId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The list ID that owns the list entry."
                },
                "createdAt": {
                  "type": "string",
                  "description": "The timestamp when the list entry was created.",
                  "format": "date-time"
                },
                "creatorId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The user ID that created the list entry when present."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The field identifier."
                      },
                      "name": {
                        "type": "string",
                        "description": "The field display name."
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "enriched",
                          "global",
                          "list",
                          "relationship-intelligence"
                        ],
                        "description": "The field category returned by Affinity."
                      },
                      "enrichmentSource": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "affinity-data",
                              "dealroom"
                            ],
                            "description": "The enrichment source when Affinity returned one."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "value": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "One Affinity field value union object returned by the API."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "name",
                      "type",
                      "enrichmentSource",
                      "value"
                    ],
                    "description": "One Affinity field value object returned by the API."
                  },
                  "description": "The list-specific fields returned for the list entry."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "listId",
                "createdAt",
                "creatorId",
                "fields"
              ],
              "description": "One Affinity entity list entry object."
            },
            "description": "The Affinity list entries returned for the entity."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "listEntries",
          "pagination"
        ],
        "description": "The Affinity entity list entries page wrapper."
      }
    },
    {
      "id": "affinity.list_person_lists",
      "service": "affinity",
      "name": "list_person_lists",
      "description": "List the Affinity lists that contain one person.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "personId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity person ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "required": [
          "personId"
        ],
        "description": "The input payload for listing the lists that contain one Affinity person."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lists": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The Affinity list ID."
                },
                "name": {
                  "type": "string",
                  "description": "The list name."
                },
                "creatorId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The user ID that created the list."
                },
                "ownerId": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The user ID that owns the list."
                },
                "isPublic": {
                  "type": "boolean",
                  "description": "Whether the list is public."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "creatorId",
                "ownerId",
                "isPublic"
              ],
              "description": "One Affinity list object returned by the API."
            },
            "description": "The Affinity lists returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "lists",
          "pagination"
        ],
        "description": "The Affinity lists page wrapper."
      }
    },
    {
      "id": "affinity.list_persons",
      "service": "affinity",
      "name": "list_persons",
      "description": "List Affinity persons with optional ID and field selectors.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "description": "One Affinity numeric identifier."
            },
            "description": "The Affinity person IDs to fetch directly.",
            "minItems": 1,
            "maxItems": 100
          },
          "fieldIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Affinity field ID."
            },
            "description": "The field IDs for which to return person field data.",
            "minItems": 1,
            "maxItems": 100
          },
          "fieldTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "enriched",
                "global",
                "list",
                "relationship-intelligence"
              ],
              "description": "One Affinity field type selector."
            },
            "description": "The field types for which to return person field data.",
            "minItems": 1,
            "maxItems": 4
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Affinity persons."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "persons": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The Affinity person ID."
                },
                "firstName": {
                  "type": "string",
                  "description": "The person's first name."
                },
                "lastName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The person's last name when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "primaryEmailAddress": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The person's primary email address when available.",
                      "format": "email"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "emailAddresses": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One email address returned by Affinity.",
                    "format": "email"
                  },
                  "description": "The person's email addresses."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "internal",
                    "external"
                  ],
                  "description": "The Affinity person type."
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The field identifier."
                      },
                      "name": {
                        "type": "string",
                        "description": "The field display name."
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "enriched",
                          "global",
                          "list",
                          "relationship-intelligence"
                        ],
                        "description": "The field category returned by Affinity."
                      },
                      "enrichmentSource": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "affinity-data",
                              "dealroom"
                            ],
                            "description": "The enrichment source when Affinity returned one."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "value": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "One Affinity field value union object returned by the API."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "name",
                      "type",
                      "enrichmentSource",
                      "value"
                    ],
                    "description": "One Affinity field value object returned by the API."
                  },
                  "description": "The non-list-specific fields attached to the person when requested."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "firstName",
                "lastName",
                "primaryEmailAddress",
                "emailAddresses",
                "type",
                "fields"
              ],
              "description": "One Affinity person object returned by the API."
            },
            "description": "The Affinity persons returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "persons",
          "pagination"
        ],
        "description": "The Affinity persons page wrapper."
      }
    },
    {
      "id": "affinity.list_saved_view_list_entries",
      "service": "affinity",
      "name": "list_saved_view_list_entries",
      "description": "List the Affinity list entries returned by one saved view.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "listId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity list ID."
          },
          "viewId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity saved view ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "required": [
          "listId",
          "viewId"
        ],
        "description": "The input payload for listing Affinity saved-view list entries."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "listEntries": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list entry ID."
                    },
                    "type": {
                      "const": "company",
                      "type": "string",
                      "description": "The entity type for this list entry."
                    },
                    "listId": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list ID that owns the list entry."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "The timestamp when the list entry was created.",
                      "format": "date-time"
                    },
                    "creatorId": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The user ID that created the list entry when present."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "entity": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The Affinity company ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The company name."
                        },
                        "domain": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The company's primary domain when available."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "domains": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "description": "One company domain."
                          },
                          "description": "The domains returned for the company."
                        },
                        "isGlobal": {
                          "type": "boolean",
                          "description": "Whether the company is global across tenants."
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The field identifier."
                              },
                              "name": {
                                "type": "string",
                                "description": "The field display name."
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "enriched",
                                  "global",
                                  "list",
                                  "relationship-intelligence"
                                ],
                                "description": "The field category returned by Affinity."
                              },
                              "enrichmentSource": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "affinity-data",
                                      "dealroom"
                                    ],
                                    "description": "The enrichment source when Affinity returned one."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "value": {
                                "type": "object",
                                "properties": {},
                                "additionalProperties": true,
                                "description": "One Affinity field value union object returned by the API."
                              }
                            },
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "name",
                              "type",
                              "enrichmentSource",
                              "value"
                            ],
                            "description": "One Affinity field value object returned by the API."
                          },
                          "description": "The non-list-specific fields attached to the company when requested."
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "name",
                        "domain",
                        "domains",
                        "isGlobal",
                        "fields"
                      ],
                      "description": "One Affinity company object returned by the API."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "type",
                    "listId",
                    "createdAt",
                    "creatorId",
                    "entity"
                  ],
                  "description": "One company list entry returned by a saved view or list entry endpoint."
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list entry ID."
                    },
                    "type": {
                      "const": "opportunity",
                      "type": "string",
                      "description": "The entity type for this list entry."
                    },
                    "listId": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list ID that owns the list entry."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "The timestamp when the list entry was created.",
                      "format": "date-time"
                    },
                    "creatorId": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The user ID that created the list entry when present."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "entity": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The Affinity opportunity ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The opportunity name."
                        },
                        "listId": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The list ID that owns the opportunity."
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "name",
                        "listId"
                      ],
                      "description": "The Affinity opportunity entity returned for the list entry."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "type",
                    "listId",
                    "createdAt",
                    "creatorId",
                    "entity"
                  ],
                  "description": "One opportunity list entry returned by a saved view endpoint."
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list entry ID."
                    },
                    "type": {
                      "const": "person",
                      "type": "string",
                      "description": "The entity type for this list entry."
                    },
                    "listId": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "description": "The list ID that owns the list entry."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "The timestamp when the list entry was created.",
                      "format": "date-time"
                    },
                    "creatorId": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The user ID that created the list entry when present."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "entity": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "description": "The Affinity person ID."
                        },
                        "firstName": {
                          "type": "string",
                          "description": "The person's first name."
                        },
                        "lastName": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The person's last name when available."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "primaryEmailAddress": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The person's primary email address when available.",
                              "format": "email"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "emailAddresses": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "description": "One email address returned by Affinity.",
                            "format": "email"
                          },
                          "description": "The person's email addresses."
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "internal",
                            "external"
                          ],
                          "description": "The Affinity person type."
                        },
                        "fields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The field identifier."
                              },
                              "name": {
                                "type": "string",
                                "description": "The field display name."
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "enriched",
                                  "global",
                                  "list",
                                  "relationship-intelligence"
                                ],
                                "description": "The field category returned by Affinity."
                              },
                              "enrichmentSource": {
                                "anyOf": [
                                  {
                                    "type": "string",
                                    "enum": [
                                      "affinity-data",
                                      "dealroom"
                                    ],
                                    "description": "The enrichment source when Affinity returned one."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "value": {
                                "type": "object",
                                "properties": {},
                                "additionalProperties": true,
                                "description": "One Affinity field value union object returned by the API."
                              }
                            },
                            "additionalProperties": false,
                            "required": [
                              "id",
                              "name",
                              "type",
                              "enrichmentSource",
                              "value"
                            ],
                            "description": "One Affinity field value object returned by the API."
                          },
                          "description": "The non-list-specific fields attached to the person when requested."
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "firstName",
                        "lastName",
                        "primaryEmailAddress",
                        "emailAddresses",
                        "type",
                        "fields"
                      ],
                      "description": "One Affinity person object returned by the API."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "type",
                    "listId",
                    "createdAt",
                    "creatorId",
                    "entity"
                  ],
                  "description": "One person list entry returned by a saved view or list entry endpoint."
                }
              ],
              "description": "One saved-view list entry wrapper returned by Affinity."
            },
            "description": "The Affinity list entries returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "listEntries",
          "pagination"
        ],
        "description": "The Affinity saved-view list entries page wrapper."
      }
    },
    {
      "id": "affinity.list_saved_views",
      "service": "affinity",
      "name": "list_saved_views",
      "description": "List the saved views configured on one Affinity list.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "listId": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "description": "The Affinity list ID."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by Affinity."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of items to include in the page."
          }
        },
        "additionalProperties": false,
        "required": [
          "listId"
        ],
        "description": "The input payload for listing saved views on one Affinity list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "savedViews": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "description": "The Affinity saved view ID."
                },
                "name": {
                  "type": "string",
                  "description": "The saved view name."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "sheet",
                    "board",
                    "dashboard"
                  ],
                  "description": "The saved view type."
                },
                "createdAt": {
                  "type": "string",
                  "description": "The timestamp when the saved view was created.",
                  "format": "date-time"
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "type",
                "createdAt"
              ],
              "description": "One Affinity saved view object returned by the API."
            },
            "description": "The Affinity saved views returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page when Affinity provided one.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "nextUrl",
              "prevUrl"
            ],
            "description": "The Affinity pagination object returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "savedViews",
          "pagination"
        ],
        "description": "The Affinity saved views page wrapper."
      }
    }
  ]
}
