{
  "service": "close",
  "displayName": "Close",
  "categories": [
    "Productivity",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "close_api_key",
      "description": "Close API key used as the HTTP Basic Auth username with an empty password. Create it in Settings > Developer > API Keys: https://developer.close.com/api/overview/api-key-authentication.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.close.com",
  "actions": [
    {
      "id": "close.create_contact",
      "service": "close",
      "name": "create_contact",
      "description": "Create a Close contact under a specific lead.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close lead ID that owns the contact."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The Close contact name."
          },
          "title": {
            "type": "string",
            "description": "The Close contact title."
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "description": "The email address to send to Close.",
                  "format": "email"
                },
                "type": {
                  "type": "string",
                  "description": "The Close email label."
                }
              },
              "additionalProperties": false,
              "required": [
                "email"
              ],
              "description": "An email object sent to Close."
            },
            "description": "Contact emails.",
            "minItems": 1
          },
          "phones": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The phone number to send to Close."
                },
                "type": {
                  "type": "string",
                  "description": "The Close phone label."
                }
              },
              "additionalProperties": false,
              "required": [
                "phone"
              ],
              "description": "A phone object sent to Close."
            },
            "description": "Contact phones.",
            "minItems": 1
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The URL to send to Close."
                },
                "type": {
                  "type": "string",
                  "description": "The Close URL label."
                }
              },
              "additionalProperties": false,
              "required": [
                "url"
              ],
              "description": "A URL object sent to Close."
            },
            "description": "Contact URLs.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId",
          "name"
        ],
        "description": "The input payload for creating a Close contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close contact object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close contact response."
      }
    },
    {
      "id": "close.create_lead",
      "service": "close",
      "name": "create_lead",
      "description": "Create a Close lead with optional nested contacts and addresses.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The Close lead name."
          },
          "description": {
            "type": "string",
            "description": "The Close lead description."
          },
          "statusId": {
            "type": "string",
            "description": "The Close lead status ID."
          },
          "url": {
            "type": "string",
            "description": "The lead website URL."
          },
          "addresses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "description": "The address label to send to Close."
                },
                "address1": {
                  "type": "string",
                  "description": "The first address line to send to Close."
                },
                "address2": {
                  "type": "string",
                  "description": "The second address line to send to Close."
                },
                "city": {
                  "type": "string",
                  "description": "The city to send to Close."
                },
                "state": {
                  "type": "string",
                  "description": "The state or region to send to Close."
                },
                "zipcode": {
                  "type": "string",
                  "description": "The postal code to send to Close."
                },
                "country": {
                  "type": "string",
                  "description": "The country code to send to Close."
                }
              },
              "additionalProperties": false,
              "description": "An address object sent to Close."
            },
            "description": "Lead addresses.",
            "minItems": 1
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The nested contact name to send to Close."
                },
                "title": {
                  "type": "string",
                  "description": "The nested contact title to send to Close."
                },
                "emails": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "description": "The email address to send to Close.",
                        "format": "email"
                      },
                      "type": {
                        "type": "string",
                        "description": "The Close email label."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "email"
                    ],
                    "description": "An email object sent to Close."
                  },
                  "description": "Nested contact emails.",
                  "minItems": 1
                },
                "phones": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "phone": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The phone number to send to Close."
                      },
                      "type": {
                        "type": "string",
                        "description": "The Close phone label."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "phone"
                    ],
                    "description": "A phone object sent to Close."
                  },
                  "description": "Nested contact phones.",
                  "minItems": 1
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "description": "A nested contact object sent with create_lead."
            },
            "description": "Nested contacts created together with the lead.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "The input payload for creating a Close lead."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close lead object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close lead response."
      }
    },
    {
      "id": "close.create_opportunity",
      "service": "close",
      "name": "create_opportunity",
      "description": "Create a Close opportunity for an existing lead.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close lead ID that owns the opportunity."
          },
          "contactId": {
            "type": "string",
            "description": "The Close contact ID linked to the opportunity."
          },
          "userId": {
            "type": "string",
            "description": "The Close user ID that owns the opportunity."
          },
          "statusId": {
            "type": "string",
            "description": "The Close opportunity status ID."
          },
          "confidence": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "The Close opportunity confidence percentage."
          },
          "note": {
            "type": "string",
            "description": "The Close opportunity note."
          },
          "value": {
            "type": "integer",
            "description": "The Close opportunity value."
          },
          "valuePeriod": {
            "type": "string",
            "enum": [
              "one_time",
              "monthly",
              "annual"
            ],
            "description": "The Close opportunity value period."
          },
          "dateWon": {
            "type": "string",
            "description": "The won date to send to Close."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId"
        ],
        "description": "The input payload for creating a Close opportunity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close opportunity object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close opportunity response."
      }
    },
    {
      "id": "close.create_task",
      "service": "close",
      "name": "create_task",
      "description": "Create a lead-scoped Close task.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close lead ID that owns the task."
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "The Close task text."
          },
          "assignedTo": {
            "type": "string",
            "description": "The Close user ID to assign the task to."
          },
          "date": {
            "type": "string",
            "description": "The task date to send to Close."
          },
          "dueDate": {
            "type": "string",
            "description": "The task due date to send to Close."
          },
          "isComplete": {
            "type": "boolean",
            "description": "Whether the task should start completed."
          },
          "isDateless": {
            "type": "boolean",
            "description": "Whether the task should be dateless."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId",
          "text"
        ],
        "description": "The input payload for creating a Close task."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close task object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close task response."
      }
    },
    {
      "id": "close.get_contact",
      "service": "close",
      "name": "get_contact",
      "description": "Fetch a single Close contact by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close contact ID."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "contactId"
        ],
        "description": "The input payload for fetching a Close contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close contact object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close contact response."
      }
    },
    {
      "id": "close.get_lead",
      "service": "close",
      "name": "get_lead",
      "description": "Fetch a single Close lead by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close lead ID."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId"
        ],
        "description": "The input payload for fetching a Close lead."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close lead object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close lead response."
      }
    },
    {
      "id": "close.get_opportunity",
      "service": "close",
      "name": "get_opportunity",
      "description": "Fetch a single Close opportunity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "opportunityId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close opportunity ID."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "opportunityId"
        ],
        "description": "The input payload for fetching a Close opportunity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close opportunity object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close opportunity response."
      }
    },
    {
      "id": "close.get_task",
      "service": "close",
      "name": "get_task",
      "description": "Fetch a single Close task by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close task ID."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "taskId"
        ],
        "description": "The input payload for fetching a Close task."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close task object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close task response."
      }
    },
    {
      "id": "close.list_contacts",
      "service": "close",
      "name": "list_contacts",
      "description": "List Close contacts with optional lead filtering and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of Close records to return."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Close records to skip before this page."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          },
          "leadId": {
            "type": "string",
            "description": "Only return contacts linked to this Close lead ID."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Close contacts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Close contact object."
            },
            "description": "The Close contacts returned for the current page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether Close has another page available.",
            "default": false
          }
        },
        "additionalProperties": false,
        "description": "The paginated Close contact list response."
      }
    },
    {
      "id": "close.list_leads",
      "service": "close",
      "name": "list_leads",
      "description": "List Close leads with optional pagination and field selection.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of Close records to return."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Close records to skip before this page."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Close leads."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "leads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Close lead object."
            },
            "description": "The Close leads returned for the current page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether Close has another page available.",
            "default": false
          }
        },
        "additionalProperties": false,
        "description": "The paginated Close lead list response."
      }
    },
    {
      "id": "close.list_opportunities",
      "service": "close",
      "name": "list_opportunities",
      "description": "List Close opportunities with stable workflow filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of Close records to return."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Close records to skip before this page."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          },
          "leadId": {
            "type": "string",
            "description": "Only return opportunities linked to this Close lead ID."
          },
          "userId": {
            "type": "string",
            "description": "Only return opportunities owned by this Close user ID."
          },
          "statusId": {
            "type": "string",
            "description": "Only return opportunities in this Close status ID."
          },
          "statusType": {
            "type": "string",
            "enum": [
              "won",
              "lost",
              "active"
            ],
            "description": "The Close opportunity status type."
          },
          "valuePeriod": {
            "type": "string",
            "enum": [
              "one_time",
              "monthly",
              "annual"
            ],
            "description": "The Close opportunity value period."
          },
          "isStalled": {
            "type": "boolean",
            "description": "Only return opportunities with this stalled flag."
          },
          "query": {
            "type": "string",
            "description": "The Close search query applied to opportunities."
          },
          "leadQuery": {
            "type": "string",
            "description": "The Close lead search query applied before opportunity filtering."
          },
          "orderBy": {
            "type": "string",
            "description": "The Close _order_by value for sorting opportunities."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Close opportunities."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Close opportunity object."
            },
            "description": "The Close opportunities returned for the current page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether Close has another page available.",
            "default": false
          }
        },
        "additionalProperties": false,
        "description": "The paginated Close opportunity list response."
      }
    },
    {
      "id": "close.list_tasks",
      "service": "close",
      "name": "list_tasks",
      "description": "List Close tasks with lead, assignee, completion, and view filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of Close records to return."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Close records to skip before this page."
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Close API field name."
            },
            "description": "Additional Close API fields to request through the _fields query parameter.",
            "minItems": 1
          },
          "leadId": {
            "type": "string",
            "description": "Only return tasks linked to this Close lead ID."
          },
          "assignedTo": {
            "type": "string",
            "description": "Only return tasks assigned to this Close user ID."
          },
          "isComplete": {
            "type": "boolean",
            "description": "Only return tasks with this completion state."
          },
          "view": {
            "type": "string",
            "description": "The Close task view filter such as inbox or archive."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Close tasks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Close task object."
            },
            "description": "The Close tasks returned for the current page."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether Close has another page available.",
            "default": false
          }
        },
        "additionalProperties": false,
        "description": "The paginated Close task list response."
      }
    },
    {
      "id": "close.update_contact",
      "service": "close",
      "name": "update_contact",
      "description": "Update writable fields on an existing Close contact.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close contact ID."
          },
          "name": {
            "type": "string",
            "description": "The Close contact name."
          },
          "title": {
            "type": "string",
            "description": "The Close contact title."
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "description": "The email address to send to Close.",
                  "format": "email"
                },
                "type": {
                  "type": "string",
                  "description": "The Close email label."
                }
              },
              "additionalProperties": false,
              "required": [
                "email"
              ],
              "description": "An email object sent to Close."
            },
            "description": "Contact emails.",
            "minItems": 1
          },
          "phones": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The phone number to send to Close."
                },
                "type": {
                  "type": "string",
                  "description": "The Close phone label."
                }
              },
              "additionalProperties": false,
              "required": [
                "phone"
              ],
              "description": "A phone object sent to Close."
            },
            "description": "Contact phones.",
            "minItems": 1
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The URL to send to Close."
                },
                "type": {
                  "type": "string",
                  "description": "The Close URL label."
                }
              },
              "additionalProperties": false,
              "required": [
                "url"
              ],
              "description": "A URL object sent to Close."
            },
            "description": "Contact URLs.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "contactId"
        ],
        "description": "The input payload for updating a Close contact.",
        "anyOf": [
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "title"
            ]
          },
          {
            "required": [
              "emails"
            ]
          },
          {
            "required": [
              "phones"
            ]
          },
          {
            "required": [
              "urls"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close contact object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close contact response."
      }
    },
    {
      "id": "close.update_lead",
      "service": "close",
      "name": "update_lead",
      "description": "Update writable fields on an existing Close lead.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close lead ID."
          },
          "name": {
            "type": "string",
            "description": "The Close lead name."
          },
          "description": {
            "type": "string",
            "description": "The Close lead description."
          },
          "statusId": {
            "type": "string",
            "description": "The Close lead status ID."
          },
          "url": {
            "type": "string",
            "description": "The lead website URL."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId"
        ],
        "description": "The input payload for updating a Close lead.",
        "anyOf": [
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "description"
            ]
          },
          {
            "required": [
              "statusId"
            ]
          },
          {
            "required": [
              "url"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close lead object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close lead response."
      }
    },
    {
      "id": "close.update_opportunity",
      "service": "close",
      "name": "update_opportunity",
      "description": "Update writable fields on an existing Close opportunity.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "opportunityId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close opportunity ID."
          },
          "contactId": {
            "type": "string",
            "description": "The Close contact ID linked to the opportunity."
          },
          "userId": {
            "type": "string",
            "description": "The Close user ID that owns the opportunity."
          },
          "statusId": {
            "type": "string",
            "description": "The Close opportunity status ID."
          },
          "confidence": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "The Close opportunity confidence percentage."
          },
          "note": {
            "type": "string",
            "description": "The Close opportunity note."
          },
          "value": {
            "type": "integer",
            "description": "The Close opportunity value."
          },
          "valuePeriod": {
            "type": "string",
            "enum": [
              "one_time",
              "monthly",
              "annual"
            ],
            "description": "The Close opportunity value period."
          },
          "dateWon": {
            "type": "string",
            "description": "The won date to send to Close."
          }
        },
        "additionalProperties": false,
        "required": [
          "opportunityId"
        ],
        "description": "The input payload for updating a Close opportunity.",
        "anyOf": [
          {
            "required": [
              "contactId"
            ]
          },
          {
            "required": [
              "userId"
            ]
          },
          {
            "required": [
              "statusId"
            ]
          },
          {
            "required": [
              "confidence"
            ]
          },
          {
            "required": [
              "note"
            ]
          },
          {
            "required": [
              "value"
            ]
          },
          {
            "required": [
              "valuePeriod"
            ]
          },
          {
            "required": [
              "dateWon"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close opportunity object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close opportunity response."
      }
    },
    {
      "id": "close.update_task",
      "service": "close",
      "name": "update_task",
      "description": "Update writable fields on an existing Close task.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "string",
            "minLength": 1,
            "description": "The Close task ID."
          },
          "text": {
            "type": "string",
            "description": "The Close task text."
          },
          "assignedTo": {
            "type": "string",
            "description": "The Close user ID to assign the task to."
          },
          "date": {
            "type": "string",
            "description": "The task date to send to Close."
          },
          "dueDate": {
            "type": "string",
            "description": "The task due date to send to Close."
          },
          "isComplete": {
            "type": "boolean",
            "description": "Whether the task is complete."
          },
          "isDateless": {
            "type": "boolean",
            "description": "Whether the task is dateless."
          }
        },
        "additionalProperties": false,
        "required": [
          "taskId"
        ],
        "description": "The input payload for updating a Close task.",
        "anyOf": [
          {
            "required": [
              "text"
            ]
          },
          {
            "required": [
              "assignedTo"
            ]
          },
          {
            "required": [
              "date"
            ]
          },
          {
            "required": [
              "dueDate"
            ]
          },
          {
            "required": [
              "isComplete"
            ]
          },
          {
            "required": [
              "isDateless"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Close task object."
          }
        },
        "additionalProperties": false,
        "description": "A single Close task response."
      }
    }
  ]
}
