Search Documentation
Search across all documentation pages
Apps

The App object

Apps are projects within an organization. Each app has its own API keys, jobs, origins, presets, and webhook configuration. Use apps to separate environments (production, staging) or different products.

Base path: transcodely.v1.AppService Requires: X-Organization-ID header on all endpoints.


Attributes

AttributeTypeDescription
idstringUnique identifier. Prefixed with app_.
org_idstringParent organization ID.
namestringDisplay name.
descriptionstringDescription. Omitted if not set.
webhookobject | nullWebhook configuration, or null if not configured.
webhook.urlstringWebhook endpoint URL.
webhook.secret_hintstringLast 4 characters of the signing secret. Omitted if no secret.
webhook.has_secretbooleanWhether a signing secret is configured.
webhook.eventsstring[]Subscribed event types.
statusenumOne of: active, archived.
created_atstringISO 8601 timestamp.
updated_atstringISO 8601 timestamp.
archived_atstringISO 8601 timestamp. Omitted if not archived.
{
  "id": "app_k1l2m3n4o5",
  "org_id": "org_f6g7h8i9j0",
  "name": "Production",
  "description": "Production video processing",
  "webhook": {
    "url": "https://api.example.com/webhooks/transcodely",
    "secret_hint": "x7w9",
    "has_secret": true,
    "events": ["job.completed", "job.failed", "job.progress"]
  },
  "status": "active",
  "created_at": "2025-01-15T10:30:00Z",
  "updated_at": "2025-01-15T10:30:00Z"
}

Webhook events

job.completed, job.failed, job.progress, job.canceled, output.completed, output.failed


Create an app

Create a new app within an organization.

POST /transcodely.v1.AppService/Create

Parameters

ParameterTypeRequiredDescription
org_idstringYesParent organization ID (e.g., "org_f6g7h8i9j0").
namestringYesDisplay name (1-60 chars). Must be unique within the organization (case-insensitive).
descriptionstringNoOptional description (max 500 chars).
webhookobjectNoWebhook configuration.
webhook.urlstringYes*HTTPS endpoint URL for receiving webhooks. *Required if webhook is provided.
webhook.generate_secretbooleanNoIf true, a webhook signing secret is generated and returned.
webhook.eventsstring[]NoEvents to subscribe to. Default: ["job.completed", "job.failed"].

Returns

Returns an App object.

When generate_secret is true, the response also includes a webhook_secret field. Store this securely — it is shown only once.

