Server-to-server REST API
Manage Cloud resources, users, settings and transformation jobs from your backend.
- Scoped API keys
- Idempotent write operations
- Asynchronous File Transformer jobs
Use the REST API, signed webhooks or embedded Cloud according to the experience your product needs.
Start with one channel and combine the others as your workflow becomes more automated or embedded.
Each mode solves a different integration problem. They share the same Cloud resources, permissions and operational controls.
Manage Cloud resources, users, settings and transformation jobs from your backend.
React to relevant platform events without polling every resource or background job.
Place the Apification workspace inside your product with a controlled, branded session.
Security, safe retries, background processing and result delivery form one observable flow.
Grant only the read and write permissions required by the integration.
Repeat a failed network request without repeating the business action.
Process long transformations outside the original HTTP request.
Notify the destination with a verifiable HMAC webhook.
Retrieve generated files without exposing internal storage paths.
Use these patterns as the starting point for API, transformation, webhook and embedded workflows.
The downloadable OpenAPI 3.1 document contains the complete request and response schemas.
Download the API contractcurl --request GET \
--url "https://www.apification.com/api/v1/cloud/services" \
--header "Authorization: Bearer sk-apification-..."curl --request POST \
--url "https://www.apification.com/api/v1/file-transformer/jobs" \
--header "Authorization: Bearer sk-apification-..." \
--header "Content-Type: application/json" \
--header "Idempotency-Key: normalize-customer-file-01" \
--data '{"operation_key":"text_normalize","source_codes":["cld_source"],"options":{"text_format":"txt"}}'const expected = createHmac('sha256', webhookSecret)
.update(rawRequestBody)
.digest('hex');
if (!timingSafeEqual(expected, signature)) {
throw new Error('Invalid webhook signature');
}<iframe src="https://app.example.com/embed/cloud/signed-session"
title="Apification Cloud"></iframe>
<script>
window.addEventListener('message', ({ origin, data }) => {
if (origin !== 'https://app.example.com') return;
if (data.type === 'apification.cloud.selected') useFile(data.file);
});
</script>