The Organization object
Organizations are the top-level billing entity in Transcodely. Every app, API key, origin, preset, and job belongs to an organization. Users can be members of multiple organizations.
Base path: transcodely.v1.OrganizationService
Attributes
| Attribute | Type | Description |
|---|---|---|
id | string | Unique identifier. Prefixed with org_. |
slug | string | URL-safe slug, immutable after creation. 3-50 lowercase characters. |
display_name | string | Human-friendly display name. |
billing_email | string | Email for billing notifications. Omitted if not set. |
currency | string | ISO 4217 currency code (e.g., USD, EUR). |
status | enum | One of: active, suspended, deleted. |
created_at | string | ISO 8601 timestamp. |
updated_at | string | ISO 8601 timestamp. |
{
"id": "org_f6g7h8i9j0",
"slug": "acme-corp",
"display_name": "Acme Corporation",
"billing_email": "billing@acme.com",
"currency": "USD",
"status": "active",
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}Check slug availability
Check whether an organization slug is available before creating an organization.
Does not require X-Organization-ID header.
POST /transcodely.v1.OrganizationService/CheckSlugParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | The slug to check. 3-50 characters, normalized to lowercase. |
Returns
| Field | Type | Description |
|---|---|---|
available | boolean | Whether the slug is available for use. |
normalized_slug | string | The lowercase-normalized version of the slug. |
reason | string | If unavailable: "taken", "reserved", or "invalid_format". Omitted if available. |
message | string | Human-readable message about the slug. |
curl -X POST https://api.transcodely.com/transcodely.v1.OrganizationService/CheckSlug
-H "Authorization: Bearer {{API_KEY}}"
-H "Content-Type: application/json"
-d '{
"slug": "acme-corp"
}'{
"available": true,
"normalized_slug": "acme-corp",
"message": "Slug is available"
}Create an organization
Create a new organization. The authenticated user becomes the owner.
Does not require X-Organization-ID header.
POST /transcodely.v1.OrganizationService/CreateParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | URL-safe slug (3-50 chars). Must start with a letter, contain only lowercase letters, numbers, and hyphens. Cannot have consecutive hyphens or end with a hyphen. |
display_name | string | Yes | Human-friendly display name (1-100 chars). |
billing_email | string | No | Email for billing notifications. Must be a valid email address. |
currency | string | No | ISO 4217 currency code (3 chars). Defaults to "EUR". |
Returns
Returns an Organization object.
curl -X POST https://api.transcodely.com/transcodely.v1.OrganizationService/Create
-H "Authorization: Bearer {{API_KEY}}"
-H "Content-Type: application/json"
-d '{
"slug": "acme-corp",
"display_name": "Acme Corporation",
"billing_email": "billing@acme.com",
"currency": "USD"
}'{
"organization": {
"id": "org_f6g7h8i9j0",
"slug": "acme-corp",
"display_name": "Acme Corporation",
"billing_email": "billing@acme.com",
"currency": "USD",
"status": "active",
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}
}Retrieve an organization
Retrieve an organization by its ID or slug.
Does not require X-Organization-ID header.
POST /transcodely.v1.OrganizationService/GetParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id_or_slug | string | Yes | Organization ID (e.g., "org_f6g7h8i9j0") or slug (e.g., "acme-corp"). Values starting with org_ are treated as IDs. |
Returns
Returns an Organization object.
curl -X POST https://api.transcodely.com/transcodely.v1.OrganizationService/Get
-H "Authorization: Bearer {{API_KEY}}"
-H "Content-Type: application/json"
-d '{
"id_or_slug": "acme-corp"
}'{
"organization": {
"id": "org_f6g7h8i9j0",
"slug": "acme-corp",
"display_name": "Acme Corporation",
"billing_email": "billing@acme.com",
"currency": "USD",
"status": "active",
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}
}Update an organization
Update an organization’s display name and billing email. The slug cannot be changed after creation.
POST /transcodely.v1.OrganizationService/UpdateParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Organization ID (e.g., "org_f6g7h8i9j0"). |
display_name | string | No | New display name (1-100 chars). |
billing_email | string | No | New billing email. Must be a valid email address. |
Returns
Returns the updated Organization object.
curl -X POST https://api.transcodely.com/transcodely.v1.OrganizationService/Update
-H "Authorization: Bearer {{API_KEY}}"
-H "X-Organization-ID: {{ORG_ID}}"
-H "Content-Type: application/json"
-d '{
"id": "org_f6g7h8i9j0",
"display_name": "Acme Corp International",
"billing_email": "finance@acme.com"
}'{
"organization": {
"id": "org_f6g7h8i9j0",
"slug": "acme-corp",
"display_name": "Acme Corp International",
"billing_email": "finance@acme.com",
"currency": "USD",
"status": "active",
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-02-28T15:00:00Z"
}
}List organizations
List all organizations the authenticated user has access to.
Does not require X-Organization-ID header.
POST /transcodely.v1.OrganizationService/ListParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pagination | object | No | Pagination parameters. See API Reference overview. |
pagination.limit | integer | No | Max items to return (default: 20, max: 100). |
pagination.cursor | string | No | Cursor from previous response. |
include_inactive | boolean | No | If true, include suspended and deleted organizations. Default: false. |
Returns
Returns a list of Organization objects and pagination metadata.
curl -X POST https://api.transcodely.com/transcodely.v1.OrganizationService/List
-H "Authorization: Bearer {{API_KEY}}"
-H "Content-Type: application/json"
-d '{
"pagination": {
"limit": 10
}
}'{
"organizations": [
{
"id": "org_f6g7h8i9j0",
"slug": "acme-corp",
"display_name": "Acme Corporation",
"currency": "USD",
"status": "active",
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
}
],
"pagination": {
"next_cursor": "",
"total_count": 1
}
}