SoftSync AI · Schema

EnrichInput

CompanyCRMArtificial IntelligenceSoftware-as-a-ServiceBusiness Software

Properties

Name Type Description
domain string
email string
linkedinUrl string
orgNo string
name string
companyName string
known object Facts the caller already has (e.g. scraped from the open LinkedIn page). Used instead of paying for the same lookup.
people string
emails boolean
emailsFor array With emails=true on a company: only look up the emails of these key people (their `id` from `people`). Without it, the CEO and up to two founders.
phones boolean
phonesFor array With phones=true on a company: only look up the phones of these key people (their `id` from `people`). Without it, every key person with a LinkedIn link.
profiles boolean
profilesFor array With profiles=true: only read the profiles of these key people (their `id` from `people`). Without it, every key person.
save string
savePeople object With save=fill or overwrite: also save key people as contacts linked to the company — "all", or the `id`s of the people to save. Existing contacts are matched first (email, LinkedIn, then name within
groups object Where new records go when saving: the group for a new company and for new contacts. Without it, new contacts join a group of their company, else the first group that shows the table and the user can a
recordId string
overwriteFields array save=overwrite only: the fields (from `diff`) the user agreed to replace, e.g. ["company.description","contact.job_title"]. Without it, overwrite returns the diff and writes nothing.
lookupId string Re-use a lookup from the last hour (e.g. save a preview) without new paid calls.
locale string The caller's language, e.g. no-NO. Saving writes the company's extra facts (funding rounds, acquisitions, products…) as a note in this language. Default English.
View JSON Schema on GitHub

JSON Schema

softsync-ai-enrich-input-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/softsync-ai/json-schema/softsync-ai-enrich-input-schema.json",
  "title": "EnrichInput",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/softsync-ai-openapi.json#/components/schemas/EnrichInput",
  "type": "object",
  "properties": {
    "domain": {
      "x-ui-label": "Company website",
      "x-ui-help": "Website or domain of the company, e.g. moelven.no or https://resend.com.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 1,
      "type": "string",
      "minLength": 1
    },
    "email": {
      "x-ui-label": "Email",
      "x-ui-help": "A work email finds the person and their company. A personal email (gmail, online.no, …) also needs a website, org number or LinkedIn URL.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 2,
      "type": "string",
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "linkedinUrl": {
      "x-ui-label": "LinkedIn URL",
      "x-ui-help": "A person (/in/…) or company (/company/…) LinkedIn page.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 3,
      "type": "string",
      "format": "uri"
    },
    "orgNo": {
      "x-ui-label": "Organisation number",
      "x-ui-help": "Norwegian organisation number (9 digits).",
      "x-ui-fill-mode": "both",
      "x-ui-order": 4,
      "type": "string",
      "minLength": 1
    },
    "name": {
      "x-ui-label": "Person name",
      "x-ui-help": "Helps find the right person when the email has no name.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 5,
      "type": "string",
      "minLength": 1
    },
    "companyName": {
      "x-ui-label": "Company name",
      "x-ui-fill-mode": "both",
      "x-ui-order": 6,
      "type": "string",
      "minLength": 1
    },
    "known": {
      "description": "Facts the caller already has (e.g. scraped from the open LinkedIn page). Used instead of paying for the same lookup.",
      "type": "object",
      "properties": {
        "person": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "title": {
              "type": "string"
            },
            "headline": {
              "type": "string"
            },
            "photo": {
              "type": "string"
            },
            "location": {
              "type": "string"
            },
            "currentCompany": {
              "type": "string"
            },
            "currentCompanyHandle": {
              "type": "string"
            }
          }
        },
        "company": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "website": {
              "type": "string"
            },
            "linkedinHandle": {
              "type": "string"
            }
          }
        }
      }
    },
    "people": {
      "default": "key",
      "x-ui-label": "Key people",
      "x-ui-help": "key: also find the CEO, founders and top managers. none: company and person only.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 7,
      "type": "string",
      "enum": [
        "none",
        "key"
      ]
    },
    "emails": {
      "default": false,
      "x-ui-label": "Find emails",
      "x-ui-help": "Also look up work email addresses. Each email found uses a credit.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 8,
      "type": "boolean"
    },
    "emailsFor": {
      "description": "With emails=true on a company: only look up the emails of these key people (their `id` from `people`). Without it, the CEO and up to two founders.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phones": {
      "default": false,
      "x-ui-label": "Find phone numbers",
      "x-ui-help": "Also look up mobile or direct phone numbers by the person's LinkedIn link (mostly US numbers). Each phone found uses five credits.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 8.2,
      "type": "boolean"
    },
    "phonesFor": {
      "description": "With phones=true on a company: only look up the phones of these key people (their `id` from `people`). Without it, every key person with a LinkedIn link.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "profiles": {
      "default": false,
      "x-ui-label": "Full profiles",
      "x-ui-help": "With key people: also read each person's full profile (headline, current title, photo, location, schooling). Each profile uses two credits.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 8.5,
      "type": "boolean"
    },
    "profilesFor": {
      "description": "With profiles=true: only read the profiles of these key people (their `id` from `people`). Without it, every key person.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "save": {
      "default": "none",
      "x-ui-label": "Save to CRM",
      "x-ui-help": "none: preview only. fill: fill empty fields (creates the record when missing). refresh: fill, and also update values an earlier lookup wrote that have changed since; values someone typed are kept. overwrite: replace the fields listed in overwriteFields.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 9,
      "type": "string",
      "enum": [
        "none",
        "fill",
        "refresh",
        "overwrite"
      ]
    },
    "savePeople": {
      "description": "With save=fill or overwrite: also save key people as contacts linked to the company — \"all\", or the `id`s of the people to save. Existing contacts are matched first (email, LinkedIn, then name within the company).",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "all"
          ]
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "groups": {
      "description": "Where new records go when saving: the group for a new company and for new contacts. Without it, new contacts join a group of their company, else the first group that shows the table and the user can add to.",
      "type": "object",
      "properties": {
        "company": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "contact": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      }
    },
    "recordId": {
      "x-ui-label": "Record",
      "x-ui-help": "Company or contact record to update instead of matching one.",
      "x-ui-fill-mode": "both",
      "x-ui-order": 10,
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "overwriteFields": {
      "description": "save=overwrite only: the fields (from `diff`) the user agreed to replace, e.g. [\"company.description\",\"contact.job_title\"]. Without it, overwrite returns the diff and writes nothing.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "lookupId": {
      "description": "Re-use a lookup from the last hour (e.g. save a preview) without new paid calls.",
      "type": "string"
    },
    "locale": {
      "description": "The caller's language, e.g. no-NO. Saving writes the company's extra facts (funding rounds, acquisitions, products…) as a note in this language. Default English.",
      "type": "string",
      "maxLength": 35
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/softsync-ai-enrich-input"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.