RaylightAPI

Greenlight links

Decline through a link

Decline through a link. POST /production-links/{token}/decline in the Raylight API.

POST/production-links/{token}/decline

Public. No API key needed.

Parameters

FieldInTypeDescription
tokenrequiredpathstringThe signed token from the link.

Request body

application/json

FieldTypeDescription
reasonstring

Responses

200Declined.
400The reason is too long.
403The link was sent to someone who can no longer greenlight in this workspace, or to a webhook endpoint that was deleted (code revoked).
404Not a valid link (code not_found).
409The pitch moved on since the link was minted, or was already answered (code stale).
410The link expired (code expired). Reading it still works and says state: expired.
429Rate limited (30 a minute per address), or the workspace reached a monthly cap (code cap).
503Greenlight links are not switched on for this server (code disabled).

200 response body

FieldTypeDescription
linkrequiredobject
link.productionIdrequireduuid
link.workspaceNamerequiredstring
link.stagerequiredenumOne of: queued, writing_pitch, pitch_ready, greenlit, making, exporting, delivered, skipped, declined, cancelled, failed
link.staterequiredenumOne of: open, stale, expired
link.pitchVersionrequiredinteger
link.currentPitchVersionrequiredinteger
link.intentrequiredstring
link.originrequiredobject | null
link.origin.providerrequiredstring
link.origin.labelrequiredstring
link.origin.urlurl | nullDefault null
link.origin.refstring | nullDefault null
link.origin.requestedBystring | nullDefault null
link.formatrequiredobject
link.format.templateenumOne of: changelog, launch, feature, digest, customDefault changelog
link.format.durationMsintegerDefault 10000
link.format.aspectenumOne of: 16:9, 4:3, 3:2, 21:9, 1:1, 9:16, 3:4, 2:3, 4:5Default 16:9
link.format.soundobject
link.format.sound.voiceoverbooleanDefault true
link.format.sound.musicbooleanDefault true
link.format.sound.sfxbooleanDefault true
link.pitchrequiredobject | null
link.pitch.versionrequiredinteger
link.pitch.verdictenumOne of: video, skipDefault video
link.pitch.verdictReasonstring | nullDefault null
link.pitch.titlerequiredstring
link.pitch.summaryrequiredstring
link.pitch.shotsrequiredobject[]
link.pitch.shots[].indexrequiredinteger
link.pitch.shots[].titlerequiredstring
link.pitch.shots[].durationMsrequiredinteger
link.pitch.shots[].beatstring | nullDefault null
link.pitch.shots[].visualrequiredstring
link.pitch.shots[].textstring | nullDefault null
link.pitch.shots[].voiceoverstring | nullDefault null
link.pitch.shots[].mediaIdsstring[]
link.pitch.shots[].codePathsstring[]
link.pitch.musicstring | nullDefault null
link.pitch.estimatedCreditsrequiredinteger
link.pitch.createdAtrequireddatetime
link.pitchMarkdownrequiredstring | null
link.deliveryrequiredobject | null
link.delivery.shareUrlrequiredurl
link.delivery.projectIdrequireduuid
link.delivery.editUrlrequiredurl
link.delivery.exportIdrequireduuid
link.delivery.deliveredAtrequireddatetime
link.pageUrlrequiredurl
link.revisionsLeftrequiredinteger
link.expiresAtrequireddatetime
link.channelenumOne of: email, webhook

Example

curl
curl -X POST https://api.raylight.app/production-links/$TOKEN/decline \  -H "Content-Type: application/json" \  -d '{ "reason": "Already covered in the launch video." }'