Request or change the workspace's capabilities

Select the use-case profiles, channels and destinations outbound should be authorized for, and accept the outbound policy by sending policy_version. The destination choice is explicit: all_countries: true (every destination except the sanctioned set) or countries naming at least one well-formed ISO 3166-1 alpha-2 code. A request with neither, with an empty list, or with an entry that is not a two-letter code is refused with 400 and nothing is written, so an active allowlist is never widened or emptied by a request that was refused. A verified workspace that accepts the policy and selects no custom profile is activated immediately within the profiles' default caps; anything else opens an Skysay review, and what is already active stays active until the review resolves. calling_rules cannot be set here; an operator records them on approval.

post/v1/organizations/{organization_id}/capabilities

Request

  • Base URL: https://api.skysay.ai
  • URL: https://api.skysay.ai/v1/organizations/{organization_id}/capabilities
  • Auth: none declared

Path parameters

organization_idstring required

Request body

accepted_bystring
all_countriesboolean

True authorizes every destination except the sanctioned set and ignores countries. Exactly one of all_countries: true or a non-empty countries is required; a request with neither is refused with 400 and nothing is written.

channelsstring[]

Omitted or empty falls back to the selected profiles' own channels.

countriesstring[]

The destination allowlist as ISO 3166-1 alpha-2 codes, used when all_countries is not true. An empty list is refused, and so is any entry that is not a well-formed two-letter code once normalized (the refusal names it). A few aliases are normalized (UAE, USA, UK).

limitsobject

Optional cap overrides; live_call_concurrency is always taken from the plan and never from this payload.

metadataobject

Free-form notes merged into the record. calling_rules and the retired metadata.operational_profile key are refused here: calling rules are set during Skysay approval.

policy_versionstring

Accepting the outbound policy here is what makes immediate activation possible for a verified workspace; without it the request goes to review.

profilesstring[] required

At least one valid use-case profile. Unknown keys are dropped; a selection with none left is refused.

Response

The stored record, active or pending review

all_countriesboolean

True: every destination except the sanctioned set is authorized and countries is empty. False: countries is the explicit allowlist. Activation through verification sets it true; a request chooses.

approved_atstring nullable
approved_bystring

self_serve for a request approved within the catalog, the operator who approved it, or the verification door that activated it.

approved_profilesstring[]
calling_rulesobject

The application calling rules an operator recorded on approval; {} when none apply.

channelsstring[]
compliance_profile_idstring

The verified business profile the record was activated against; empty until verification clears.

countriesstring[]

The destination allowlist as ISO 3166-1 alpha-2 codes when all_countries is false. A call or text to any other country is held for review.

created_atstring
customer_visible_messagestring

Server-composed status sentence for the workspace; display as-is.

destination_restrictionsstring[] nullable

Optional customer narrowing, intersected with current capabilities at admission. null means no additional customer restriction.

destination_revisioninteger

Revision required when saving optional destination restrictions.

idstring
limitsobject

The profile caps projected into the workspace's risk controls at its last activation or approval (per-day/per-minute call and SMS counts, unique destinations, daily voice and wallet spend in minor units). Empty when no profile caps were projected. The caps enforced right now are the workspace's risk controls, which an operator may have changed since; /v1/dashboard/capabilities reports those.

metadataobject
organization_idstring
policy_accepted_atstring nullable
policy_accepted_bystring
policy_versionstring
status'not_activated' | 'pending_review' | 'active' | 'suspended'
updated_atstring

Changes

No recorded changes to this operation across all 1 revision of this API.