{
  "openapi": "3.1.0",
  "info": {
    "title": "Voyant Operator API",
    "version": "0.0.0",
    "description": "Generated from the composed operator app. Do not edit by hand."
  },
  "servers": [
    {
      "url": "/",
      "description": "This deployment (same origin)"
    }
  ],
  "components": {
    "schemas": {
      "CatalogSearchFilter": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["eq"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            },
            "required": ["kind", "field", "value"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["in"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "values": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              }
            },
            "required": ["kind", "field", "values"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["range"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "gte": {
                "type": "number"
              },
              "lte": {
                "type": "number"
              }
            },
            "required": ["kind", "field"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["and"]
              },
              "clauses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogSearchFilter"
                }
              }
            },
            "required": ["kind", "clauses"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["or"]
              },
              "clauses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogSearchFilter"
                }
              }
            },
            "required": ["kind", "clauses"]
          }
        ]
      }
    },
    "parameters": {}
  },
  "paths": {
    "/v1/admin/identity/contact-points": {
      "get": {
        "tags": ["Identity"],
        "summary": "List contact points",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "required": false,
            "name": "entityType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "required": false,
            "name": "entityId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "email",
                "phone",
                "mobile",
                "whatsapp",
                "website",
                "sms",
                "fax",
                "social",
                "other"
              ]
            },
            "required": false,
            "name": "kind",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "isPrimary",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated contact points",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "email",
                              "phone",
                              "mobile",
                              "whatsapp",
                              "website",
                              "sms",
                              "fax",
                              "social",
                              "other"
                            ]
                          },
                          "label": {
                            "type": ["string", "null"]
                          },
                          "value": {
                            "type": "string"
                          },
                          "normalizedValue": {
                            "type": ["string", "null"]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "entityType",
                          "entityId",
                          "kind",
                          "label",
                          "value",
                          "normalizedValue",
                          "isPrimary",
                          "notes",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityContactPoints",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "post": {
        "tags": ["Identity"],
        "summary": "Create a contact point",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entityType": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "entityId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "email",
                      "phone",
                      "mobile",
                      "whatsapp",
                      "website",
                      "sms",
                      "fax",
                      "social",
                      "other"
                    ]
                  },
                  "label": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  },
                  "normalizedValue": {
                    "type": ["string", "null"],
                    "maxLength": 500
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["entityType", "entityId", "kind", "value"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created contact point",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "email",
                            "phone",
                            "mobile",
                            "whatsapp",
                            "website",
                            "sms",
                            "fax",
                            "social",
                            "other"
                          ]
                        },
                        "label": {
                          "type": ["string", "null"]
                        },
                        "value": {
                          "type": "string"
                        },
                        "normalizedValue": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "kind",
                        "label",
                        "value",
                        "normalizedValue",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminIdentityContactPoints",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/contact-points/{id}": {
      "get": {
        "tags": ["Identity"],
        "summary": "Get a contact point by id",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A contact point by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "email",
                            "phone",
                            "mobile",
                            "whatsapp",
                            "website",
                            "sms",
                            "fax",
                            "social",
                            "other"
                          ]
                        },
                        "label": {
                          "type": ["string", "null"]
                        },
                        "value": {
                          "type": "string"
                        },
                        "normalizedValue": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "kind",
                        "label",
                        "value",
                        "normalizedValue",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Contact point not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityContactPointsById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "patch": {
        "tags": ["Identity"],
        "summary": "Update a contact point",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entityType": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "entityId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "email",
                      "phone",
                      "mobile",
                      "whatsapp",
                      "website",
                      "sms",
                      "fax",
                      "social",
                      "other"
                    ]
                  },
                  "label": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  },
                  "normalizedValue": {
                    "type": ["string", "null"],
                    "maxLength": 500
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated contact point",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "email",
                            "phone",
                            "mobile",
                            "whatsapp",
                            "website",
                            "sms",
                            "fax",
                            "social",
                            "other"
                          ]
                        },
                        "label": {
                          "type": ["string", "null"]
                        },
                        "value": {
                          "type": "string"
                        },
                        "normalizedValue": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "kind",
                        "label",
                        "value",
                        "normalizedValue",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Contact point not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminIdentityContactPointsById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "delete": {
        "tags": ["Identity"],
        "summary": "Delete a contact point",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Contact point deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "enum": [true]
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Contact point not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminIdentityContactPointsById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/addresses": {
      "get": {
        "tags": ["Identity"],
        "summary": "List addresses",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "required": false,
            "name": "entityType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "required": false,
            "name": "entityId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "primary",
                "billing",
                "shipping",
                "mailing",
                "meeting",
                "service",
                "legal",
                "other"
              ]
            },
            "required": false,
            "name": "label",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "isPrimary",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated addresses",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string",
                            "enum": [
                              "primary",
                              "billing",
                              "shipping",
                              "mailing",
                              "meeting",
                              "service",
                              "legal",
                              "other"
                            ]
                          },
                          "fullText": {
                            "type": ["string", "null"]
                          },
                          "line1": {
                            "type": ["string", "null"]
                          },
                          "line2": {
                            "type": ["string", "null"]
                          },
                          "city": {
                            "type": ["string", "null"]
                          },
                          "region": {
                            "type": ["string", "null"]
                          },
                          "postalCode": {
                            "type": ["string", "null"]
                          },
                          "country": {
                            "type": ["string", "null"]
                          },
                          "latitude": {
                            "type": ["number", "null"]
                          },
                          "longitude": {
                            "type": ["number", "null"]
                          },
                          "timezone": {
                            "type": ["string", "null"]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "entityType",
                          "entityId",
                          "label",
                          "fullText",
                          "line1",
                          "line2",
                          "city",
                          "region",
                          "postalCode",
                          "country",
                          "latitude",
                          "longitude",
                          "timezone",
                          "isPrimary",
                          "notes",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityAddresses",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "post": {
        "tags": ["Identity"],
        "summary": "Create an address",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entityType": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "entityId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "label": {
                    "type": "string",
                    "enum": [
                      "primary",
                      "billing",
                      "shipping",
                      "mailing",
                      "meeting",
                      "service",
                      "legal",
                      "other"
                    ],
                    "default": "other"
                  },
                  "fullText": {
                    "type": ["string", "null"]
                  },
                  "line1": {
                    "type": ["string", "null"]
                  },
                  "line2": {
                    "type": ["string", "null"]
                  },
                  "city": {
                    "type": ["string", "null"]
                  },
                  "region": {
                    "type": ["string", "null"]
                  },
                  "postalCode": {
                    "type": ["string", "null"]
                  },
                  "country": {
                    "type": ["string", "null"]
                  },
                  "latitude": {
                    "type": ["number", "null"]
                  },
                  "longitude": {
                    "type": ["number", "null"]
                  },
                  "timezone": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["entityType", "entityId"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string",
                          "enum": [
                            "primary",
                            "billing",
                            "shipping",
                            "mailing",
                            "meeting",
                            "service",
                            "legal",
                            "other"
                          ]
                        },
                        "fullText": {
                          "type": ["string", "null"]
                        },
                        "line1": {
                          "type": ["string", "null"]
                        },
                        "line2": {
                          "type": ["string", "null"]
                        },
                        "city": {
                          "type": ["string", "null"]
                        },
                        "region": {
                          "type": ["string", "null"]
                        },
                        "postalCode": {
                          "type": ["string", "null"]
                        },
                        "country": {
                          "type": ["string", "null"]
                        },
                        "latitude": {
                          "type": ["number", "null"]
                        },
                        "longitude": {
                          "type": ["number", "null"]
                        },
                        "timezone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "label",
                        "fullText",
                        "line1",
                        "line2",
                        "city",
                        "region",
                        "postalCode",
                        "country",
                        "latitude",
                        "longitude",
                        "timezone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminIdentityAddresses",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/addresses/{id}": {
      "get": {
        "tags": ["Identity"],
        "summary": "Get an address by id",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "An address by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string",
                          "enum": [
                            "primary",
                            "billing",
                            "shipping",
                            "mailing",
                            "meeting",
                            "service",
                            "legal",
                            "other"
                          ]
                        },
                        "fullText": {
                          "type": ["string", "null"]
                        },
                        "line1": {
                          "type": ["string", "null"]
                        },
                        "line2": {
                          "type": ["string", "null"]
                        },
                        "city": {
                          "type": ["string", "null"]
                        },
                        "region": {
                          "type": ["string", "null"]
                        },
                        "postalCode": {
                          "type": ["string", "null"]
                        },
                        "country": {
                          "type": ["string", "null"]
                        },
                        "latitude": {
                          "type": ["number", "null"]
                        },
                        "longitude": {
                          "type": ["number", "null"]
                        },
                        "timezone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "label",
                        "fullText",
                        "line1",
                        "line2",
                        "city",
                        "region",
                        "postalCode",
                        "country",
                        "latitude",
                        "longitude",
                        "timezone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Address not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityAddressesById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "patch": {
        "tags": ["Identity"],
        "summary": "Update an address",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entityType": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "entityId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "label": {
                    "type": "string",
                    "enum": [
                      "primary",
                      "billing",
                      "shipping",
                      "mailing",
                      "meeting",
                      "service",
                      "legal",
                      "other"
                    ],
                    "default": "other"
                  },
                  "fullText": {
                    "type": ["string", "null"]
                  },
                  "line1": {
                    "type": ["string", "null"]
                  },
                  "line2": {
                    "type": ["string", "null"]
                  },
                  "city": {
                    "type": ["string", "null"]
                  },
                  "region": {
                    "type": ["string", "null"]
                  },
                  "postalCode": {
                    "type": ["string", "null"]
                  },
                  "country": {
                    "type": ["string", "null"]
                  },
                  "latitude": {
                    "type": ["number", "null"]
                  },
                  "longitude": {
                    "type": ["number", "null"]
                  },
                  "timezone": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string",
                          "enum": [
                            "primary",
                            "billing",
                            "shipping",
                            "mailing",
                            "meeting",
                            "service",
                            "legal",
                            "other"
                          ]
                        },
                        "fullText": {
                          "type": ["string", "null"]
                        },
                        "line1": {
                          "type": ["string", "null"]
                        },
                        "line2": {
                          "type": ["string", "null"]
                        },
                        "city": {
                          "type": ["string", "null"]
                        },
                        "region": {
                          "type": ["string", "null"]
                        },
                        "postalCode": {
                          "type": ["string", "null"]
                        },
                        "country": {
                          "type": ["string", "null"]
                        },
                        "latitude": {
                          "type": ["number", "null"]
                        },
                        "longitude": {
                          "type": ["number", "null"]
                        },
                        "timezone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "label",
                        "fullText",
                        "line1",
                        "line2",
                        "city",
                        "region",
                        "postalCode",
                        "country",
                        "latitude",
                        "longitude",
                        "timezone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Address not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminIdentityAddressesById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "delete": {
        "tags": ["Identity"],
        "summary": "Delete an address",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Address deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "enum": [true]
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Address not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminIdentityAddressesById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/named-contacts": {
      "get": {
        "tags": ["Identity"],
        "summary": "List named contacts",
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "required": false,
            "name": "entityType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "required": false,
            "name": "entityId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "general",
                "primary",
                "reservations",
                "operations",
                "front_desk",
                "sales",
                "emergency",
                "accounting",
                "legal",
                "other"
              ]
            },
            "required": false,
            "name": "role",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["0", "1", "true", "false"]
            },
            "required": false,
            "name": "isPrimary",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated named contacts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "type": "string"
                          },
                          "role": {
                            "type": "string",
                            "enum": [
                              "general",
                              "primary",
                              "reservations",
                              "operations",
                              "front_desk",
                              "sales",
                              "emergency",
                              "accounting",
                              "legal",
                              "other"
                            ]
                          },
                          "name": {
                            "type": "string"
                          },
                          "title": {
                            "type": ["string", "null"]
                          },
                          "email": {
                            "type": ["string", "null"]
                          },
                          "phone": {
                            "type": ["string", "null"]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "entityType",
                          "entityId",
                          "role",
                          "name",
                          "title",
                          "email",
                          "phone",
                          "isPrimary",
                          "notes",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityNamedContacts",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "post": {
        "tags": ["Identity"],
        "summary": "Create a named contact",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entityType": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "entityId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "general",
                      "primary",
                      "reservations",
                      "operations",
                      "front_desk",
                      "sales",
                      "emergency",
                      "accounting",
                      "legal",
                      "other"
                    ],
                    "default": "general"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "title": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "email": {
                    "type": ["string", "null"],
                    "format": "email"
                  },
                  "phone": {
                    "type": ["string", "null"],
                    "maxLength": 50
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["entityType", "entityId", "name"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created named contact",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "general",
                            "primary",
                            "reservations",
                            "operations",
                            "front_desk",
                            "sales",
                            "emergency",
                            "accounting",
                            "legal",
                            "other"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "email": {
                          "type": ["string", "null"]
                        },
                        "phone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "role",
                        "name",
                        "title",
                        "email",
                        "phone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminIdentityNamedContacts",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/named-contacts/{id}": {
      "get": {
        "tags": ["Identity"],
        "summary": "Get a named contact by id",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A named contact by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "general",
                            "primary",
                            "reservations",
                            "operations",
                            "front_desk",
                            "sales",
                            "emergency",
                            "accounting",
                            "legal",
                            "other"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "email": {
                          "type": ["string", "null"]
                        },
                        "phone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "role",
                        "name",
                        "title",
                        "email",
                        "phone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Named contact not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityNamedContactsById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "patch": {
        "tags": ["Identity"],
        "summary": "Update a named contact",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entityType": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "entityId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "general",
                      "primary",
                      "reservations",
                      "operations",
                      "front_desk",
                      "sales",
                      "emergency",
                      "accounting",
                      "legal",
                      "other"
                    ],
                    "default": "general"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "title": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "email": {
                    "type": ["string", "null"],
                    "format": "email"
                  },
                  "phone": {
                    "type": ["string", "null"],
                    "maxLength": 50
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated named contact",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "general",
                            "primary",
                            "reservations",
                            "operations",
                            "front_desk",
                            "sales",
                            "emergency",
                            "accounting",
                            "legal",
                            "other"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "email": {
                          "type": ["string", "null"]
                        },
                        "phone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "role",
                        "name",
                        "title",
                        "email",
                        "phone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Named contact not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminIdentityNamedContactsById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "delete": {
        "tags": ["Identity"],
        "summary": "Delete a named contact",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Named contact deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "enum": [true]
                    }
                  },
                  "required": ["success"]
                }
              }
            }
          },
          "404": {
            "description": "Named contact not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminIdentityNamedContactsById",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/entities/{entityType}/{entityId}/contact-points": {
      "get": {
        "tags": ["Identity"],
        "summary": "List contact points for an entity",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityType",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Contact points for an entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "email",
                              "phone",
                              "mobile",
                              "whatsapp",
                              "website",
                              "sms",
                              "fax",
                              "social",
                              "other"
                            ]
                          },
                          "label": {
                            "type": ["string", "null"]
                          },
                          "value": {
                            "type": "string"
                          },
                          "normalizedValue": {
                            "type": ["string", "null"]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "entityType",
                          "entityId",
                          "kind",
                          "label",
                          "value",
                          "normalizedValue",
                          "isPrimary",
                          "notes",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityEntitiesByEntityTypeByEntityIdContactPoints",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "post": {
        "tags": ["Identity"],
        "summary": "Create a contact point for an entity",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityType",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "email",
                      "phone",
                      "mobile",
                      "whatsapp",
                      "website",
                      "sms",
                      "fax",
                      "social",
                      "other"
                    ]
                  },
                  "label": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  },
                  "normalizedValue": {
                    "type": ["string", "null"],
                    "maxLength": 500
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["kind", "value"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created contact point",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "email",
                            "phone",
                            "mobile",
                            "whatsapp",
                            "website",
                            "sms",
                            "fax",
                            "social",
                            "other"
                          ]
                        },
                        "label": {
                          "type": ["string", "null"]
                        },
                        "value": {
                          "type": "string"
                        },
                        "normalizedValue": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "kind",
                        "label",
                        "value",
                        "normalizedValue",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminIdentityEntitiesByEntityTypeByEntityIdContactPoints",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/entities/{entityType}/{entityId}/addresses": {
      "get": {
        "tags": ["Identity"],
        "summary": "List addresses for an entity",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityType",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Addresses for an entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string",
                            "enum": [
                              "primary",
                              "billing",
                              "shipping",
                              "mailing",
                              "meeting",
                              "service",
                              "legal",
                              "other"
                            ]
                          },
                          "fullText": {
                            "type": ["string", "null"]
                          },
                          "line1": {
                            "type": ["string", "null"]
                          },
                          "line2": {
                            "type": ["string", "null"]
                          },
                          "city": {
                            "type": ["string", "null"]
                          },
                          "region": {
                            "type": ["string", "null"]
                          },
                          "postalCode": {
                            "type": ["string", "null"]
                          },
                          "country": {
                            "type": ["string", "null"]
                          },
                          "latitude": {
                            "type": ["number", "null"]
                          },
                          "longitude": {
                            "type": ["number", "null"]
                          },
                          "timezone": {
                            "type": ["string", "null"]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "entityType",
                          "entityId",
                          "label",
                          "fullText",
                          "line1",
                          "line2",
                          "city",
                          "region",
                          "postalCode",
                          "country",
                          "latitude",
                          "longitude",
                          "timezone",
                          "isPrimary",
                          "notes",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityEntitiesByEntityTypeByEntityIdAddresses",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "post": {
        "tags": ["Identity"],
        "summary": "Create an address for an entity",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityType",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "enum": [
                      "primary",
                      "billing",
                      "shipping",
                      "mailing",
                      "meeting",
                      "service",
                      "legal",
                      "other"
                    ],
                    "default": "other"
                  },
                  "fullText": {
                    "type": ["string", "null"]
                  },
                  "line1": {
                    "type": ["string", "null"]
                  },
                  "line2": {
                    "type": ["string", "null"]
                  },
                  "city": {
                    "type": ["string", "null"]
                  },
                  "region": {
                    "type": ["string", "null"]
                  },
                  "postalCode": {
                    "type": ["string", "null"]
                  },
                  "country": {
                    "type": ["string", "null"]
                  },
                  "latitude": {
                    "type": ["number", "null"]
                  },
                  "longitude": {
                    "type": ["number", "null"]
                  },
                  "timezone": {
                    "type": ["string", "null"],
                    "maxLength": 100
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created address",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string",
                          "enum": [
                            "primary",
                            "billing",
                            "shipping",
                            "mailing",
                            "meeting",
                            "service",
                            "legal",
                            "other"
                          ]
                        },
                        "fullText": {
                          "type": ["string", "null"]
                        },
                        "line1": {
                          "type": ["string", "null"]
                        },
                        "line2": {
                          "type": ["string", "null"]
                        },
                        "city": {
                          "type": ["string", "null"]
                        },
                        "region": {
                          "type": ["string", "null"]
                        },
                        "postalCode": {
                          "type": ["string", "null"]
                        },
                        "country": {
                          "type": ["string", "null"]
                        },
                        "latitude": {
                          "type": ["number", "null"]
                        },
                        "longitude": {
                          "type": ["number", "null"]
                        },
                        "timezone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "label",
                        "fullText",
                        "line1",
                        "line2",
                        "city",
                        "region",
                        "postalCode",
                        "country",
                        "latitude",
                        "longitude",
                        "timezone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminIdentityEntitiesByEntityTypeByEntityIdAddresses",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    },
    "/v1/admin/identity/entities/{entityType}/{entityId}/named-contacts": {
      "get": {
        "tags": ["Identity"],
        "summary": "List named contacts for an entity",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityType",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Named contacts for an entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "type": "string"
                          },
                          "role": {
                            "type": "string",
                            "enum": [
                              "general",
                              "primary",
                              "reservations",
                              "operations",
                              "front_desk",
                              "sales",
                              "emergency",
                              "accounting",
                              "legal",
                              "other"
                            ]
                          },
                          "name": {
                            "type": "string"
                          },
                          "title": {
                            "type": ["string", "null"]
                          },
                          "email": {
                            "type": ["string", "null"]
                          },
                          "phone": {
                            "type": ["string", "null"]
                          },
                          "isPrimary": {
                            "type": "boolean"
                          },
                          "notes": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "entityType",
                          "entityId",
                          "role",
                          "name",
                          "title",
                          "email",
                          "phone",
                          "isPrimary",
                          "notes",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        },
        "operationId": "getAdminIdentityEntitiesByEntityTypeByEntityIdNamedContacts",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      },
      "post": {
        "tags": ["Identity"],
        "summary": "Create a named contact for an entity",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityType",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "entityId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "enum": [
                      "general",
                      "primary",
                      "reservations",
                      "operations",
                      "front_desk",
                      "sales",
                      "emergency",
                      "accounting",
                      "legal",
                      "other"
                    ],
                    "default": "general"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "title": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "email": {
                    "type": ["string", "null"],
                    "format": "email"
                  },
                  "phone": {
                    "type": ["string", "null"],
                    "maxLength": 50
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "default": false
                  },
                  "notes": {
                    "type": ["string", "null"]
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["name"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created named contact",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "entityType": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "general",
                            "primary",
                            "reservations",
                            "operations",
                            "front_desk",
                            "sales",
                            "emergency",
                            "accounting",
                            "legal",
                            "other"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "title": {
                          "type": ["string", "null"]
                        },
                        "email": {
                          "type": ["string", "null"]
                        },
                        "phone": {
                          "type": ["string", "null"]
                        },
                        "isPrimary": {
                          "type": "boolean"
                        },
                        "notes": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "entityType",
                        "entityId",
                        "role",
                        "name",
                        "title",
                        "email",
                        "phone",
                        "isPrimary",
                        "notes",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminIdentityEntitiesByEntityTypeByEntityIdNamedContacts",
        "x-voyant-module": "identity",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/identity#api.admin",
        "x-voyant-unit-id": "@voyant-travel/identity",
        "x-voyant-package-name": "@voyant-travel/identity"
      }
    }
  },
  "webhooks": {}
}