curl -X POST https://api.transcodely.com/transcodely.v1.AppService/Create 
  -H "Authorization: Bearer {{API_KEY}}" 
  -H "X-Organization-ID: {{ORG_ID}}" 
  -H "Content-Type: application/json" 
  -d '{
    "org_id": "org_f6g7h8i9j0",
    "name": "Production",
    "description": "Production video processing",
    "webhook": {
      "url": "https://api.example.com/webhooks/transcodely",
      "generate_secret": true,
      "events": ["job.completed", "job.failed", "job.progress"]
    }
  }'
{
  "app": {
    "id": "app_k1l2m3n4o5",
    "org_id": "org_f6g7h8i9j0",
    "name": "Production",
    "description": "Production video processing",
    "webhook": {
      "url": "https://api.example.com/webhooks/transcodely",
      "secret_hint": "x7w9",
      "has_secret": true,
      "events": ["job.completed", "job.failed", "job.progress"]
    },
    "status": "active",
    "created_at": "2025-01-15T10:30:00Z",
    "updated_at": "2025-01-15T10:30:00Z"
  },
  "webhook_secret": "whsec_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}

Retrieve an app

Retrieve an app by its ID.

POST /transcodely.v1.AppService/Get

Parameters

ParameterTypeRequiredDescription
idstringYesApp ID (e.g., "app_k1l2m3n4o5").

Returns

Returns an App object.

curl -X POST https://api.transcodely.com/transcodely.v1.AppService/Get 
  -H "Authorization: Bearer {{API_KEY}}" 
  -H "X-Organization-ID: {{ORG_ID}}" 
  -H "Content-Type: application/json" 
  -d '{"id": "app_k1l2m3n4o5"}'
{
  "app": {
    "id": "app_k1l2m3n4o5",
    "org_id": "org_f6g7h8i9j0",
    "name": "Production",
    "description": "Production video processing",
    "webhook": {
      "url": "https://api.example.com/webhooks/transcodely",
      "secret_hint": "x7w9",
      "has_secret": true,
      "events": ["job.completed", "job.failed", "job.progress"]
    },
    "status": "active",
    "created_at": "2025-01-15T10:30:00Z",
    "updated_at": "2025-01-15T10:30:00Z"
  }
}

Update an app

Update an app’s name, description, and webhook configuration.

POST /transcodely.v1.AppService/Update

Parameters

ParameterTypeRequiredDescription
idstringYesApp ID.
namestringNoNew display name (1-60 chars).
descriptionstringNoNew description (max 500 chars).
webhookobjectNoUpdated webhook configuration.
webhook.urlstringNoNew webhook URL. Set to empty string to disable webhooks.
webhook.regenerate_secretbooleanNoIf true, generate a new signing secret. The new secret is returned in the response.
webhook.eventsstring[]NoNew event subscriptions. Only applied if explicitly provided.

Returns

Returns the updated App object.

When regenerate_secret is true, the response also includes the new webhook_secret.

curl -X POST https://api.transcodely.com/transcodely.v1.AppService/Update 
  -H "Authorization: Bearer {{API_KEY}}" 
  -H "X-Organization-ID: {{ORG_ID}}" 
  -H "Content-Type: application/json" 
  -d '{
    "id": "app_k1l2m3n4o5",
    "name": "Production (v2)",
    "webhook": {
      "regenerate_secret": true
    }
  }'
{
  "app": {
    "id": "app_k1l2m3n4o5",
    "org_id": "org_f6g7h8i9j0",
    "name": "Production (v2)",
    "description": "Production video processing",
    "webhook": {
      "url": "https://api.example.com/webhooks/transcodely",
      "secret_hint": "p6q7",
      "has_secret": true,
      "events": ["job.completed", "job.failed", "job.progress"]
    },
    "status": "active",
    "created_at": "2025-01-15T10:30:00Z",
    "updated_at": "2025-02-28T15:00:00Z"
  },
  "webhook_secret": "whsec_r7s8t9u0v1w2x3y4z5a6b7c8d9e0f1g2"
}

List apps

List apps within an organization.

POST /transcodely.v1.AppService/List

Parameters

ParameterTypeRequiredDescription
org_idstringYesOrganization ID.
paginationobjectNoPagination parameters. See API Reference overview.
include_archivedbooleanNoIf true, include archived apps. Default: false.

Returns

Returns a list of App objects and pagination metadata.

curl -X POST https://api.transcodely.com/transcodely.v1.AppService/List 
  -H "Authorization: Bearer {{API_KEY}}" 
  -H "X-Organization-ID: {{ORG_ID}}" 
  -H "Content-Type: application/json" 
  -d '{
    "org_id": "org_f6g7h8i9j0",
    "pagination": {"limit": 20}
  }'
{
  "apps": [
    {
      "id": "app_k1l2m3n4o5",
      "org_id": "org_f6g7h8i9j0",
      "name": "Production",
      "description": "Production video processing",
      "webhook": {
        "url": "https://api.example.com/webhooks/transcodely",
        "has_secret": true,
        "events": ["job.completed", "job.failed", "job.progress"]
      },
      "status": "active",
      "created_at": "2025-01-15T10:30:00Z",
      "updated_at": "2025-01-15T10:30:00Z"
    }
  ],
  "pagination": {
    "next_cursor": "",
    "total_count": 1
  }
}

Archive an app

Soft-delete an app. Archived apps cannot create new resources, but existing jobs continue processing.

POST /transcodely.v1.AppService/Archive

Parameters

ParameterTypeRequiredDescription
idstringYesApp ID.

Returns

Returns the App object with status: "archived".

curl -X POST https://api.transcodely.com/transcodely.v1.AppService/Archive 
  -H "Authorization: Bearer {{API_KEY}}" 
  -H "X-Organization-ID: {{ORG_ID}}" 
  -H "Content-Type: application/json" 
  -d '{"id": "app_k1l2m3n4o5"}'
{
  "app": {
    "id": "app_k1l2m3n4o5",
    "org_id": "org_f6g7h8i9j0",
    "name": "Production",
    "status": "archived",
    "created_at": "2025-01-15T10:30:00Z",
    "updated_at": "2025-02-28T15:00:00Z",
    "archived_at": "2025-02-28T15:00:00Z"
  }
}