Act-On · Schema

CreateSchemaRequestDTO

The schema creation details

CompanyMarketingMarketing AutomationEmail MarketingEmailMarketing TechnologyLead GenerationCampaign ManagementCustomer DataWebhook

Properties

Name Type Description
name string Name of the custom object
description string Description of the custom object
dataType string Data type of the custom object
fields array List of fields in the custom object
requiredFields array List of required fields in the custom object
uniqueFieldSet array List of unique fields in the custom object
eventTimestampField string Field name that contains the event timestamp
primaryEmailField string Field name that contains the primary email
externalIdField string Field name that contains the external id
objectTypeField string Field name that contains the object type
relationships array List of relationships of the custom object
View JSON Schema on GitHub

JSON Schema

act-on-create-schema-request-dto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/act-on/main/json-schema/act-on-create-schema-request-dto-schema.json",
  "title": "CreateSchemaRequestDTO",
  "description": "The schema creation details",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/act-on-custom-data-schema-api-api-openapi.yml#/components/schemas/CreateSchemaRequestDTO",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the custom object"
    },
    "description": {
      "type": "string",
      "description": "Description of the custom object"
    },
    "dataType": {
      "type": "string",
      "description": "Data type of the custom object"
    },
    "fields": {
      "type": "array",
      "description": "List of fields in the custom object",
      "items": {
        "$ref": "#/$defs/FieldDefinitionDTO"
      }
    },
    "requiredFields": {
      "type": "array",
      "description": "List of required fields in the custom object",
      "items": {
        "type": "string"
      }
    },
    "uniqueFieldSet": {
      "type": "array",
      "description": "List of unique fields in the custom object",
      "items": {
        "type": "string"
      }
    },
    "eventTimestampField": {
      "type": "string",
      "description": "Field name that contains the event timestamp"
    },
    "primaryEmailField": {
      "type": "string",
      "description": "Field name that contains the primary email"
    },
    "externalIdField": {
      "type": "string",
      "description": "Field name that contains the external id"
    },
    "objectTypeField": {
      "type": "string",
      "description": "Field name that contains the object type"
    },
    "relationships": {
      "type": "array",
      "description": "List of relationships of the custom object",
      "items": {
        "$ref": "#/$defs/RelationshipDefinitionDTO"
      }
    }
  },
  "$defs": {
    "FieldDefinitionDTO": {
      "type": "object",
      "description": "A custom object field definition",
      "properties": {
        "id": {
          "type": "string",
          "description": "ID of the field"
        },
        "name": {
          "type": "string",
          "description": "Name of the field"
        },
        "type": {
          "type": "string",
          "description": "Data type of the field"
        },
        "description": {
          "type": "string",
          "description": "Description of the field"
        },
        "displayName": {
          "type": "string",
          "description": "Display name of the field"
        },
        "properties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Field specific set of properties. Supported properties vary by field type:\nJSON: 'format' (json|base64)\nENUM: 'enumName' (string), 'enumValues' (string), 'enumValuesCaseSensitive' (true|false)\nSTRING_ARRAY: 'CSVSeparator' (comma, semicolon, pipe, or tab)\nDATE: 'format' (date format pattern), 'formatHint' (hint string)\nDATETIME: 'format' (datetime format pattern), 'formatHint' (hint string), 'timezone' (timezone identifier)\nCURRENCY: 'currencyCode' (ISO currency code like USD, EUR, etc.)"
        },
        "extraData": {
          "type": "string",
          "description": "Extra data"
        }
      }
    },
    "RelationshipDefinitionDTO": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "fieldName": {
          "type": "string"
        },
        "fieldValue": {
          "type": "string"
        },
        "otherObject": {
          "type": "string"
        },
        "otherFieldName": {
          "type": "string"
        },
        "otherFieldValue": {
          "type": "string"
        },
        "properties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    }
  }
}

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/act-on-create-schema-request-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.