Ampersand · JSON Structure

Ampersand Api Association Definition Structure

Relationship information for a field to another object

Type: object Properties: 8 Required: 2
Developer ToolsIntegrationsPlatformSaaSOAuthData SyncWebhooks

AssociationDefinition is a JSON Structure definition published by Ampersand, describing 8 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

associationType targetObject targetField cardinality onDelete required reverseLookupFieldName labels

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ampersand/refs/heads/main/json-structure/ampersand-api-association-definition-structure.json",
  "name": "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"
  ]
}