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

Create approval links (bulk)

POST
/v2/project/content/createApprovalLinks
Mint one approval link per requested hotel that does not have a live one, and return the link of every requested member hotel in request order. The operation is idempotent: a hotel that already has a live link keeps it, token unchanged, so calling this again never invalidates a link that has already been sent out. A hotel whose link was REVOKED gets a fresh token instead — with Created true, its Status back to waiting_for_hotel (a new link means "look at this again"), and ApprovedAt, ApprovedBy and ApprovedTextGeneratedAt kept as the record of what was approved — which makes this the way back to a live link after a revoke. Created distinguishes minted from untouched per row. Hotel ids that are not live members of the project are skipped and echoed in NotInProjectIDs.

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 approval links of every requested member hotel, in request order.
Headers

Bodyapplication/json

🟠400createApprovalLinks_BadRequest
🟠401createApprovalLinks_Unauthorized
🟠403createApprovalLinks_Forbidden
🟠404createApprovalLinks_NotFound
🟠429createApprovalLinks_TooManyRequests
🔴500createApprovalLinks_InternalServerError
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://api.ygo.ai/v2/project/content/createApprovalLinks' \
--header 'X-Project-ID: ' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "HotelIDs": [
        "019d9c2e-0ef8-7458-b0fa-8bed7182eb30",
        "019d9c23-1238-7334-bf02-4c45c50e033a"
    ]
}'
Response Response Example
200 - Two links minted
{
    "Data": [
        {
            "HotelID": "019d9c2e-0ef8-7458-b0fa-8bed7182eb30",
            "HotelName": "Sotavento Beach Club",
            "GiataID": 5721,
            "MasterCode": "FUED0009",
            "Token": "xPBOjXHomqBvKZ0nQ2sT7yWlR4dGuAeIcNvXbF9pMk3",
            "TokenPreview": "xPBOjXHo...",
            "Status": "waiting_for_hotel",
            "Created": true,
            "CreatedBy": "editor@example.com",
            "CreatedAt": "2026-08-25T18:19:17.522006Z",
            "UpdatedAt": "2026-08-25T18:19:17.522006Z"
        },
        {
            "HotelID": "019d9c23-1238-7334-bf02-4c45c50e033a",
            "HotelName": "JAZ Makadina",
            "GiataID": 16706,
            "MasterCode": "HRGD0238",
            "Token": "QxIpAvQhJ8rLzTd5oYuN1kSbVe6HcWfMg0iRnJ2aPtE",
            "TokenPreview": "QxIpAvQh...",
            "Status": "waiting_for_hotel",
            "Created": true,
            "CreatedBy": "editor@example.com",
            "CreatedAt": "2026-08-25T18:19:17.522006Z",
            "UpdatedAt": "2026-08-25T18:19:17.522006Z"
        }
    ]
}
Modified at 2026-09-14 07:07:50
Previous
Get content settings
Next
Export approved hotel text with image URLs
Built with