Search Documentation
Search across all documentation pages
Organizations

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

AttributeTypeDescription
idstringUnique identifier. Prefixed with org_.
slugstringURL-safe slug, immutable after creation. 3-50 lowercase characters.
display_namestringHuman-friendly display name.
billing_emailstringEmail for billing notifications. Omitted if not set.
currencystringISO 4217 currency code (e.g., USD, EUR).
statusenumOne of: active, suspended, deleted.
created_atstringISO 8601 timestamp.
updated_atstringISO 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/CheckSlug

Parameters

ParameterTypeRequiredDescription
slugstringYesThe slug to check. 3-50 characters, normalized to lowercase.

Returns

FieldTypeDescription
availablebooleanWhether the slug is available for use.
normalized_slugstringThe lowercase-normalized version of the slug.
reasonstringIf unavailable: "taken", "reserved", or "invalid_format". Omitted if available.
messagestringHuman-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/Create

Parameters

ParameterTypeRequiredDescription
slugstringYesURL-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_namestringYesHuman-friendly display name (1-100 chars).
billing_emailstringNoEmail for billing notifications. Must be a valid email address.
currencystringNoISO 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/Get

Parameters

ParameterTypeRequiredDescription
id_or_slugstringYesOrganization 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/Update

Parameters

ParameterTypeRequiredDescription
idstringYesOrganization ID (e.g., "org_f6g7h8i9j0").
display_namestringNoNew display name (1-100 chars).
billing_emailstringNoNew 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/List

Parameters

ParameterTypeRequiredDescription
paginationobjectNoPagination parameters. See API Reference overview.
pagination.limitintegerNoMax items to return (default: 20, max: 100).
pagination.cursorstringNoCursor from previous response.
include_inactivebooleanNoIf 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
  }
}