{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Wink API",
    "description" : "Welcome to the Wink API — a programmer-friendly way to manage, sell and book travel\ninventory on the Wink platform. See the **Overview** page (under **API**) for the full\nintroduction, intended audience, testing, and versioning.\n# Social API\nEndpoints for managing automated social-media publishing: connect accounts, configure\nposting schedules, and manage post queues. (Subscription required.)\n\n",
    "contact" : {
      "name" : "Contact",
      "email" : "hi@wink.travel"
    },
    "version" : "0.0.0-TEST",
    "x-logo" : {
      "backgroundColor" : "#FFFFFF",
      "altText" : "wink",
      "url" : "https://res.cloudinary.com/traveliko/image/upload/c_scale,h_129/v1653285543/wink/logo_text_white.svg"
    }
  },
  "externalDocs" : {
    "description" : "Documentation",
    "url" : "https://wink.travel/getting-started/how-to-use/"
  },
  "servers" : [ {
    "url" : "https://api.wink.travel",
    "description" : "Endpoint"
  } ],
  "tags" : [ {
    "name" : "Connections",
    "description" : "Connect and disconnect social platform accounts. (Subscription required)",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#social/tag/connections"
    }
  }, {
    "name" : "Posts",
    "description" : "Schedule and manage social media posts. (Subscription required)",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#social/tag/posts"
    }
  }, {
    "name" : "Settings",
    "description" : "Configure managed social settings for the account. (Subscription required)",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#social/tag/settings"
    }
  } ],
  "paths" : {
    "/api/managing-entity/{managingEntityIdentifier}/social/settings" : {
      "get" : {
        "tags" : [ "Settings" ],
        "summary" : "Show",
        "description" : "Returns the managed-social settings configured for the given managing entity.",
        "operationId" : "show-managed-social-settings",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Fetch managed social settings for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Managed social settings for the given managing entity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagedSocialSettingsLightweight_ManagingEntity"
                },
                "example" : {
                  "autoApprove" : true,
                  "connections" : [ {
                    "platform" : "FACEBOOK",
                    "status" : "ACTIVE",
                    "subAccounts" : [ {
                      "id" : "page_token_abc1def2ghi3jkl4mno5pqr6stu7vwx",
                      "name" : "The Siam Residences, Bangkok",
                      "selected" : true
                    } ]
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "creators" : [ {
                    "priority" : 10,
                    "type" : "PROPERTY"
                  } ],
                  "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "notificationEmail" : "notify@hotel-x.com",
                  "notificationName" : "Hotel X",
                  "numberOfPostsPerMonth" : 16,
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "placeId" : "place-1",
                  "postTypes" : [ "TRANSACTIONAL" ],
                  "targets" : [ {
                    "language" : "en",
                    "timezone" : "Asia/Bangkok"
                  } ],
                  "tones" : [ "NEUTRAL" ],
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Settings" ],
        "summary" : "Create",
        "description" : "Creates the initial managed-social settings for the managing entity and returns the persisted configuration.",
        "operationId" : "create-managed-social-settings",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create settings for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Initial managed social settings configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertManagedSocialSettingsRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Newly created managed social settings",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagedSocialSettingsLightweight_ManagingEntity"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Settings" ],
        "summary" : "Update",
        "description" : "Applies partial changes to the managing entity's existing managed-social settings and returns the updated configuration.",
        "operationId" : "update-managed-social-settings",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update settings for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Partial settings updates",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertManagedSocialSettingsRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated managed social settings",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagedSocialSettingsLightweight_ManagingEntity"
                },
                "example" : {
                  "autoApprove" : true,
                  "connections" : [ {
                    "platform" : "FACEBOOK",
                    "status" : "ACTIVE",
                    "subAccounts" : [ {
                      "id" : "page_token_abc1def2ghi3jkl4mno5pqr6stu7vwx",
                      "name" : "The Siam Residences, Bangkok",
                      "selected" : true
                    } ]
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "creators" : [ {
                    "priority" : 10,
                    "type" : "PROPERTY"
                  } ],
                  "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "notificationEmail" : "notify@hotel-x.com",
                  "notificationName" : "Hotel X",
                  "numberOfPostsPerMonth" : 16,
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "placeId" : "place-1",
                  "postTypes" : [ "TRANSACTIONAL" ],
                  "targets" : [ {
                    "language" : "en",
                    "timezone" : "Asia/Bangkok"
                  } ],
                  "tones" : [ "NEUTRAL" ],
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/social/post/{postIdentifier}" : {
      "get" : {
        "tags" : [ "Posts" ],
        "summary" : "Show post",
        "description" : "Returns a single managed social post by its identifier for the account.",
        "operationId" : "load-managed-social-post",
        "parameters" : [ {
          "name" : "postIdentifier",
          "in" : "path",
          "description" : "Fetch post with this ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a"
        }, {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Fetch post for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested managed social post",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagedSocialPostLightweight_ManagingEntity"
                },
                "example" : {
                  "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
                  "descriptions" : [ {
                    "description" : "Experience luxury living in the heart of Bangkok.",
                    "language" : "en",
                    "name" : "Discover The Siam Residences"
                  } ],
                  "hashTags" : [ "#ThailandTravel" ],
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "platform" : "FACEBOOK",
                  "postType" : "TRANSACTIONAL",
                  "scheduledDate" : "2026-03-15T18:30:00Z",
                  "status" : "APPROVED",
                  "timezone" : "Asia/Bangkok",
                  "toneOfVoice" : "NEUTRAL",
                  "type" : "MANUAL",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "userTags" : [ "@luxurytravel" ]
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Posts" ],
        "summary" : "Update post",
        "description" : "Updates an existing managed social post identified by its identifier with the supplied content.",
        "operationId" : "update-managed-social-post",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update post for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "postIdentifier",
          "in" : "path",
          "description" : "Update this specific post",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "requestBody" : {
          "description" : "Updated post content and scheduling details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertManagedSocialPostRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The updated managed social post",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagedSocialPostLightweight_ManagingEntity"
                },
                "example" : {
                  "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
                  "descriptions" : [ {
                    "description" : "Experience luxury living in the heart of Bangkok.",
                    "language" : "en",
                    "name" : "Discover The Siam Residences"
                  } ],
                  "hashTags" : [ "#ThailandTravel" ],
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "platform" : "FACEBOOK",
                  "postType" : "TRANSACTIONAL",
                  "scheduledDate" : "2026-03-15T18:30:00Z",
                  "status" : "APPROVED",
                  "timezone" : "Asia/Bangkok",
                  "toneOfVoice" : "NEUTRAL",
                  "type" : "MANUAL",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "userTags" : [ "@luxurytravel" ]
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/social/post" : {
      "post" : {
        "tags" : [ "Posts" ],
        "summary" : "Create post",
        "description" : "Creates a new managed social post for the account, recording the authenticated user as its author.",
        "operationId" : "create-managed-social-post",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create post for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "New post content and scheduling details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertManagedSocialPostRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "The newly created managed social post",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagedSocialPostLightweight_ManagingEntity"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/social/post/grid" : {
      "post" : {
        "tags" : [ "Posts" ],
        "summary" : "Grid",
        "description" : "Returns a paginated page of scheduled posts for the account driven by the supplied search/filter state.",
        "operationId" : "load-managed-social-post-grid",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Fetch posts for this managing entity ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Search and filter criteria",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SearchManagedPostsRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Paginated list of managed social posts matching the search criteria",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageResponseManagedSocialPostLightweight_ManagingEntity"
                },
                "example" : {
                  "content" : [ {
                    "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
                    "descriptions" : [ {
                      "description" : "Experience luxury living in the heart of Bangkok.",
                      "language" : "en",
                      "name" : "Discover The Siam Residences"
                    } ],
                    "hashTags" : [ "#ThailandTravel" ],
                    "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "platform" : "FACEBOOK",
                    "postType" : "TRANSACTIONAL",
                    "scheduledDate" : "2026-03-15T18:30:00Z",
                    "status" : "APPROVED",
                    "timezone" : "Asia/Bangkok",
                    "toneOfVoice" : "NEUTRAL",
                    "type" : "MANUAL",
                    "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "userTags" : [ "@luxurytravel" ]
                  } ],
                  "first" : true,
                  "last" : false,
                  "number" : 0,
                  "numberOfElements" : 20,
                  "size" : 20,
                  "totalElements" : 1234,
                  "totalPages" : 62
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/social/post/calendar" : {
      "post" : {
        "tags" : [ "Posts" ],
        "summary" : "Calendar",
        "description" : "Returns the account's posts falling within the requested date range for calendar display.",
        "operationId" : "load-managed-social-post-calendar",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Load calendar for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Date range for calendar view",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ManagedPostsCalendarRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of managed social posts scheduled within the requested date range",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ManagedSocialPostLightweight_ManagingEntity"
                  }
                },
                "example" : [ {
                  "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
                  "descriptions" : [ {
                    "description" : "Experience luxury living in the heart of Bangkok.",
                    "language" : "en",
                    "name" : "Discover The Siam Residences"
                  } ],
                  "hashTags" : [ "#ThailandTravel" ],
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "platform" : "FACEBOOK",
                  "postType" : "TRANSACTIONAL",
                  "scheduledDate" : "2026-03-15T18:30:00Z",
                  "status" : "APPROVED",
                  "timezone" : "Asia/Bangkok",
                  "toneOfVoice" : "NEUTRAL",
                  "type" : "MANUAL",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "userTags" : [ "@luxurytravel" ]
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/social/post/status" : {
      "patch" : {
        "tags" : [ "Posts" ],
        "summary" : "Update status",
        "description" : "Bulk-updates the status (e.g. scheduled, paused, cancelled) of one or more posts for the account.",
        "operationId" : "update-managed-social-post-status",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update posts for this managing entity ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "requestBody" : {
          "description" : "Status update criteria and new status",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateManagedSocialPostStatusRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated post IDs and the new status that was applied",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UpdateManagedSocialPostStatusResponse_ManagingEntity"
                },
                "example" : {
                  "count" : 2,
                  "ids" : [ "c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a", "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f" ],
                  "status" : "APPROVED"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/social/connection" : {
      "patch" : {
        "tags" : [ "Connections" ],
        "summary" : "Remove",
        "description" : "Disconnects the specified social platform from the managing entity's managed social settings.",
        "operationId" : "remove-managed-social-settings-connection",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Disconnect platform for this managing entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Specify which social platform to disconnect",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RemoveManagedSocialConnectionRequest_ManagingEntity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated managed social settings after removing the specified platform connection",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagedSocialSettingsLightweight_ManagingEntity"
                },
                "example" : {
                  "autoApprove" : true,
                  "connections" : [ {
                    "platform" : "FACEBOOK",
                    "status" : "ACTIVE",
                    "subAccounts" : [ {
                      "id" : "page_token_abc1def2ghi3jkl4mno5pqr6stu7vwx",
                      "name" : "The Siam Residences, Bangkok",
                      "selected" : true
                    } ]
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "creators" : [ {
                    "priority" : 10,
                    "type" : "PROPERTY"
                  } ],
                  "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "notificationEmail" : "notify@hotel-x.com",
                  "notificationName" : "Hotel X",
                  "numberOfPostsPerMonth" : 16,
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "placeId" : "place-1",
                  "postTypes" : [ "TRANSACTIONAL" ],
                  "targets" : [ {
                    "language" : "en",
                    "timezone" : "Asia/Bangkok"
                  } ],
                  "tones" : [ "NEUTRAL" ],
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "ProblemDetail" : {
        "type" : "object",
        "properties" : {
          "detail" : {
            "type" : "string"
          },
          "instance" : {
            "type" : "string",
            "format" : "uri"
          },
          "properties" : {
            "additionalProperties" : { },
            "type" : "object"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "title" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "format" : "uri"
          }
        }
      },
      "ManagedSocialContentCreator_ManagingEntity" : {
        "type" : "object",
        "description" : "A weighted content creator persona preference, determining which type of inventory entity (room, restaurant, activity, etc.) is used when generating social posts.",
        "example" : {
          "priority" : 10,
          "type" : "PROPERTY"
        },
        "properties" : {
          "priority" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Relative weight controlling how often this creator type is selected; higher values increase selection probability.",
            "example" : 10,
            "minimum" : 0
          },
          "type" : {
            "type" : "string",
            "description" : "The type of content creator persona to use when generating posts.",
            "enum" : [ "ACTIVITY", "ADD_ON", "ATTRACTION", "FUNNY", "MEETING_ROOM", "PLACE", "PROPERTY", "ROOM_TYPE", "RESTAURANT", "SPA", "DESTINATION_RELATED", "USER_SENTIMENT" ],
            "example" : "PROPERTY"
          }
        },
        "required" : [ "priority", "type" ]
      },
      "ManagedSocialPostTypePreference_ManagingEntity" : {
        "type" : "object",
        "description" : "A weighted post type preference controlling how frequently a particular post type (TRANSACTIONAL, AWARENESS, etc.) is selected during AI content generation.",
        "example" : {
          "priority" : 10,
          "type" : "TRANSACTIONAL"
        },
        "properties" : {
          "priority" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Relative weight controlling how often this post type is selected; higher values increase selection probability.",
            "example" : 10,
            "minimum" : 0
          },
          "type" : {
            "type" : "string",
            "description" : "The post type this preference applies to.",
            "enum" : [ "TRANSACTIONAL", "AWARENESS", "SENTIMENT" ],
            "example" : "TRANSACTIONAL"
          }
        },
        "required" : [ "priority", "type" ]
      },
      "ManagedSocialToneOfVoice_ManagingEntity" : {
        "type" : "object",
        "description" : "A weighted tone-of-voice preference controlling how frequently a particular writing style is chosen during AI social post generation.",
        "example" : {
          "priority" : 10,
          "type" : "NEUTRAL"
        },
        "properties" : {
          "priority" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Relative weight controlling how often this tone is selected; higher values increase selection probability.",
            "example" : 10,
            "minimum" : 0
          },
          "type" : {
            "type" : "string",
            "description" : "The tone of voice to apply to generated post copy.",
            "enum" : [ "NEUTRAL", "FRIENDLY", "LUXURY", "FOODIE", "ADVENTUROUS", "FAMILY", "ROMANTIC", "HUMOROUS", "ECO", "LOCAL_INSIDER", "INCLUSIVE", "BUDGET" ],
            "example" : "NEUTRAL"
          }
        },
        "required" : [ "priority", "type" ]
      },
      "TimezoneFriendlyTarget_ManagingEntity" : {
        "type" : "object",
        "description" : "A posting target combining a language and an IANA timezone, used to schedule social media posts in the correct locale and local time.",
        "example" : {
          "language" : "en",
          "timezone" : "Asia/Bangkok"
        },
        "properties" : {
          "language" : {
            "type" : "string",
            "description" : "BCP 47 language code for the language to post in (e.g. en, th, de).",
            "example" : "en",
            "minLength" : 1,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "timezone" : {
            "type" : "string",
            "description" : "IANA timezone identifier used to schedule posts in the local time of the target audience (e.g. Asia/Bangkok, America/New_York).",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          }
        },
        "required" : [ "language", "timezone" ]
      },
      "UpsertManagedSocialSettingsRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to create or update the managed social settings for a managing entity, configuring tone preferences, post types, notification details, posting targets, and content creators.",
        "example" : {
          "autoApprove" : true,
          "creators" : [ {
            "priority" : 10,
            "type" : "PROPERTY"
          } ],
          "customizationIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "notificationEmail" : "notify@hotel-x.com",
          "notificationName" : "Hotel X",
          "numberOfPostsPerMonth" : 16,
          "placeId" : "google-place-1",
          "postTypes" : [ "TRANSACTIONAL" ],
          "targets" : [ {
            "language" : "en",
            "timezone" : "Asia/Bangkok"
          } ],
          "tones" : [ "NEUTRAL" ]
        },
        "properties" : {
          "autoApprove" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether to approve posts and publish automatically.",
            "example" : true
          },
          "creators" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialContentCreator_ManagingEntity",
              "description" : "Lets the subscriber choose which content creators get used."
            }
          },
          "customizationIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Customization identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "notificationEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address to send post approval reminders.",
            "example" : "notify@hotel-x.com",
            "minLength" : 1
          },
          "notificationName" : {
            "type" : "string",
            "description" : "The name of the email address holder.",
            "example" : "Hotel X",
            "minLength" : 1
          },
          "numberOfPostsPerMonth" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many posts to generate and schedule each month. Every generated post beyond the monthly free allowance is billable, so this is the account's own spend dial. Omit to follow the platform default.",
            "example" : 16,
            "maximum" : 84,
            "minimum" : 1
          },
          "placeId" : {
            "type" : "string",
            "description" : "Google Business account ID",
            "example" : "google-place-1"
          },
          "postTypes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialPostTypePreference_ManagingEntity",
              "default" : "TRANSACTIONAL",
              "description" : "Choose the post type preferences.",
              "example" : "TRANSACTIONAL"
            }
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TimezoneFriendlyTarget_ManagingEntity",
              "description" : "When to post and which language to post in."
            }
          },
          "tones" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialToneOfVoice_ManagingEntity",
              "default" : "NEUTRAL",
              "description" : "Choose the tone of voice to use in text creation.",
              "example" : "NEUTRAL"
            }
          }
        },
        "required" : [ "customizationIdentifier", "notificationEmail", "notificationName" ]
      },
      "ManagedSocialConnectionSubAccount_ManagingEntity" : {
        "type" : "object",
        "description" : "A platform sub-account (such as a Facebook Page or Instagram profile) linked through a social media connection, selectable as the publishing destination.",
        "example" : {
          "id" : "page_token_abc1def2ghi3jkl4mno5pqr6stu7vwx",
          "name" : "The Siam Residences, Bangkok",
          "selected" : true
        },
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Platform-specific identifier for this sub-account (page, profile, etc)",
            "example" : "page_token_abc1def2ghi3jkl4mno5pqr6stu7vwx",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the sub-account",
            "example" : "The Siam Residences, Bangkok",
            "minLength" : 1
          },
          "selected" : {
            "type" : "boolean",
            "description" : "Whether this sub-account is currently selected for posting",
            "example" : true
          }
        },
        "required" : [ "id", "name" ]
      },
      "ManagedSocialConnection_ManagingEntity" : {
        "type" : "object",
        "description" : "An OAuth connection between the managing entity's account and a specific social media platform, including tokens and authorized sub-accounts.",
        "example" : {
          "platform" : "FACEBOOK",
          "status" : "ACTIVE",
          "subAccounts" : [ {
            "id" : "page_token_abc1def2ghi3jkl4mno5pqr6stu7vwx",
            "name" : "The Siam Residences, Bangkok",
            "selected" : true
          } ]
        },
        "properties" : {
          "platform" : {
            "type" : "string",
            "description" : "The social network platform",
            "enum" : [ "WINK_LINKS", "FACEBOOK", "INSTAGRAM" ],
            "example" : "FACEBOOK"
          },
          "status" : {
            "type" : "string",
            "description" : "Current connection status",
            "enum" : [ "ACTIVE", "DISCONNECTED", "SUSPENDED" ],
            "example" : "ACTIVE"
          },
          "subAccounts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialConnectionSubAccount_ManagingEntity",
              "description" : "Sub-accounts (pages, profiles) available through this connection"
            }
          }
        },
        "required" : [ "platform", "status" ]
      },
      "ManagedSocialSettingsLightweight_ManagingEntity" : {
        "type" : "object",
        "description" : "Lightweight projection of a managing entity's managed social media configuration, defining tone, post type preferences, connected platforms, posting targets, and notification settings.",
        "example" : {
          "autoApprove" : true,
          "connections" : [ {
            "platform" : "FACEBOOK",
            "status" : "ACTIVE",
            "subAccounts" : [ {
              "id" : "page_token_abc1def2ghi3jkl4mno5pqr6stu7vwx",
              "name" : "The Siam Residences, Bangkok",
              "selected" : true
            } ]
          } ],
          "createdDate" : "2026-01-14T09:30:00",
          "creators" : [ {
            "priority" : 10,
            "type" : "PROPERTY"
          } ],
          "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "notificationEmail" : "notify@hotel-x.com",
          "notificationName" : "Hotel X",
          "numberOfPostsPerMonth" : 16,
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "placeId" : "place-1",
          "postTypes" : [ "TRANSACTIONAL" ],
          "targets" : [ {
            "language" : "en",
            "timezone" : "Asia/Bangkok"
          } ],
          "tones" : [ "NEUTRAL" ],
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "version" : 3
        },
        "properties" : {
          "autoApprove" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether to approve posts and publish automatically.",
            "example" : true
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialConnection_ManagingEntity",
              "description" : "Social network consent entries"
            }
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "creators" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialContentCreator_ManagingEntity",
              "description" : "Lets the subscriber choose which content creators get used."
            }
          },
          "customizationIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Customization identifier",
            "example" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "notificationEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address to send post approval reminders.",
            "example" : "notify@hotel-x.com"
          },
          "notificationName" : {
            "type" : "string",
            "description" : "The name of the email address holder.",
            "example" : "Hotel X"
          },
          "numberOfPostsPerMonth" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many posts are generated and scheduled for this account each month. Every post beyond the monthly free allowance is billable. Null means the account follows the platform default.",
            "example" : 16,
            "maximum" : 84,
            "minimum" : 1
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The owner entity this entry associates with",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "placeId" : {
            "type" : "string",
            "description" : "Google Place ID",
            "example" : "place-1"
          },
          "postTypes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialPostTypePreference_ManagingEntity",
              "default" : "TRANSACTIONAL",
              "description" : "Choose the post type preferences.",
              "example" : "TRANSACTIONAL"
            }
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TimezoneFriendlyTarget_ManagingEntity",
              "description" : "When to post and which language to post in."
            }
          },
          "tones" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialToneOfVoice_ManagingEntity",
              "default" : "NEUTRAL",
              "description" : "Choose the tone of voice to use in text creation.",
              "example" : "NEUTRAL"
            }
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The user ID that owns the account",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "ownerIdentifier", "userIdentifier" ]
      },
      "GeoJsonPoint_ManagingEntity" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "number",
              "format" : "double"
            }
          },
          "type" : {
            "type" : "string"
          },
          "x" : {
            "type" : "number",
            "format" : "double"
          },
          "y" : {
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "ManagedSocialPostLink_ManagingEntity" : {
        "type" : "object",
        "description" : "An optional hyperlink to attach to a social media post, including a URL, human-readable description, and caption for display.",
        "example" : {
          "caption" : "thesiamresidences.com",
          "description" : "Discover The Siam Residences",
          "url" : "https://www.thesiamresidences.com"
        },
        "properties" : {
          "caption" : {
            "type" : "string",
            "description" : "Short caption typically showing the domain of the URL",
            "example" : "thesiamresidences.com"
          },
          "description" : {
            "type" : "string",
            "description" : "Human-readable description of the link destination shown alongside the URL",
            "example" : "Discover The Siam Residences"
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "The fully-qualified URL to link from the post",
            "example" : "https://www.thesiamresidences.com",
            "minLength" : 1
          }
        },
        "required" : [ "url" ]
      },
      "MediaAuthorAttribution_ManagingEntity" : {
        "type" : "object",
        "example" : {
          "name" : "Samuel Adams",
          "url" : "https://maps.google.com/maps/contrib/111628493169070103594"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of contributor",
            "example" : "Samuel Adams",
            "minLength" : 1
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "URL to contributor",
            "example" : "https://maps.google.com/maps/contrib/111628493169070103594"
          }
        },
        "required" : [ "name" ]
      },
      "SimpleDescription_ManagingEntity" : {
        "type" : "object",
        "description" : "Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.",
        "example" : {
          "creator" : "USER",
          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
          "language" : "en",
          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
          "name" : "Deluxe River View Suite"
        },
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "USER",
            "description" : "Whether it was user or system generated.",
            "enum" : [ "SYSTEM", "USER" ],
            "example" : "SYSTEM"
          },
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "hashMismatch" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "md5ContentHash" : {
            "type" : "string",
            "description" : "The md5 hash of the name, description and language.",
            "example" : "d41d8cd98f00b204e9800998ecf8427e"
          },
          "name" : {
            "type" : "string",
            "description" : "Use as title or short text description",
            "example" : "An example title"
          }
        },
        "required" : [ "description", "language", "name" ]
      },
      "SimpleMultimedia_ManagingEntity" : {
        "type" : "object",
        "description" : "Multimedia that contains less information than Multimedia object",
        "example" : {
          "angle" : null,
          "attribution" : [ ],
          "category" : "2",
          "descriptions" : [ {
            "description" : "Elegant lobby of The Siam Residences",
            "language" : "en",
            "title" : "Lobby Entrance"
          } ],
          "height" : 1600,
          "identifier" : "the-siam-residences/lobby-entrance",
          "isLandscape" : true,
          "lifestyleType" : null,
          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "published" : true,
          "sort" : 10,
          "source" : "CLOUDINARY",
          "type" : "IMAGE",
          "width" : 2560
        },
        "properties" : {
          "angle" : {
            "type" : "string",
            "description" : "Media angle",
            "example" : "-90"
          },
          "attribution" : {
            "type" : "array",
            "description" : "Whether image has attribution properties",
            "items" : {
              "$ref" : "#/components/schemas/MediaAuthorAttribution_ManagingEntity"
            }
          },
          "category" : {
            "type" : "string",
            "description" : "Supported OTA specification `PIC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized media captions to give user some context about where this media was taken.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_ManagingEntity"
            }
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media height in pixels.",
            "example" : 1600,
            "minimum" : 1
          },
          "identifier" : {
            "type" : "string",
            "description" : "Use this identifier to communicate with Cloudinary.",
            "example" : "cloudinary-image-1",
            "minLength" : 1
          },
          "isLandscape" : {
            "type" : "boolean",
            "description" : "True if media width is greater or equal to height",
            "example" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "multimediaIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Document identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "published" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.",
            "example" : true
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 999,
            "description" : "Sort allows you to control how you want to sort this record in a list of media records.",
            "example" : 10
          },
          "source" : {
            "type" : "string",
            "default" : "CLOUDINARY",
            "description" : "Currently ONLY using Cloudinary to store all image / video assets.",
            "enum" : [ "YOUTUBE", "CLOUDINARY" ],
            "example" : "CLOUDINARY"
          },
          "type" : {
            "type" : "string",
            "description" : "Whether Cloudinary media is a VIDEO or IMAGE.",
            "enum" : [ "IMAGE", "VIDEO", "AUDIO", "RAW" ],
            "example" : "IMAGE"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media width in pixels.",
            "example" : 2560,
            "minimum" : 1
          }
        },
        "required" : [ "height", "identifier", "multimediaIdentifier", "sort", "source", "type", "width" ]
      },
      "UpsertManagedSocialPostRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to create or update a managed social post, specifying content, tone, scheduling, and platform details.",
        "example" : {
          "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "hashTags" : [ "#ThailandTravel" ],
          "link" : {
            "caption" : "thesiamresidences.com",
            "description" : "Discover The Siam Residences",
            "url" : "https://www.thesiamresidences.com"
          },
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "platform" : "FACEBOOK",
          "postType" : "TRANSACTIONAL",
          "scheduledDate" : "2026-03-15T18:30:00Z",
          "timezone" : "Asia/Bangkok",
          "toneOfVoice" : "NEUTRAL",
          "type" : "MANUAL",
          "userTags" : [ "@luxurytravel" ]
        },
        "properties" : {
          "customizationIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The post customization/template identifier to base this post on",
            "example" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
            "minLength" : 1
          },
          "descriptions" : {
            "type" : "array",
            "description" : "A single entry array under most circumstances in the language the post was created for.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_ManagingEntity"
            },
            "minItems" : 1
          },
          "hashTags" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Hashtags to include in the post",
              "example" : "#ThailandTravel"
            }
          },
          "link" : {
            "$ref" : "#/components/schemas/ManagedSocialPostLink_ManagingEntity",
            "description" : "A link to go with the text"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_ManagingEntity",
            "description" : "Optional geo-location"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Platform-specific metadata for this post"
          },
          "multimedias" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_ManagingEntity",
              "description" : "CDN image/media assets (most platforms support up to 10 images per post)"
            }
          },
          "platform" : {
            "type" : "string",
            "description" : "Which social platform to publish this post to",
            "enum" : [ "WINK_LINKS", "FACEBOOK", "INSTAGRAM" ],
            "example" : "FACEBOOK"
          },
          "postType" : {
            "type" : "string",
            "default" : "TRANSACTIONAL",
            "description" : "The structural intent of this post.",
            "enum" : [ "TRANSACTIONAL", "AWARENESS", "SENTIMENT" ],
            "example" : "TRANSACTIONAL"
          },
          "scheduledDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date and time when the post will be published (ISO 8601 format, interpreted in the supplied timezone)",
            "example" : "2026-03-15T18:30:00Z"
          },
          "timezone" : {
            "type" : "string",
            "description" : "IANA timezone identifier (e.g. Asia/Bangkok, America/New_York)",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          },
          "toneOfVoice" : {
            "type" : "string",
            "default" : "NEUTRAL",
            "description" : "The language style used for this post.",
            "enum" : [ "NEUTRAL", "FRIENDLY", "LUXURY", "FOODIE", "ADVENTUROUS", "FAMILY", "ROMANTIC", "HUMOROUS", "ECO", "LOCAL_INSIDER", "INCLUSIVE", "BUDGET" ],
            "example" : "NEUTRAL"
          },
          "type" : {
            "type" : "string",
            "default" : "MANUAL",
            "description" : "Type of post.",
            "enum" : [ "MANUAL", "TRANSACTIONAL", "AWARENESS", "SENTIMENT" ],
            "example" : "MANUAL"
          },
          "userTags" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "User handles to mention in the post",
              "example" : "@luxurytravel"
            }
          }
        },
        "required" : [ "customizationIdentifier", "descriptions", "platform", "postType", "scheduledDate", "timezone", "toneOfVoice", "type" ]
      },
      "ManagedSocialPostLightweight_ManagingEntity" : {
        "type" : "object",
        "description" : "Lightweight projection of a scheduled social media post, used by consumers outside the managed-social module.",
        "example" : {
          "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
          "descriptions" : [ {
            "description" : "Experience luxury living in the heart of Bangkok.",
            "language" : "en",
            "name" : "Discover The Siam Residences"
          } ],
          "hashTags" : [ "#ThailandTravel" ],
          "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "platform" : "FACEBOOK",
          "postType" : "TRANSACTIONAL",
          "scheduledDate" : "2026-03-15T18:30:00Z",
          "status" : "APPROVED",
          "timezone" : "Asia/Bangkok",
          "toneOfVoice" : "NEUTRAL",
          "type" : "MANUAL",
          "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "userTags" : [ "@luxurytravel" ]
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "customizationIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The post customization/template identifier used to create this post"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "A single entry array under most circumstances in the language the post was created for.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_ManagingEntity"
            }
          },
          "hashTags" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Hashtags to include in the post"
            }
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "link" : {
            "$ref" : "#/components/schemas/ManagedSocialPostLink_ManagingEntity",
            "description" : "A link to go with the text"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_ManagingEntity",
            "description" : "Optional geo-location"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Platform-specific metadata for this post"
          },
          "multimedias" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_ManagingEntity",
              "description" : "CDN image/media assets (most platforms support up to 10 images per post)"
            }
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The managing entity this post belongs to"
          },
          "platform" : {
            "type" : "string",
            "description" : "Which platform to post to.",
            "enum" : [ "WINK_LINKS", "FACEBOOK", "INSTAGRAM" ],
            "example" : "FACEBOOK"
          },
          "postType" : {
            "type" : "string",
            "description" : "The structural intent of this post.",
            "enum" : [ "TRANSACTIONAL", "AWARENESS", "SENTIMENT" ],
            "example" : "TRANSACTIONAL"
          },
          "scheduledDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Exact date and time when the post will be published (ISO 8601 format)"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of post.",
            "enum" : [ "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "PAUSED", "PUBLISHED", "FAILED" ],
            "example" : "APPROVED"
          },
          "statusText" : {
            "type" : "string",
            "description" : "Human-readable status explanation (typically used for error messages)"
          },
          "timezone" : {
            "type" : "string",
            "description" : "IANA timezone identifier (e.g. Asia/Bangkok, America/New_York)"
          },
          "toneOfVoice" : {
            "type" : "string",
            "description" : "The language style used for this post.",
            "enum" : [ "NEUTRAL", "FRIENDLY", "LUXURY", "FOODIE", "ADVENTUROUS", "FAMILY", "ROMANTIC", "HUMOROUS", "ECO", "LOCAL_INSIDER", "INCLUSIVE", "BUDGET" ],
            "example" : "NEUTRAL"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of post.",
            "enum" : [ "MANUAL", "TRANSACTIONAL", "AWARENESS", "SENTIMENT" ],
            "example" : "MANUAL"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The user ID that owns the account"
          },
          "userTags" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "User handles to mention in the post"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "customizationIdentifier", "descriptions", "ownerIdentifier", "platform", "postType", "scheduledDate", "status", "timezone", "toneOfVoice", "type", "userIdentifier" ]
      },
      "DateRange_ManagingEntity" : {
        "type" : "object",
        "example" : {
          "endDate" : "2020-12-31",
          "startDate" : "2020-12-24"
        },
        "properties" : {
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range ending with and including this end date",
            "example" : "2020-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range starting with and including this start date",
            "example" : "2020-12-24"
          }
        },
        "required" : [ "endDate", "startDate" ]
      },
      "SearchManagedPostsRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Paginated search request for managed social posts, supporting filtering by status, platform, keyword, and scheduled date range.",
        "example" : {
          "platform" : "WINK_LINKS",
          "scheduledDate" : {
            "endDate" : "2020-12-31",
            "startDate" : "2020-12-24"
          },
          "skip" : 0,
          "sort" : [ {
            "dir" : "asc",
            "field" : "hotel.name"
          } ],
          "status" : "APPROVED",
          "take" : 10,
          "term" : "luxury accommodation"
        },
        "properties" : {
          "platform" : {
            "type" : "array",
            "description" : "Filter by target social platform",
            "example" : "WINK_LINKS",
            "items" : {
              "type" : "string",
              "description" : "Social media platform integrated with the Wink WinkLinks sharing feature",
              "enum" : [ "WINK_LINKS", "FACEBOOK", "INSTAGRAM" ]
            }
          },
          "scheduledDate" : {
            "$ref" : "#/components/schemas/DateRange_ManagingEntity",
            "description" : "Filter by post scheduled date range"
          },
          "skip" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of records to be skipped by the pager.",
            "example" : 0,
            "minimum" : 0
          },
          "sort" : {
            "type" : "array",
            "description" : "Descriptors used for sorting result set.",
            "items" : {
              "$ref" : "#/components/schemas/SortDescriptor_ManagingEntity"
            }
          },
          "status" : {
            "type" : "array",
            "description" : "Filter by post status (APPROVED, DRAFT, PUBLISHED, CANCELLED, etc)",
            "example" : "APPROVED",
            "items" : {
              "type" : "string",
              "description" : "Lifecycle status of a managed social media post, tracking its journey from creation through publication.",
              "enum" : [ "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "PAUSED", "PUBLISHED", "FAILED" ]
            }
          },
          "take" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 30,
            "description" : "Number of records to take.",
            "example" : 10,
            "maximum" : 180,
            "minimum" : 1
          },
          "term" : {
            "type" : "string",
            "description" : "Full-text search keyword",
            "example" : "luxury accommodation"
          }
        }
      },
      "SortDescriptor_ManagingEntity" : {
        "type" : "object",
        "description" : "Descriptor that defines the sort direction and field for ordering a result set.",
        "example" : {
          "dir" : "asc",
          "field" : "hotel.name"
        },
        "properties" : {
          "dir" : {
            "type" : "string",
            "description" : "Descriptors used for sorting result set",
            "enum" : [ "asc", "desc" ],
            "example" : "asc"
          },
          "field" : {
            "type" : "string",
            "description" : "Data set field to sort on",
            "example" : "hotel.name"
          }
        }
      },
      "PageResponseManagedSocialPostLightweight_ManagingEntity" : {
        "type" : "object",
        "description" : "Owned pagination envelope: a page of content plus flat page metadata.",
        "example" : {
          "content" : [ {
            "customizationIdentifier" : "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
            "descriptions" : [ {
              "description" : "Experience luxury living in the heart of Bangkok.",
              "language" : "en",
              "name" : "Discover The Siam Residences"
            } ],
            "hashTags" : [ "#ThailandTravel" ],
            "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "platform" : "FACEBOOK",
            "postType" : "TRANSACTIONAL",
            "scheduledDate" : "2026-03-15T18:30:00Z",
            "status" : "APPROVED",
            "timezone" : "Asia/Bangkok",
            "toneOfVoice" : "NEUTRAL",
            "type" : "MANUAL",
            "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "userTags" : [ "@luxurytravel" ]
          } ],
          "first" : true,
          "last" : false,
          "number" : 0,
          "numberOfElements" : 20,
          "size" : 20,
          "totalElements" : 1234,
          "totalPages" : 62
        },
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The elements on this page.",
            "items" : {
              "$ref" : "#/components/schemas/ManagedSocialPostLightweight_ManagingEntity"
            }
          },
          "first" : {
            "type" : "boolean",
            "description" : "Whether this is the first page.",
            "example" : true
          },
          "last" : {
            "type" : "boolean",
            "description" : "Whether this is the last page.",
            "example" : false
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Zero-based index of this page.",
            "example" : 0
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of elements on this page.",
            "example" : 20
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The requested page size.",
            "example" : 20
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of elements across all pages.",
            "example" : 1234
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Total number of pages for the current page size.",
            "example" : 62
          }
        }
      },
      "ManagedPostsCalendarRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to retrieve managed social posts within a specified date range for calendar display.",
        "example" : {
          "endDate" : "2026-03-15T18:30:00Z",
          "startDate" : "2026-03-15T18:30:00Z"
        },
        "properties" : {
          "endDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End date to filter calendar entries up to (ISO 8601 format)",
            "example" : "2026-03-15T18:30:00Z"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start date to filter calendar entries from (ISO 8601 format)",
            "example" : "2026-03-15T18:30:00Z"
          }
        },
        "required" : [ "endDate", "startDate" ]
      },
      "UpdateManagedSocialPostStatusRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to change the status of one or more managed social posts, identified either by specific post IDs or by a search filter.",
        "example" : {
          "filter" : {
            "platform" : "WINK_LINKS",
            "scheduledDate" : {
              "endDate" : "2020-12-31",
              "startDate" : "2020-12-24"
            },
            "skip" : 0,
            "sort" : [ {
              "dir" : "asc",
              "field" : "hotel.name"
            } ],
            "status" : "APPROVED",
            "take" : 10,
            "term" : "luxury accommodation"
          },
          "mode" : "ALL",
          "postIdentifiers" : [ "c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a" ],
          "status" : "APPROVED"
        },
        "properties" : {
          "filter" : {
            "$ref" : "#/components/schemas/SearchManagedPostsRequest_ManagingEntity",
            "description" : "Search filter criteria to identify posts to update (mutually exclusive with postIdentifiers)"
          },
          "mode" : {
            "type" : "string",
            "description" : "Mode of operation (e.g. bulk update)",
            "enum" : [ "ALL", "PAGE" ],
            "example" : "ALL"
          },
          "postIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Specific post IDs to update (mutually exclusive with filter)",
              "example" : "c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "New status to apply to selected posts (APPROVED, DRAFT, PUBLISHED, CANCELLED, etc)",
            "enum" : [ "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "PAUSED", "PUBLISHED", "FAILED" ],
            "example" : "APPROVED"
          }
        },
        "required" : [ "status" ]
      },
      "UpdateManagedSocialPostStatusResponse_ManagingEntity" : {
        "type" : "object",
        "description" : "Response confirming the result of a bulk managed social post status update, including the affected post IDs, the applied status, and the total count updated.",
        "example" : {
          "count" : 2,
          "ids" : [ "c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a", "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f" ],
          "status" : "APPROVED"
        },
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of posts updated in the database",
            "example" : 5
          },
          "ids" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Post IDs that were successfully updated",
              "example" : "c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "The status that was applied to these posts",
            "enum" : [ "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "PAUSED", "PUBLISHED", "FAILED" ],
            "example" : "APPROVED"
          }
        },
        "required" : [ "count", "ids", "status" ]
      },
      "RemoveManagedSocialConnectionRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to disconnect a social media platform from the managing entity's managed social settings.",
        "example" : {
          "platform" : "FACEBOOK"
        },
        "properties" : {
          "platform" : {
            "type" : "string",
            "description" : "The social platform to disconnect from the account",
            "enum" : [ "WINK_LINKS", "FACEBOOK", "INSTAGRAM" ],
            "example" : "FACEBOOK"
          }
        },
        "required" : [ "platform" ]
      }
    },
    "securitySchemes" : {
      "oauth2ClientCredentials" : {
        "type" : "oauth2",
        "description" : "Every endpoint is protected with OAuth2 **client credentials**. Create an\n**Application** in your account to obtain a `clientId` and `clientSecret`, then\nexchange them for a short-lived bearer token.\n\n### 1. Request an access token\n`POST` to the **Token URL** below with `Content-Type: application/x-www-form-urlencoded`\nand a body of `grant_type=client_credentials` (optionally `scope=<space-separated scopes>`).\nSend your credentials as HTTP Basic auth:\n`Authorization: Basic base64(clientId + \":\" + clientSecret)`.\n\n### 2. Call the API\nPass the returned token on every request: `Authorization: Bearer <access_token>`.\n\nTokens carry only the scopes granted to your Application — request the least privilege\nyou need. There is no interactive authorize step and no refresh token for this flow;\nrequest a new token when the current one expires.",
        "name" : "Client Credentials",
        "flows" : {
          "clientCredentials" : {
            "tokenUrl" : "https://iam.wink.travel/oauth2/token",
            "scopes" : {
              "marketing.read" : "View your marketing & promotions.",
              "marketing.write" : "Create and update your marketing & promotions.",
              "marketing.remove" : "Delete your marketing & promotions."
            }
          }
        }
      }
    }
  }
}