1. Approval Links
YGO Client API
v2
  • v2
  • v1
  • Project API
    • Overview
    • Core Concepts
    • Authentication
    • Error Handling & Limits
    • Content Enrichment API
      • Text Generation
        • Generate text
        • Get text generation status
        • Preview text
      • Enrichment
        • Get enriched hotel
        • List enriched hotels
        • List enriched hotel summaries
      • Templates
        • Save text template
        • List text templates
      • Tags
        • Save tag
        • List tags
        • Delete tag
        • Add tag to hotels (bulk)
        • Remove tag from hotels (bulk)
      • Image Pins
        • Delete hotel image pin
        • Save hotel image pin
      • Settings
        • Get content settings
      • Approval Links
        • Create approval links (bulk)
          POST
        • Export approved hotel text with image URLs
          POST
        • List approval links
          POST
        • Revoke approval link
          POST
        • Rotate approval link
          POST
      • Vision AI
        • Ingest vision images
        • Get vision images
        • List vision images
    • Schemas
      • GetEnrichedHotelRequest
      • GenerateTextRequest
      • GetTextGenerationStatusRequest
      • PreviewTextRequest
      • GetEnrichedHotelsByTagRequest
      • ListEnrichedHotelsRequest
      • GetContentSettingsRequest
      • ListTextTemplatesRequest
      • SaveTextTemplateRequest
      • generateText_GenerateTextRequest
      • createApprovalLinks_CreateApprovalLinksRequest
      • GetEnrichedHotelResponse
      • GenerateTextResponse
      • GetTextGenerationStatusResponse
      • PreviewTextResponse
      • GetEnrichedHotelsByTagResponse
      • ListEnrichedHotelsResponse
      • GetContentSettingsResponse
      • ListTextTemplatesResponse
      • SaveTextTemplateResponse
      • generateText_GenerateTextResponse
      • createApprovalLinks_CreateApprovalLinksResponse
      • TextGenerationRun
      • TextGenerationStatus
      • PreviewResult
      • EnrichedHotelsByTag
      • Pagination
      • ContentSettings
      • TextTemplate
      • generateText_TextGenerationRun
      • createApprovalLinks_ApprovalLink
      • ErrorResponse
      • RunProgress
      • PreviewHotel
      • TagSummary
      • EnrichedHotelListItem
      • generateText_RunProgress
      • createApprovalLinks_ApprovalApprover
      • EnrichedHotel
      • ErrorDetail
      • PreviewCell
      • TemplateUsageStats
      • generateText_ErrorResponse
      • createApprovalLinks_ErrorResponse
      • Location
      • FieldError
      • PreviewChange
      • generateText_ErrorDetail
      • createApprovalLinks_ErrorDetail
      • Address
      • createApprovalLinks_FieldError
      • FactualAttribute
      • getTextGenerationStatus_GetTextGenerationStatusRequest
      • exportApprovedHotelText_ExportApprovedHotelTextRequest
      • FactualInstance
      • getTextGenerationStatus_GetTextGenerationStatusResponse
      • exportApprovedHotelText_ApprovedHotelTextFile
      • POI
      • getTextGenerationStatus_TextGenerationStatus
      • exportApprovedHotelText_ErrorResponse
      • CheckIn
      • getTextGenerationStatus_RunProgress
      • exportApprovedHotelText_ErrorDetail
      • CheckOut
      • getTextGenerationStatus_ErrorResponse
      • exportApprovedHotelText_FieldError
      • GeneratedTexts
      • getTextGenerationStatus_ErrorDetail
      • listApprovals_ListApprovalsRequest
      • GeneratedTextDetail
      • listApprovals_ListApprovalsResponse
      • Image
      • previewText_PreviewTextRequest
      • listApprovals_Pagination
      • EnrichedRoom
      • previewText_PreviewTextResponse
      • listApprovals_ApprovalLink
      • Bedding
      • previewText_PreviewResult
      • listApprovals_ApprovalApprover
      • previewText_PreviewHotel
      • listApprovals_ErrorResponse
      • previewText_PreviewText
      • listApprovals_ErrorDetail
      • previewText_PreviewChange
      • listApprovals_FieldError
      • previewText_ErrorResponse
      • revokeApprovalLink_RevokeApprovalLinkRequest
      • previewText_ErrorDetail
      • revokeApprovalLink_RevokeApprovalLinkResponse
      • revokeApprovalLink_ApprovalLink
      • revokeApprovalLink_ApprovalApprover
      • getEnrichedHotel_GetEnrichedHotelResponse
      • revokeApprovalLink_ErrorResponse
      • revokeApprovalLink_ErrorDetail
      • getEnrichedHotel_ProjectTagSummary
      • revokeApprovalLink_FieldError
      • getEnrichedHotel_Location
      • rotateApprovalLink_RotateApprovalLinkRequest
      • rotateApprovalLink_RotateApprovalLinkResponse
      • rotateApprovalLink_ApprovalLink
      • rotateApprovalLink_ApprovalApprover
      • getEnrichedHotel_POI
      • rotateApprovalLink_ErrorResponse
      • getEnrichedHotel_CheckIn
      • rotateApprovalLink_ErrorDetail
      • getEnrichedHotel_CheckOut
      • rotateApprovalLink_FieldError
      • getEnrichedHotel_GeneratedTexts
      • getEnrichedHotel_GeneratedTextDetail
      • getEnrichedHotel_Compliance
      • getEnrichedHotel_ProviderVariant
      • generateText_FieldError
      • getEnrichedHotel_Bedding
      • getEnrichedHotel_ErrorResponse
      • getEnrichedHotel_ErrorDetail
      • listEnrichedHotelSummaries_ListEnrichedHotelSummariesRequest
      • listEnrichedHotels_EnrichedHotelListItem
      • listEnrichedHotelSummaries_ListEnrichedHotelSummariesResponse
      • listEnrichedHotelSummaries_Pagination
      • getTextGenerationStatus_FieldError
      • listEnrichedHotelSummaries_ErrorResponse
      • listEnrichedHotelSummaries_ErrorDetail
      • listEnrichedHotels_ListEnrichedHotelsResponse
      • listEnrichedHotels_Pagination
      • listEnrichedHotels_ProjectTagSummary
      • previewText_FieldError
      • listEnrichedHotels_Location
      • getEnrichedHotel_GetEnrichedHotelRequest
      • getEnrichedHotel_EnrichedHotel
      • listEnrichedHotels_POI
      • listEnrichedHotels_CheckIn
      • getEnrichedHotel_Address
      • listEnrichedHotels_CheckOut
      • listEnrichedHotels_GeneratedTexts
      • getEnrichedHotel_FactualAttribute
      • listEnrichedHotels_GeneratedTextDetail
      • getEnrichedHotel_FactualInstance
      • listEnrichedHotels_Compliance
      • listEnrichedHotels_ProviderVariant
      • listEnrichedHotels_Bedding
      • listEnrichedHotels_ErrorResponse
      • listEnrichedHotels_ErrorDetail
      • getEnrichedHotel_DetectionConfidence
      • getEnrichedHotel_PresenceDetection
      • deleteHotelImagePin_DeleteHotelImagePinRequest
      • getEnrichedHotel_TextDetection
      • deleteHotelImagePin_DeleteHotelImagePinResponse
      • getEnrichedHotel_FeatureDetection
      • getEnrichedHotel_Image
      • deleteHotelImagePin_ClearedHotelImagePin
      • getEnrichedHotel_EnrichedRoom
      • deleteHotelImagePin_ErrorResponse
      • deleteHotelImagePin_ErrorDetail
      • saveHotelImagePin_SaveHotelImagePinRequest
      • getEnrichedHotel_FieldError
      • saveHotelImagePin_SaveHotelImagePinResponse
      • saveHotelImagePin_HotelImagePin
      • saveHotelImagePin_ErrorResponse
      • saveHotelImagePin_ErrorDetail
      • listEnrichedHotelSummaries_EnrichedHotelSummary
      • getContentSettings_GetContentSettingsRequest
      • getContentSettings_GetContentSettingsResponse
      • getContentSettings_ContentSettings
      • listEnrichedHotelSummaries_FieldError
      • listEnrichedHotels_ListEnrichedHotelsRequest
      • getContentSettings_ErrorResponse
      • getContentSettings_ErrorDetail
      • listEnrichedHotels_EnrichedHotel
      • listImageProvidersProject_ListImageProvidersRequest
      • listImageProvidersProject_ListImageProvidersResponse
      • listImageProvidersProject_ImageProviderCatalog
      • listEnrichedHotels_Address
      • listImageProvidersProject_ImageProviderCatalogEntry
      • listEnrichedHotels_FactualAttribute
      • listImageProvidersProject_ErrorResponse
      • listEnrichedHotels_FactualInstance
      • listImageProvidersProject_ErrorDetail
      • addTagToHotels_AddTagToHotelsRequest
      • addTagToHotels_AddTagToHotelsResponse
      • addTagToHotels_BulkTagResult
      • addTagToHotels_BulkTagHotelResult
      • addTagToHotels_ErrorResponse
      • addTagToHotels_ErrorDetail
      • listEnrichedHotels_DetectionConfidence
      • listEnrichedHotels_PresenceDetection
      • deleteTag_DeleteTagRequest
      • listEnrichedHotels_TextDetection
      • deleteTag_DeleteTagResponse
      • listEnrichedHotels_FeatureDetection
      • listEnrichedHotels_Image
      • deleteTag_DeletedProjectTag
      • listEnrichedHotels_EnrichedRoom
      • deleteTag_ErrorResponse
      • deleteTag_ErrorDetail
      • listTags_ListTagsRequest
      • listEnrichedHotels_FieldError
      • listTags_ListTagsResponse
      • listTags_ProjectTag
      • listTags_ErrorResponse
      • listTags_ErrorDetail
      • removeTagFromHotels_RemoveTagFromHotelsRequest
      • removeTagFromHotels_RemoveTagFromHotelsResponse
      • deleteHotelImagePin_FieldError
      • removeTagFromHotels_BulkTagResult
      • removeTagFromHotels_BulkTagHotelResult
      • removeTagFromHotels_ErrorResponse
      • removeTagFromHotels_ErrorDetail
      • saveTag_SaveTagRequest
      • saveHotelImagePin_FieldError
      • saveTag_SaveTagResponse
      • saveTag_ProjectTag
      • saveTag_ErrorResponse
      • saveTag_ErrorDetail
      • getContentSettings_FieldError
      • listTextTemplates_ListTextTemplatesRequest
      • listTextTemplates_ListTextTemplatesResponse
      • listTextTemplates_Pagination
      • listTextTemplates_TextTemplate
      • listTextTemplates_TemplateUsageStats
      • listTextTemplates_ErrorResponse
      • listTextTemplates_ErrorDetail
      • listImageProvidersProject_FieldError
      • saveTextTemplate_SaveTextTemplateResponse
      • saveTextTemplate_TextTemplate
      • saveTextTemplate_ErrorResponse
      • saveTextTemplate_ErrorDetail
      • addTagToHotels_FieldError
      • deleteTag_FieldError
      • listTags_FieldError
      • removeTagFromHotels_FieldError
      • saveTag_FieldError
      • listTextTemplates_FieldError
      • saveTextTemplate_SaveTextTemplateRequest
      • saveTextTemplate_FieldError
      • getVisionImages_GetVisionImagesRequest
      • getVisionImages_GetVisionImagesResponse
      • getVisionImages_GetVisionImagesResult
      • getVisionImages_VisionImageState
      • getVisionImages_Image
      • getVisionImages_Compliance
      • getVisionImages_DetectionConfidence
      • getVisionImages_PresenceDetection
      • getVisionImages_TextDetection
      • getVisionImages_FeatureDetection
      • getVisionImages_ErrorResponse
      • getVisionImages_ErrorDetail
      • getVisionImages_FieldError
      • ingestVisionImages_IngestVisionImagesRequest
      • ingestVisionImages_VisionImageSubmission
      • ingestVisionImages_IngestVisionImagesResponse
      • ingestVisionImages_IngestVisionImagesResult
      • ingestVisionImages_IngestedImage
      • ingestVisionImages_ErrorResponse
      • ingestVisionImages_ErrorDetail
      • ingestVisionImages_FieldError
      • listVisionImages_ListVisionImagesRequest
      • listVisionImages_ListVisionImagesResponse
      • listVisionImages_Pagination
      • listVisionImages_ListVisionImage
      • listVisionImages_Image
      • listVisionImages_Compliance
      • listVisionImages_DetectionConfidence
      • listVisionImages_PresenceDetection
      • listVisionImages_TextDetection
      • listVisionImages_FeatureDetection
      • listVisionImages_ErrorResponse
      • listVisionImages_ErrorDetail
      • listVisionImages_FieldError
  1. Approval Links

