Slideshow Copy API
This service exposes two endpoints to copy slideshows between locales using JWT authentication.
Create Copy Request
POST /slideshows.json
Request body:
{
"copy_request": {
"url": "source slideshow URL",
"locale": "destination locale"
}
}
Example:
{
"copy_request": {
"url": "https://fr.aleteia.org/slideshow/lamour-vrai-est-la-vraie-liberte/",
"locale": "en"
}
}
Authentication
JWT payload example:
$payload = array(
'url' => 'https://fr.aleteia.org/slideshow/lamour-vrai-est-la-vraie-liberte/',
'locale' => 'en',
);
Header:
Authorization: Bearer <JWT_TOKEN>
Response
Returns the created copy request or a JSON error message (validation/auth errors). The response includes an id
field used to query the status.
Check Copy Status
GET /slideshows/:id.json
JWT payload: { "id": 1 }
Example Response
{
"id": 1,
"url": "https://fr.aleteia.org/slideshow/lamour-vrai-est-la-vraie-liberte/",
"locale": "en",
"aasm_state": "created",
...
}
Job States
created
: waiting to be processedcopied
: completed successfullypartially_copied
: some slides missing in target localeretryable
: temporary failure; will retry automaticallyerrored
: permanent failure
In typical conditions, most jobs complete in 2–3 seconds.