Skip to main content

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 processed
  • copied: completed successfully
  • partially_copied: some slides missing in target locale
  • retryable: temporary failure; will retry automatically
  • errored: permanent failure

In typical conditions, most jobs complete in 2–3 seconds.