Update SubAccount

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

PUT /organizations/update_subaccount

Updates a sub-account owned by the authenticated parent account (name, currency, limits, MFA, or status). Send organization_id plus the fields you want to change.

📘

Authorization

Only parent accounts can call this endpoint (put-subaccount permission + has_sub_accounts). The organization_id must be a sub-account whose parent_organization_id equals your organization.

HTTP Method & Path

PUT /organizations/update_subaccount

Base URL: https://api-v2.pandavideo.com.br

Authentication Requirements

  • Security Scheme: PandaAuth (apiKey)
  • Header: Authorization: <your_api_token> (no Bearer prefix)

Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringYesPanda API token (without Bearer prefix)

Request Body

Content-Type: application/json

organization_id is required. Include any combination of the optional fields (additionalProperties: false — unknown fields are rejected).

FieldTypeRequiredDescriptionConstraints
organization_idstring (uuid)YesSub-account to update
namestringNoNew display name1–255
statusstringNoNew statusEnum: active, blocked, deleted, inactive
currencystringNoCurrency (validated but not persisted by this endpoint)Enum: brl, usd
image_idstring | nullNoLogo/image referenceminLength 1
require_mfabooleanNoEnforce MFA for the sub-account
has_sub_accountsbooleanNoMark the org as a parent
storage_plannumberNoStorage limit (GB)≥ 1
traffic_plannumberNoMonthly bandwidth limit (GB)≥ 1
traffic_drm_plannumberNoDRM bandwidth limit (GB)≥ 1
⚠️

Status remapping gotcha: sending status: "inactive" (or omitting status while another status path runs) causes the backend to store the organization as blocked. active clears the canceled/blocked/deleted timestamps; blocked sets last_blocked_at; deleted stays deleted. Status changes also update the subscription record (e.g. inactive → subscription unpaid).

📘

You may send more than one field per request; each change emits its own audit event. currency is accepted by validation but this endpoint does not persist it.

Example — rename

{ "organization_id": "efcb5915-df17-46b6-bfd8-e8998bc94917", "name": "New Name" }

Example — change status

{ "organization_id": "efcb5915-df17-46b6-bfd8-e8998bc94917", "status": "active" }

Example — update limits

{ "organization_id": "efcb5915-df17-46b6-bfd8-e8998bc94917", "storage_plan": 50, "traffic_plan": 100 }

Response

Success Response (200)

{
  "organization_id": "efcb5915-df17-46b6-bfd8-e8998bc94917",
  "storage_plan": 50,
  "traffic_plan": 100,
  "traffic_drm_plan": 25,
  "status": "active",
  "name": "New Name",
  "image_id": "img_123"
}

Error Responses

  • 400 Bad Request — validation error (invalid/unknown field).
  • 401 Unauthorized — Invalid or missing API token.
  • 403 Forbidden"Verify permissions for the action" or "Only parent accounts can update subaccount limits".
  • 404 Not Found"Subaccount not found or not owned by parent account".
  • 500 Internal Server Error — Server error.

Example Usage

cURL

curl -X PUT \
  'https://api-v2.pandavideo.com.br/organizations/update_subaccount' \
  -H 'Authorization: your_api_token_here' \
  -H 'Content-Type: application/json' \
  -d '{ "organization_id": "efcb5915-df17-46b6-bfd8-e8998bc94917", "name": "New Name" }'
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json