Ampersand · Schema

AssociationDefinition

Relationship information for a field to another object

Developer ToolsIntegrationsPlatformSaaSOAuthData SyncWebhooks

Properties

Name Type Description
associationType string High-level association variety (e.g., 'foreignKey', 'lookup', 'ref')
targetObject string Name of the referenced/parent object
targetField string Name of the referenced field on the target object
cardinality string Association cardinality from the referencing field's perspective
onDelete string Behavior upon foreign object deletion
required boolean If true, a referenced record must exist
reverseLookupFieldName string Optional inverse relationship/property name exposed on the target object
labels object
View JSON Schema on GitHub

JSON Schema

ampersand-api-association-definition-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ampersand/refs/heads/main/json-schema/ampersand-api-association-definition-schema.json",
  "title": "AssociationDefinition",
  "description": "Relationship information for a field to another object",
  "type": "object",
  "properties": {
    "associationType": {
      "type": "string",
      "description": "High-level association variety (e.g., 'foreignKey', 'lookup', 'ref')",
      "example": "foreignKey"
    },
    "targetObject": {
      "type": "string",
      "description": "Name of the referenced/parent object",
      "example": "Account"
    },
    "targetField": {
      "type": "string",
      "description": "Name of the referenced field on the target object"
    },
    "cardinality": {
      "type": "string",
      "description": "Association cardinality from the referencing field's perspective",
      "example": "many-to-one"
    },
    "onDelete": {
      "type": "string",
      "description": "Behavior upon foreign object deletion",
      "example": "setNull"
    },
    "required": {
      "type": "boolean",
      "description": "If true, a referenced record must exist"
    },
    "reverseLookupFieldName": {
      "type": "string",
      "description": "Optional inverse relationship/property name exposed on the target object"
    },
    "labels": {
      "$ref": "#/components/schemas/AssociationLabels"
    }
  },
  "required": [
    "associationType",
    "targetObject"
  ]
}