{
  "service": "nyne_ai",
  "displayName": "Nyne.ai",
  "categories": [
    "Data",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "NYNE_API_KEY",
      "description": "Nyne.ai API key sent with the X-API-Key header. Generate API keys from the Nyne.ai API keys dashboard: https://nyne.ai/api-keys.",
      "extraFields": [
        {
          "key": "apiSecret",
          "label": "API Secret",
          "inputType": "password",
          "required": true,
          "secret": true,
          "placeholder": "NYNE_API_SECRET",
          "description": "Nyne.ai API secret sent with the X-API-Secret header. Generate it together with the API key from the Nyne.ai API keys dashboard: https://nyne.ai/api-keys."
        }
      ]
    }
  ],
  "homepageUrl": "https://nyne.ai",
  "actions": [
    {
      "id": "nyne_ai.get_company_enrichment",
      "service": "nyne_ai",
      "name": "get_company_enrichment",
      "description": "Poll a Nyne.ai company enrichment request and return its status plus completed company result.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "requestId"
        ],
        "description": "Input for polling a Nyne.ai company enrichment request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "result": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai enrichment status response."
      },
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_company_enrichment",
        "statusActionId": "nyne_ai.get_company_enrichment"
      }
    },
    {
      "id": "nyne_ai.get_company_search",
      "service": "nyne_ai",
      "name": "get_company_search",
      "description": "Poll a Nyne.ai company search request and return its status plus completed result page.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "requestId"
        ],
        "description": "Input for polling a Nyne.ai company search request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Nyne.ai."
            },
            "description": "Raw objects returned by Nyne.ai."
          },
          "returnedCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "totalResults": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "hasMore": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The next cursor returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextOffset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai search status response."
      },
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_company_search",
        "statusActionId": "nyne_ai.get_company_search"
      }
    },
    {
      "id": "nyne_ai.get_person_enrichment",
      "service": "nyne_ai",
      "name": "get_person_enrichment",
      "description": "Poll a Nyne.ai person enrichment request and return its status plus completed profile result.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "requestId"
        ],
        "description": "Input for polling a Nyne.ai person enrichment request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "result": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai enrichment status response."
      },
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_person_enrichment",
        "statusActionId": "nyne_ai.get_person_enrichment"
      }
    },
    {
      "id": "nyne_ai.get_person_search",
      "service": "nyne_ai",
      "name": "get_person_search",
      "description": "Poll a Nyne.ai person search request and return its status plus completed result page.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "requestId"
        ],
        "description": "Input for polling a Nyne.ai person search request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Nyne.ai."
            },
            "description": "Raw objects returned by Nyne.ai."
          },
          "returnedCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "totalResults": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "hasMore": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The next cursor returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextOffset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai search status response."
      },
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_person_search",
        "statusActionId": "nyne_ai.get_person_search"
      }
    },
    {
      "id": "nyne_ai.get_usage",
      "service": "nyne_ai",
      "name": "get_usage",
      "description": "Get Nyne.ai credit usage, monthly allocation, remaining balance, and per-API breakdown.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "month": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12,
            "description": "Month to retrieve usage for, from 1 through 12."
          },
          "year": {
            "type": "integer",
            "minimum": 2020,
            "maximum": 2030,
            "description": "Year to retrieve usage for, from 2020 through 2030."
          }
        },
        "additionalProperties": false,
        "description": "Optional month and year filters for Nyne.ai usage statistics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "month": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "year": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The integer value returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "period": {
            "anyOf": [
              {
                "type": "string",
                "description": "The usage period returned by Nyne.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "creditsUsed": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Credit consumption totals returned by Nyne.ai."
          },
          "requestsCount": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Request-count totals returned by Nyne.ai."
          },
          "limits": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Credit allocation and remaining balance returned by Nyne.ai."
          },
          "breakdown": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Per-API usage breakdown returned by Nyne.ai."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai usage response."
      }
    },
    {
      "id": "nyne_ai.submit_company_enrichment",
      "service": "nyne_ai",
      "name": "submit_company_enrichment",
      "description": "Submit an asynchronous Nyne.ai company enrichment request from domain, email, phone, or social URL.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company website domain."
          },
          "email": {
            "type": "string",
            "description": "A company email address.",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "description": "A company phone number."
          },
          "socialMediaUrl": {
            "type": "string",
            "description": "The company social profile URL.",
            "format": "uri"
          },
          "callbackUrl": {
            "type": "string",
            "description": "The HTTP or HTTPS callback URL Nyne.ai should call when the asynchronous request completes.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "Identifiers and options for submitting a Nyne.ai company enrichment request.",
        "anyOf": [
          {
            "required": [
              "domain"
            ]
          },
          {
            "required": [
              "email"
            ]
          },
          {
            "required": [
              "phone"
            ]
          },
          {
            "required": [
              "socialMediaUrl"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai asynchronous submit response."
      },
      "followUpActions": [
        "nyne_ai.get_company_enrichment"
      ],
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_company_enrichment",
        "statusActionId": "nyne_ai.get_company_enrichment"
      }
    },
    {
      "id": "nyne_ai.submit_company_search",
      "service": "nyne_ai",
      "name": "submit_company_search",
      "description": "Submit an asynchronous Nyne.ai company search using a natural-language query.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700,
            "description": "The natural-language company search query."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum companies to return. Nyne.ai supports 1 through 50."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Starting position for offset pagination."
          },
          "profileScoring": {
            "type": "boolean",
            "description": "Whether Nyne.ai should return a query-fit score."
          },
          "insights": {
            "type": "boolean",
            "description": "Whether Nyne.ai should return query-fit evidence."
          },
          "callbackUrl": {
            "type": "string",
            "description": "The HTTP or HTTPS callback URL Nyne.ai should call when the asynchronous request completes.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "Input for submitting a Nyne.ai company search."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai asynchronous submit response."
      },
      "followUpActions": [
        "nyne_ai.get_company_search"
      ],
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_company_search",
        "statusActionId": "nyne_ai.get_company_search"
      }
    },
    {
      "id": "nyne_ai.submit_person_enrichment",
      "service": "nyne_ai",
      "name": "submit_person_enrichment",
      "description": "Submit an asynchronous Nyne.ai person enrichment request from email, phone, social URL, or name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The person's email address.",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "description": "The person's phone number."
          },
          "socialMediaUrl": {
            "type": "string",
            "description": "The person's social profile URL.",
            "format": "uri"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The person's full name."
          },
          "company": {
            "type": "string",
            "minLength": 1,
            "description": "The person's employer name used to improve matching."
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "The city used to disambiguate name lookups."
          },
          "callbackUrl": {
            "type": "string",
            "description": "The HTTP or HTTPS callback URL Nyne.ai should call when the asynchronous request completes.",
            "format": "uri"
          },
          "newsfeed": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "all"
                ],
                "description": "All supported Nyne.ai social sources."
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "description": "One Nyne.ai social source literal."
                },
                "description": "Specific social sources to pull with enrichment.",
                "minItems": 1
              }
            ],
            "description": "Social sources to pull with enrichment."
          },
          "aiEnhancedSearch": {
            "type": "boolean",
            "description": "Whether Nyne.ai should use AI-assisted search expansion."
          },
          "strictEmailCheck": {
            "type": "boolean",
            "description": "Whether Nyne.ai should require stricter email confirmation."
          },
          "liteEnrich": {
            "type": "boolean",
            "description": "Whether Nyne.ai should use the lower-cost lite enrichment mode."
          },
          "probabilityScore": {
            "type": "boolean",
            "description": "Whether Nyne.ai should return match probability when available."
          },
          "forceOrganizationRefresh": {
            "type": "boolean",
            "description": "Whether Nyne.ai should force a live organization data refresh."
          },
          "requiredFields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One required field name."
            },
            "description": "Field names the Nyne.ai result must contain to count as a match.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "Identifiers and options for submitting a Nyne.ai person enrichment request.",
        "anyOf": [
          {
            "required": [
              "email"
            ]
          },
          {
            "required": [
              "phone"
            ]
          },
          {
            "required": [
              "socialMediaUrl"
            ]
          },
          {
            "required": [
              "name"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai asynchronous submit response."
      },
      "followUpActions": [
        "nyne_ai.get_person_enrichment"
      ],
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_person_enrichment",
        "statusActionId": "nyne_ai.get_person_enrichment"
      }
    },
    {
      "id": "nyne_ai.submit_person_search",
      "service": "nyne_ai",
      "name": "submit_person_search",
      "description": "Submit an asynchronous Nyne.ai people search using a natural-language query or structured filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The natural-language search query sent to Nyne.ai."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Results per page. Nyne.ai defaults to 10 and clamps values above 100."
          },
          "showEmails": {
            "type": "boolean",
            "description": "Whether Nyne.ai should include verified email addresses."
          },
          "showPhoneNumbers": {
            "type": "boolean",
            "description": "Whether Nyne.ai should include phone numbers."
          },
          "requireEmails": {
            "type": "boolean",
            "description": "Whether Nyne.ai should only return people with emails."
          },
          "requirePhoneNumbers": {
            "type": "boolean",
            "description": "Whether Nyne.ai should only return people with phones."
          },
          "requirePhonesOrEmails": {
            "type": "boolean",
            "description": "Whether Nyne.ai should only return people with at least one contact method."
          },
          "insights": {
            "type": "boolean",
            "description": "Whether Nyne.ai should attach AI-generated match insights."
          },
          "profileScoring": {
            "type": "boolean",
            "description": "Whether Nyne.ai should return a query-fit score."
          },
          "customFilters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Structured Nyne.ai search filters."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination cursor from a previous Nyne.ai response."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Starting position for offset pagination."
          },
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "callbackUrl": {
            "type": "string",
            "description": "The HTTP or HTTPS callback URL Nyne.ai should call when the asynchronous request completes.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "Input for submitting a Nyne.ai person search.",
        "anyOf": [
          {
            "required": [
              "query"
            ]
          },
          {
            "required": [
              "customFilters"
            ]
          },
          {
            "required": [
              "cursor"
            ]
          },
          {
            "required": [
              "requestId"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The Nyne.ai asynchronous request identifier."
          },
          "status": {
            "type": "string",
            "description": "The Nyne.ai request status."
          },
          "completed": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Nyne.ai marked the request complete."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Nyne.ai."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Nyne.ai asynchronous submit response."
      },
      "followUpActions": [
        "nyne_ai.get_person_search"
      ],
      "asyncLifecycle": {
        "startActionId": "nyne_ai.submit_person_search",
        "statusActionId": "nyne_ai.get_person_search"
      }
    }
  ]
}