Rotate approval link

POST
/v2/project/content/rotateApprovalLink
Replace one hotel's link token. The old token stops resolving immediately, so this is how a leaked or mis-sent link is invalidated. Everything else survives: the approval status, the approval timestamps and approver, the feedback history and the hotel's identified contacts, whose secrets keep working on the new token. Send the new link to the hotel afterwards — the old one is dead. A link that was revoked cannot be rotated back to life: it answers 404 Approval link not found, and createApprovalLinks is the way to mint a fresh one.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
The link with its new token. The previous token no longer resolves.
Headers

Bodyapplication/json

🟠400rotateApprovalLink_BadRequest
🟠401rotateApprovalLink_Unauthorized
🟠403rotateApprovalLink_Forbidden
🟠404rotateApprovalLink_NotFound
🟠429rotateApprovalLink_TooManyRequests
🔴500rotateApprovalLink_InternalServerError
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.ygo.ai/v2/project/content/rotateApprovalLink' \
--header 'X-Project-ID: ' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "HotelID": "019d9c2e-0ef8-7458-b0fa-8bed7182eb30"
}'
Response Response Example
200 - Rotated link of an already approved hotel
{
    "Data": {
        "HotelID": "019d9c2e-0ef8-7458-b0fa-8bed7182eb30",
        "HotelName": "Sotavento Beach Club",
        "GiataID": 5721,
        "MasterCode": "FUED0009",
        "Token": "cP7tpTJPwR9mLxYaKu2NsE4vZbQdHfGjT1oIcXn6yA0",
        "TokenPreview": "cP7tpTJP...",
        "Status": "approved",
        "ApprovedAt": "2026-08-25T18:19:18.860882Z",
        "ApprovedTextGeneratedAt": "2026-08-19T14:14:57.674681Z",
        "ApprovedBy": {
            "Name": "Ayşe Yılmaz",
            "Email": "ayse@sotavento.example",
            "Phone": "+34 928 000 000"
        },
        "LastOpenedAt": "2026-08-25T18:19:18.966928Z",
        "Created": false,
        "CreatedBy": "editor@example.com",
        "CreatedAt": "2026-08-25T18:19:17.522006Z",
        "UpdatedAt": "2026-08-25T18:19:18.860882Z"
    }
}
Modified at 2026-09-14 07:07:50
Previous
Revoke approval link
Next
Vision AI
Built with