summaryrefslogtreecommitdiff
path: root/data/en_us/modelstudio
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/modelstudio')
-rw-r--r--data/en_us/modelstudio/2026-02-10/api-docs.php3037
1 files changed, 3037 insertions, 0 deletions
diff --git a/data/en_us/modelstudio/2026-02-10/api-docs.php b/data/en_us/modelstudio/2026-02-10/api-docs.php
new file mode 100644
index 0000000..409a75b
--- /dev/null
+++ b/data/en_us/modelstudio/2026-02-10/api-docs.php
@@ -0,0 +1,3037 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => ['style' => 'ROA', 'product' => 'ModelStudio', 'version' => '2026-02-10'],
+ 'directories' => [
+ [
+ 'children' => ['ListWorkspaces', 'CreateWorkspace', 'DeleteWorkspace'],
+ 'type' => 'directory',
+ 'title' => 'Business space',
+ ],
+ [
+ 'children' => ['ResetApiKey', 'EnableApiKey', 'DisableApiKey', 'CreateApiKey', 'UpdateApiKey', 'GetApiKey', 'ListApiKeys', 'DeleteApiKey'],
+ 'type' => 'directory',
+ 'title' => 'API Key',
+ ],
+ [
+ 'children' => ['AddOrganizationMember', 'BatchAssignSeats', 'BatchRevokeSeats', 'CreateTokenPlanInviteLink', 'CreateTokenPlanKey', 'GetOrganization', 'GetOrganizationMemberSeatStats', 'GetSubscriptionSeatDetails', 'GetSubscriptionStats', 'GetTokenPlanAccountDetail', 'GetTokenPlanInviteLink', 'GetTokenPlanOrgInviteConfig', 'ListOrganizationMembers', 'ListSubscriptionSharedPackages', 'RemoveOrganizationMember', 'RevokeTokenPlanInviteLink', 'RotateTokenPlanKey', 'SetTokenPlanOrgInviteConfig', 'UpdateOrganization', 'UpdateOrganizationMember'],
+ 'title' => 'Others',
+ 'type' => 'directory',
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'AddOrganizationMember' => [
+ 'summary' => 'Creates an account and directly adds it as a member.',
+ 'path' => '/tokenplan/organization/member-additions',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'AccountName',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The display name. If this parameter is not empty, the name field of the account is updated synchronously.', 'type' => 'string', 'required' => true, 'example' => '账号名称'],
+ ],
+ [
+ 'name' => 'OrgRoleCode',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The organization role code. Only ORG_ADMIN or ORG_MEMBER is allowed. Default value: ORG_MEMBER.', 'type' => 'string', 'required' => true, 'example' => 'ORG_MEMBER'],
+ ],
+ [
+ 'name' => 'SpecType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The seat specification. Valid values:'."\n"
+ ."\n"
+ .'- standard: standard seat.'."\n"
+ .'- pro: premium seat.'."\n"
+ .'- max: exclusive seat.', 'type' => 'string', 'required' => false, 'example' => 'standard', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<CreateAccountAddMemberDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => 'Success'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Success.'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccountId' => ['title' => '', 'description' => 'The account ID.', 'type' => 'string', 'example' => 'acc_123456789'],
+ 'SeatAssigned' => ['description' => 'Indicates whether the seat was assigned successfully.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ 'HttpStatusCode' => ['title' => '', 'description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => 'None'],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '385C2BC3-52FC-564F-9312-97E5DFE1DFC0'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Create a member',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:AddOrganizationMember',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"Success.\\",\\n \\"Data\\": {\\n \\"AccountId\\": \\"acc_123456789\\",\\n \\"SeatAssigned\\": true\\n },\\n \\"HttpStatusCode\\": 0,\\n \\"RequestId\\": \\"385C2BC3-52FC-564F-9312-97E5DFE1DFC0\\"\\n}","type":"json"}]',
+ ],
+ 'BatchAssignSeats' => [
+ 'summary' => 'Assigns seats in batches to the member level.',
+ 'path' => '/tokenplan/subscription/seat-assignments',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'SeatType',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The seat type. Valid values:'."\n"
+ .'- standard: standard seat'."\n"
+ .'- pro: pro seat'."\n"
+ .'- max: premium seat', 'type' => 'string', 'required' => true, 'example' => 'standard'],
+ ],
+ [
+ 'name' => 'AccountIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The list of target member IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The member ID.', 'type' => 'string', 'required' => false, 'example' => 'acc_123456789', 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Locale',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The language. Valid values: zh-CN and en-US.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'None'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Assign seats',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:BatchAssignSeats',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"None\\"\\n}","type":"json"}]',
+ ],
+ 'BatchRevokeSeats' => [
+ 'path' => '/tokenplan/subscription/seat-revocations',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'Items',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The list of revocation items. This parameter is required.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the send record list.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccountId' => ['title' => '', 'description' => 'The ID of the currently associated member.', 'type' => 'string', 'required' => false, 'example' => 'acc_123456789'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Locale',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The language. Valid values: zh-CN and en-US.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The error code. This parameter is empty if the request was successful.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The error message. This parameter is empty if the request was successful.', 'type' => 'string', 'example' => 'Successful'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Revoke seats',
+ 'summary' => 'Revokes member-level seats in batches.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\"\\n}","type":"json"}]',
+ ],
+ 'CreateApiKey' => [
+ 'summary' => 'Before using large models or applications in Alibaba Cloud Model Studio, create an API key as an authentication credential.',
+ 'path' => '/modelstudio/apikeys',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The workspace ID.'."\n"
+ .'> '."\n"
+ .'> - If you leave this parameter empty, the API key is automatically assigned to the default workspace.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'maxLength' => 128, 'example' => 'ws-8af73c50f5596193', 'title' => ''],
+ ],
+ [
+ 'name' => 'description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description.', 'type' => 'string', 'maxLength' => 200, 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'auth',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The API key permission settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'title' => '',
+ 'description' => 'Valid values:'."\n"
+ ."\n"
+ .'- All: all permissions.'."\n"
+ .'- Custom: custom permissions.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Custom',
+ 'default' => 'All',
+ 'enum' => ['All', 'Custom'],
+ ],
+ 'accessIps' => [
+ 'title' => '',
+ 'description' => 'The IP access whitelist.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'> - When you set custom permissions and leave the IP access whitelist empty, the server sets the default values to IPv4 (0.0.0.0/0) and IPv6 (::/0), which allows all traffic.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The IPv4 address, IPv6 address, or CIDR block.', 'type' => 'string', 'example' => '192.168.1.0/24', 'required' => false],
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '',
+ ],
+ 'modelAccessScope' => [
+ 'title' => '',
+ 'description' => 'The model access scope.',
+ 'type' => 'object',
+ 'properties' => [
+ 'allowAllModels' => ['title' => '', 'description' => 'Specifies whether all models with granted inference permissions in the workspace are accessible. Valid values:'."\n"
+ ."\n"
+ .'- true'."\n"
+ .'- false', 'type' => 'boolean', 'default' => 'true', 'required' => false, 'example' => 'false'],
+ 'accessibleModels' => [
+ 'title' => '',
+ 'description' => 'The list of accessible models.'."\n"
+ .'><notice>This parameter takes effect only when allowAllModels is set to false.></notice>',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The accessible model.', 'type' => 'string', 'required' => false, 'example' => 'qwen3.6-plus'],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'C0CDC72E-52D7-5BC8-9396-9276B4FDF6B3'],
+ 'code' => ['description' => 'The response code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ .'- true: Succeeded.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'apiKey' => [
+ 'description' => 'The API key information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'apiKeyValue' => ['description' => 'The value of the API key.'."\n"
+ .'><notice>Copy your API key immediately. Store it securely. Anyone who obtains this key can initiate service requests on your behalf and incur charges. If you lose the key, you can reset it or create a new one.></notice>', 'type' => 'string', 'example' => 'sk-ws-djI.8O7dkfkW2aICctnid4u4', 'title' => ''],
+ 'apiKeyId' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '1858636', 'title' => ''],
+ 'workspaceId' => ['description' => 'The workspace ID.', 'type' => 'string', 'example' => 'ws-3fa048e86117d91f', 'title' => ''],
+ 'description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'desc', 'title' => ''],
+ 'createdBy' => ['description' => 'The creator.', 'type' => 'string', 'example' => '1378030599924858', 'title' => ''],
+ 'gmtCreate' => ['description' => 'The creation time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1774338222000', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'You are not authorized to perform this action.', 'description' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C0CDC72E-52D7-5BC8-9396-9276B4FDF6B3\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"httpStatusCode\\": 200,\\n \\"success\\": true,\\n \\"apiKey\\": {\\n \\"apiKeyValue\\": \\"sk-ws-djI.8O7dkfkW2aICctnid4u4\\",\\n \\"apiKeyId\\": 1858636,\\n \\"workspaceId\\": \\"ws-3fa048e86117d91f\\",\\n \\"description\\": \\"desc\\",\\n \\"createdBy\\": \\"1378030599924858\\",\\n \\"gmtCreate\\": 1774338222000\\n }\\n}","type":"json"}]',
+ 'title' => 'Create an API key',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:CreateApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'CreateTokenPlanInviteLink' => [
+ 'summary' => 'Creates a TokenPlan member invitation link.',
+ 'path' => '/tokenplan/invite/link/create',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'ExpireType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The expiration period. Default value: DAYS_7. Valid values:'."\n"
+ ."\n"
+ .'- DAYS_7'."\n"
+ .'- DAYS_30'."\n"
+ .'- MONTHS_6'."\n"
+ .'- YEAR_1', 'type' => 'string', 'required' => false, 'example' => 'DAYS_7', 'title' => ''],
+ ],
+ [
+ 'name' => 'SsoSource',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The SSO logon method bound to the invitation link. Valid values:'."\n"
+ ."\n"
+ .'- SAML'."\n"
+ .'- DINGTALK', 'type' => 'string', 'required' => true, 'example' => 'SAML', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- true: The call was successful.'."\n"
+ .'- false: The call failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '404'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ 'Data' => [
+ 'description' => 'The business parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Token' => ['description' => 'The generated token.', 'type' => 'string', 'example' => 'sk-ws-D.****.*******', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Create a tokenPlan member invitation link',
+ 'description' => 'A user can have only one valid invitation link at a time.'."\n"
+ ."\n"
+ .'If the user already has a valid invitation link, this operation returns the existing link.'."\n"
+ ."\n"
+ .'To create a new link, call the RevokeTokenPlanInviteLink operation to invalidate the current link first.'."\n"
+ ."\n"
+ .'This operation returns only the generated token. The invitation link is assembled in the following format: `https://{host}/accept-invite?token=[token]&orgId=[orgId]`'."\n"
+ .'* For the China site, the host is tokenplan-enterprise.bailian.aliyunportal.com.'."\n"
+ .'* For the China site, the host is tokenplan-enterprise.modelstudio.aliyunportal.com.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"404\\",\\n \\"Message\\": \\"Successful\\",\\n \\"Data\\": {\\n \\"Token\\": \\"sk-ws-D.****.*******\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'CreateTokenPlanKey' => [
+ 'path' => '/tokenplan/api-keys',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The account ID.', 'type' => 'string', 'required' => true, 'example' => 'acc_123456789'],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The description of the key.', 'type' => 'string', 'required' => false, 'example' => 'APIKEY描述'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<CreateApiKeyDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The error code. This parameter is empty if the request is successful.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The error message. This parameter is empty if the request is successful.', 'type' => 'string', 'example' => 'Success.'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ApiKeyId' => ['title' => '', 'description' => 'The API key ID, which is automatically generated by the system.', 'type' => 'string', 'example' => 'ak-123456'],
+ 'SourceId' => ['title' => '', 'description' => 'The source_id returned by BaiLian.', 'type' => 'string', 'example' => '123'],
+ 'PlainApiKey' => ['title' => '', 'description' => 'The plaintext API key returned by BaiLian. This value is returned only once when the key is created.', 'type' => 'string', 'example' => 'sk-ws.abc123456'],
+ 'MaskedApiKey' => ['title' => '', 'description' => 'The masked API key returned by BaiLian, such as sk_***cdef.', 'type' => 'string', 'example' => 'sk_***6'],
+ 'Description' => ['title' => '', 'description' => 'The description of the key.', 'type' => 'string', 'example' => 'APIKEY描述'],
+ 'CreatedAt' => ['title' => '', 'description' => 'The time when the key was created.', 'type' => 'string', 'example' => '2025-07-18T03:19:17Z'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Generate API key',
+ 'summary' => 'Creates a UAC API key.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:CreateTokenPlanKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success.\\",\\n \\"Data\\": {\\n \\"ApiKeyId\\": \\"ak-123456\\",\\n \\"SourceId\\": \\"123\\",\\n \\"PlainApiKey\\": \\"sk-ws.abc123456\\",\\n \\"MaskedApiKey\\": \\"sk_***6\\",\\n \\"Description\\": \\"APIKEY描述\\",\\n \\"CreatedAt\\": \\"2025-07-18T03:19:17Z\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'CreateWorkspace' => [
+ 'summary' => 'Creates a business workspace.',
+ 'path' => '/modelstudio/workspaces',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the business workspace.', 'type' => 'string', 'required' => true, 'maxLength' => 30, 'example' => 'workspace_test', 'title' => ''],
+ ],
+ [
+ 'name' => 'serviceSite',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'type' => 'string', 'required' => false, 'example' => 'global', 'maxLength' => 30, 'description' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => 'The response status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'workspace' => [
+ 'description' => 'The business workspace information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceId' => ['description' => 'The business workspace ID.', 'type' => 'string', 'example' => 'ws-ac3ef438bec22dc5', 'title' => ''],
+ 'workspaceName' => ['description' => 'The name of the business workspace.', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'region' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
+ 'apiHost' => ['description' => 'API Host。', 'type' => 'string', 'example' => 'llm-34o9ts1dai60z5sf.cn-beijing.maas.aliyuncs.com', 'title' => ''],
+ 'gmtCreate' => ['description' => 'The creation time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1742785623772', 'title' => ''],
+ 'serviceSite' => ['description' => 'The service deployment scope. For more information, see [documentation](https://www.alibabacloud.com/help/zh/model-studio/regions/).', 'type' => 'string', 'example' => 'global', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'BB521414-5D38-5E66-AA66-963B2B4200E2'],
+ 'success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Create a business workspace',
+ 'changeSet' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"200\\",\\n \\"workspace\\": {\\n \\"workspaceId\\": \\"ws-ac3ef438bec22dc5\\",\\n \\"workspaceName\\": \\"default\\",\\n \\"region\\": \\"cn-beijing\\",\\n \\"apiHost\\": \\"llm-34o9ts1dai60z5sf.cn-beijing.maas.aliyuncs.com\\",\\n \\"gmtCreate\\": 1742785623772,\\n \\"serviceSite\\": \\"global\\"\\n },\\n \\"httpStatusCode\\": 200,\\n \\"message\\": \\"success\\",\\n \\"requestId\\": \\"BB521414-5D38-5E66-AA66-963B2B4200E2\\",\\n \\"success\\": true\\n}","type":"json"}]',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:CreateWorkspace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DeleteApiKey' => [
+ 'summary' => 'Deletes an authentication credential API key.',
+ 'path' => '/modelstudio/apikeys/{apiKeyId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'apiKeyId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The API key ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1528339', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => 'The status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'ok', 'title' => ''],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '099A671E-FA21-5A36-8A73-918572DDEF53'],
+ 'success' => ['description' => 'Indicates whether the API call was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Delete an API key',
+ 'changeSet' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"200\\",\\n \\"httpStatusCode\\": 200,\\n \\"message\\": \\"ok\\",\\n \\"requestId\\": \\"099A671E-FA21-5A36-8A73-918572DDEF53\\",\\n \\"success\\": true\\n}","type":"json"}]',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'modelstudio:DeleteApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DeleteWorkspace' => [
+ 'summary' => 'Deletes a workspace.',
+ 'path' => '/modelstudio/workspaces/{workspaceId}',
+ 'methods' => ['delete'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The workspace ID.', 'type' => 'string', 'required' => true, 'maxLength' => 64, 'example' => 'ws-32klhjk2312334jkh', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => 'The response status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'isDeleted' => ['description' => 'Indicates whether the workspace is successfully deleted. Valid values:'."\n"
+ ."\n"
+ .'- true: Succeeded.'."\n"
+ ."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'failReasons' => [
+ 'description' => 'The list of failure reasons.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The failure reason.',
+ 'type' => 'object',
+ 'properties' => [
+ 'reason' => ['description' => 'The specific reason.', 'type' => 'string', 'example' => 'API Key exists. Please clear them first.', 'title' => ''],
+ 'resourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'API Key', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DFD55E7B-0615-5343-BDA0-FBEE86F29935'],
+ 'success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Succeeded.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Delete a workspace',
+ 'description' => 'A workspace can be deleted only if the following conditional requirements are met:'."\n"
+ ."\n"
+ .'1. The workspace is not the default workspace.'."\n"
+ .'2. The workspace is not used to purchase other products, such as AMB.'."\n"
+ .'3. In permission management, the workspace is not granted to Resource Access Management (RAM) users or RAM roles.'."\n"
+ .'4. The workspace does not contain any resources, such as API keys, model deployments, or knowledge bases.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"200\\",\\n \\"isDeleted\\": true,\\n \\"failReasons\\": [\\n {\\n \\"reason\\": \\"API Key exists. Please clear them first.\\",\\n \\"resourceType\\": \\"API Key\\"\\n }\\n ],\\n \\"httpStatusCode\\": 200,\\n \\"message\\": \\"success\\",\\n \\"requestId\\": \\"DFD55E7B-0615-5343-BDA0-FBEE86F29935\\",\\n \\"success\\": true\\n}","type":"json"}]',
+ ],
+ 'DisableApiKey' => [
+ 'path' => '/modelstudio/apikeys/{apiKeyId}/disable',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'apiKeyId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '3268483', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '36045E0A-551D-592D-B1BC-4C56596CE59E'],
+ 'code' => ['description' => 'The error code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ .'- true: The request was successful.'."\n"
+ .'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'ApiKey.Already.Disabled', 'errorMessage' => 'API Key is already disabled.', 'description' => 'API Key is already disabled.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Disable an API key',
+ 'summary' => 'Disables an API key.',
+ 'description' => 'An API key that is already disabled cannot be disabled again.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:DisableApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"36045E0A-551D-592D-B1BC-4C56596CE59E\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"httpStatusCode\\": 200,\\n \\"success\\": true\\n}","type":"json"}]',
+ ],
+ 'EnableApiKey' => [
+ 'path' => '/modelstudio/apikeys/{apiKeyId}/enable',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'apiKeyId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '3076140', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'BB521414-5D38-5E66-AA66-963B2B4200E2'],
+ 'code' => ['description' => 'The status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'ok', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'success' => ['description' => 'Indicates whether the API call was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'ApiKey.Already.Enabled', 'errorMessage' => 'ApiKey is already enabled.', 'description' => 'The API Key is already in active status.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Enable an API key',
+ 'summary' => 'Enables an API key.',
+ 'description' => 'An API key that is already enabled cannot be enabled again.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:EnableApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"BB521414-5D38-5E66-AA66-963B2B4200E2\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"ok\\",\\n \\"httpStatusCode\\": 200,\\n \\"success\\": true\\n}","type":"json"}]',
+ ],
+ 'GetApiKey' => [
+ 'summary' => 'Retrieves the information about a specified API key.',
+ 'path' => '/modelstudio/apikeys/{apiKeyId}',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'apiKeyId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '2984618', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => 'The response status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DFD55E7B-0615-5343-BDA0-FBEE86F29935'],
+ 'success' => ['description' => 'Indicates whether the request was successful.'."\n"
+ .'- true: The request was successful.'."\n"
+ .'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'apiKey' => [
+ 'description' => 'The API key information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'apiKeyId' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2965964', 'title' => ''],
+ 'apiKeyValue' => ['description' => 'The value of the API key.', 'type' => 'string', 'example' => 'sk-ws-djI.mhU0D****testtestest', 'title' => ''],
+ 'gmtCreate' => ['description' => 'The time when the API key was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1774338222000', 'title' => ''],
+ 'workspaceId' => ['description' => 'The workspace ID.', 'type' => 'string', 'example' => 'ws-b2d30f148c236908', 'title' => ''],
+ 'description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'v7', 'title' => ''],
+ 'createdBy' => ['description' => 'The creator.', 'type' => 'string', 'example' => '1378030599924858', 'title' => ''],
+ 'disabled' => [
+ 'description' => 'Indicates whether the API key is disabled.'."\n"
+ ."\n"
+ .'- **0**: Active.'."\n"
+ .'- **1**: Disabled.',
+ 'enumValueTitles' => ['Active.', 'Disabled.'],
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'enum' => ['0', '1'],
+ 'example' => '0',
+ 'title' => '',
+ ],
+ 'auth' => [
+ 'title' => '',
+ 'description' => 'The permission settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => ['title' => '', 'description' => 'All: all permissions. Custom: custom permissions.', 'type' => 'string', 'example' => 'Custom'],
+ 'accessIps' => [
+ 'title' => '',
+ 'description' => 'The IP access whitelist.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'Supports IPv4, IPv6, and CIDR blocks.', 'type' => 'string', 'example' => '192.168.1.0/24'],
+ 'example' => '',
+ ],
+ 'modelAccessScope' => [
+ 'title' => '',
+ 'description' => 'The model access scope.',
+ 'type' => 'object',
+ 'properties' => [
+ 'allowAllModels' => ['title' => '', 'description' => 'Indicates whether all models with granted inference permissions in the workspace can be accessed. Valid values:'."\n"
+ ."\n"
+ .'- true'."\n"
+ .'- false', 'type' => 'boolean', 'example' => 'false'],
+ 'accessibleModels' => [
+ 'title' => '',
+ 'description' => 'The list of accessible models.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The accessible model.', 'type' => 'string', 'example' => 'qwen3.7-plus'],
+ 'example' => '',
+ ],
+ ],
+ 'docRequired' => false,
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"200\\",\\n \\"httpStatusCode\\": 200,\\n \\"message\\": \\"success\\",\\n \\"requestId\\": \\"DFD55E7B-0615-5343-BDA0-FBEE86F29935\\",\\n \\"success\\": true,\\n \\"apiKey\\": {\\n \\"apiKeyId\\": 2965964,\\n \\"apiKeyValue\\": \\"sk-ws-djI.mhU0D****testtestest\\",\\n \\"gmtCreate\\": 1774338222000,\\n \\"workspaceId\\": \\"ws-b2d30f148c236908\\",\\n \\"description\\": \\"v7\\",\\n \\"createdBy\\": \\"1378030599924858\\",\\n \\"disabled\\": 0,\\n \\"auth\\": {\\n \\"type\\": \\"Custom\\",\\n \\"accessIps\\": [\\n \\"192.168.1.0/24\\"\\n ],\\n \\"modelAccessScope\\": {\\n \\"allowAllModels\\": false,\\n \\"accessibleModels\\": [\\n \\"qwen3.7-plus\\"\\n ]\\n }\\n }\\n }\\n}","type":"json"}]',
+ 'title' => 'Query a specified API key',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'GetOrganization' => [
+ 'path' => '/tokenplan/organization',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<OrgDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'OrgId' => ['title' => '', 'description' => 'The organization ID.', 'type' => 'string', 'example' => 'org_123456789'],
+ 'NamespaceId' => ['title' => '', 'description' => 'The product namespace ID.', 'type' => 'string', 'example' => 'namespace-1'],
+ 'Name' => ['title' => '', 'description' => 'The organization name.', 'type' => 'string', 'example' => '组织名称'],
+ 'Description' => ['title' => '', 'description' => 'The organization description.', 'type' => 'string', 'example' => '组织描述'],
+ 'Status' => ['title' => '', 'description' => 'The status. Valid values: ACTIVE and FROZEN.', 'type' => 'string', 'example' => 'ACTIVE'],
+ 'OwnerId' => ['title' => '', 'description' => 'The UAC account ID of the organization owner.', 'type' => 'string', 'example' => 'acc_123456789'],
+ 'OwnerBizAccountId' => ['title' => '', 'description' => 'The business account identifier of the organization owner. The value is aliyunUid for the ALIYUN type and userIdentifier for the SSO type.', 'type' => 'string', 'example' => '1543686331379464'],
+ 'GmtCreate' => ['title' => '', 'description' => 'The creation time.', 'type' => 'string', 'example' => '2025-11-20T02:26:35Z'],
+ 'GmtModified' => ['title' => '', 'description' => 'The modification time.', 'type' => 'string', 'example' => '2025-11-13T02:11:56Z'],
+ ],
+ 'example' => '',
+ ],
+ 'HttpStatusCode' => ['title' => '', 'description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
+ 'RequestId' => ['title' => '', 'description' => 'The unique request ID.', 'type' => 'string', 'example' => '0CB5868D-C6E5-59A6-A20A-C39EB2E75BDE'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Get information about a specified organization',
+ 'summary' => 'Retrieves information about a specified organization.',
+ 'description' => 'Retrieves information about a specified organization by OrgId.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"Data\\": {\\n \\"OrgId\\": \\"org_123456789\\",\\n \\"NamespaceId\\": \\"namespace-1\\",\\n \\"Name\\": \\"组织名称\\",\\n \\"Description\\": \\"组织描述\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"OwnerId\\": \\"acc_123456789\\",\\n \\"OwnerBizAccountId\\": \\"1543686331379464\\",\\n \\"GmtCreate\\": \\"2025-11-20T02:26:35Z\\",\\n \\"GmtModified\\": \\"2025-11-13T02:11:56Z\\"\\n },\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"0CB5868D-C6E5-59A6-A20A-C39EB2E75BDE\\"\\n}","type":"json"}]',
+ ],
+ 'GetOrganizationMemberSeatStats' => [
+ 'path' => '/tokenplan/organization/member-seat-stats',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'OrgMemberStatsWithSeatDTO',
+ 'type' => 'object',
+ 'properties' => [
+ 'OrgId' => ['title' => '', 'description' => 'The organization ID.', 'type' => 'string', 'example' => '5ffd468b1e45db3c1cc26ad6'],
+ 'TotalMemberCount' => ['title' => '', 'description' => 'The total number of members.', 'type' => 'integer', 'format' => 'int32', 'example' => '12'],
+ 'OwnerRoleUserCount' => ['title' => '', 'description' => 'The number of owner accounts (ORG_OWNER role).', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'AdminRoleUserCount' => ['title' => '', 'description' => 'The number of administrators (ORG_ADMIN role).', 'type' => 'integer', 'format' => 'int32', 'example' => '3'],
+ 'MemberRoleUserCount' => ['title' => '', 'description' => 'The number of regular members (ORG_MEMBER role).', 'type' => 'integer', 'format' => 'int32', 'example' => '8'],
+ 'SeatedMemberCount' => ['title' => '', 'description' => 'The number of members with assigned seats.', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'UnseatedMemberCount' => ['title' => '', 'description' => 'The number of members without assigned seats.', 'type' => 'integer', 'format' => 'int32', 'example' => '10'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Member management - display member count and seat count',
+ 'summary' => 'Queries organization member statistics information, including the total number of members, the number of administrators, the number of regular members, the number of members with allocated seats, and the number of members without allocated seats.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrgId\\": \\"5ffd468b1e45db3c1cc26ad6\\",\\n \\"TotalMemberCount\\": 12,\\n \\"OwnerRoleUserCount\\": 1,\\n \\"AdminRoleUserCount\\": 3,\\n \\"MemberRoleUserCount\\": 8,\\n \\"SeatedMemberCount\\": 2,\\n \\"UnseatedMemberCount\\": 10\\n}","type":"json"}]',
+ ],
+ 'GetSubscriptionSeatDetails' => [
+ 'summary' => 'Queries seat details by paging.',
+ 'path' => '/tokenplan/subscription/seat-detail',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => false, 'notSupportAutoTestReason' => '紧急发布', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. Default value: 1. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'StatusList',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => 'The list of seat statuses used for filtering.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The seat status. Valid values:'."\n"
+ ."\n"
+ .'- CREATING: being created.'."\n"
+ .'- NORMAL: active.'."\n"
+ .'- LIMIT: restricted due to overdue payment.'."\n"
+ .'- RELEASE: released upon expiration.'."\n"
+ .'- STOP: stopped upon expiration.'."\n"
+ .'- REFUNDED: refunded.', 'type' => 'string', 'required' => false, 'example' => 'NORMAL', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'SeatId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The seat ID.', 'type' => 'string', 'required' => false, 'example' => 'seat-123456', 'title' => ''],
+ ],
+ [
+ 'name' => 'SeatType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The seat type (specType). Valid values:'."\n"
+ ."\n"
+ .'- standard: standard seat.'."\n"
+ .'- pro: pro seat.'."\n"
+ .'- max: premium seat.', 'type' => 'string', 'required' => false, 'example' => 'standard', 'title' => ''],
+ ],
+ [
+ 'name' => 'QueryAssigned',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The seat assignment status filter. Set to true for assigned seats, false for unassigned seats, or null for all seats.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<PageQueryResourceSeatResponse>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'OK'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Items' => [
+ 'description' => 'The data items.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The data items.',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceCode' => ['description' => 'The instance code of the seat.', 'type' => 'string', 'example' => 'subs-1234567', 'title' => ''],
+ 'EquityList' => [
+ 'description' => 'The currently active equity instances. For TokenPlan products, this list contains only one active equity instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EquityType' => ['description' => 'The equity type, such as CREDITS, SPN, or resource plan.', 'type' => 'string', 'example' => 'CREDITS', 'title' => ''],
+ 'CycleInstanceId' => ['description' => 'The equity code (subscription code). This does not need to be consumed in CREDITS scenarios.', 'type' => 'string', 'example' => '123456', 'title' => ''],
+ 'CycleStartTime' => ['description' => 'The start time of the current cycle, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1775232000', 'title' => ''],
+ 'CycleEndTime' => ['description' => 'The end time of the current cycle, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1755273600', 'title' => ''],
+ 'CycleTotalValue' => ['description' => 'The total quota of the current cycle.', 'type' => 'number', 'format' => 'double', 'example' => '100.00000000', 'title' => ''],
+ 'CycleSurplusValue' => ['description' => 'The remaining quota of the current cycle.', 'type' => 'number', 'format' => 'double', 'example' => '40.00000000', 'title' => ''],
+ 'CycleVersion' => ['description' => 'The time-series version of the current cycle.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndTime' => ['description' => 'The expiration time of the seat.', 'type' => 'integer', 'format' => 'int64', 'example' => '1781422733', 'title' => ''],
+ 'SeatId' => ['description' => 'The seat ID.', 'type' => 'string', 'example' => 'seat_123456', 'title' => ''],
+ 'SpecType' => ['description' => 'The seat type. Valid values: '."\n"
+ ."\n"
+ .'- standard: standard seat.'."\n"
+ .'- pro: pro seat.'."\n"
+ .'- max: premium seat.', 'type' => 'string', 'example' => 'standard', 'title' => ''],
+ 'StartTime' => ['description' => 'The start time of the seat.', 'type' => 'integer', 'format' => 'int64', 'example' => '1781422733', 'title' => ''],
+ 'AssignedStatus' => ['description' => 'The assignment status. Valid values:'."\n"
+ ."\n"
+ .'- ASSIGNED'."\n"
+ .'- UNASSIGNED', 'type' => 'string', 'example' => 'ASSIGNED', 'title' => ''],
+ 'AccountId' => ['description' => 'The ID of the attached member accounts.', 'type' => 'string', 'example' => 'acc_123456789', 'title' => ''],
+ 'AccountName' => ['description' => 'The name of the member accounts.', 'type' => 'string', 'example' => 'ExampleName', 'title' => ''],
+ 'AccountEmail' => ['description' => 'The mailbox of the member accounts.', 'type' => 'string', 'example' => 'test@email.com', 'title' => ''],
+ 'Status' => ['description' => 'The seat status. Valid values:'."\n"
+ .'- CREATING: being created.'."\n"
+ .'- NORMAL: active.'."\n"
+ .'- LIMIT: restricted due to overdue payment.'."\n"
+ .'- RELEASE: released upon expiration.'."\n"
+ .'- STOP: stopped upon expiration.'."\n"
+ .'- REFUNDED: refunded.', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Total' => ['description' => 'The total number of seats.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'PageNo' => ['description' => 'The page number. The value is greater than 0 and does not exceed the maximum value of the Integer data type.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Subscription details - seat list',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetSubscriptionSeatDetails',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Items\\": [\\n {\\n \\"InstanceCode\\": \\"subs-1234567\\",\\n \\"EquityList\\": [\\n {\\n \\"EquityType\\": \\"CREDITS\\",\\n \\"CycleInstanceId\\": \\"123456\\",\\n \\"CycleStartTime\\": 1775232000,\\n \\"CycleEndTime\\": 1755273600,\\n \\"CycleTotalValue\\": 100,\\n \\"CycleSurplusValue\\": 40,\\n \\"CycleVersion\\": 1\\n }\\n ],\\n \\"EndTime\\": 1781422733,\\n \\"SeatId\\": \\"seat_123456\\",\\n \\"SpecType\\": \\"standard\\",\\n \\"StartTime\\": 1781422733,\\n \\"AssignedStatus\\": \\"ASSIGNED\\",\\n \\"AccountId\\": \\"acc_123456789\\",\\n \\"AccountName\\": \\"ExampleName\\",\\n \\"AccountEmail\\": \\"test@email.com\\",\\n \\"Status\\": \\"NORMAL\\"\\n }\\n ],\\n \\"Total\\": 100,\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 10\\n }\\n}","type":"json"}]',
+ ],
+ 'GetSubscriptionStats' => [
+ 'summary' => 'Queries the number of members and seats for member management.',
+ 'path' => '/tokenplan/subscription/stats',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<SubscriptionInfoDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'successful'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SubscriptionStartTime' => ['title' => '', 'description' => 'The subscription start time, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1781422733'],
+ 'SubscriptionEndTime' => ['title' => '', 'description' => 'The subscription end time, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1781422734'],
+ 'Items' => [
+ 'title' => '',
+ 'description' => 'The list of seat information, grouped by specType.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SeatType' => ['title' => '', 'description' => 'The seat type (specType). Valid values:'."\n"
+ .'- standard: Standard seat.'."\n"
+ .'- pro: Pro seat.'."\n"
+ .'- max: Premium seat.', 'type' => 'string', 'example' => 'standard'],
+ 'SeatRefreshTime' => ['title' => '', 'description' => 'The refresh time of the current cycle, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1781422734'],
+ 'TotalSeats' => ['title' => '', 'description' => 'The total number of seats.', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'AssignedSeats' => ['title' => '', 'description' => 'The number of assigned seats.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'SeatCredits' => ['title' => '', 'description' => 'The total credits quota for the seat.', 'type' => 'number', 'format' => 'double', 'example' => '100'],
+ 'SeatRemainingCredits' => ['title' => '', 'description' => 'The remaining credits for the current cycle.', 'type' => 'number', 'format' => 'double', 'example' => '40'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Member management - display member and seat counts',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Data\\": {\\n \\"SubscriptionStartTime\\": 1781422733,\\n \\"SubscriptionEndTime\\": 1781422734,\\n \\"Items\\": [\\n {\\n \\"SeatType\\": \\"standard\\",\\n \\"SeatRefreshTime\\": 1781422734,\\n \\"TotalSeats\\": 2,\\n \\"AssignedSeats\\": 1,\\n \\"SeatCredits\\": 100,\\n \\"SeatRemainingCredits\\": 40\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'GetTokenPlanAccountDetail' => [
+ 'path' => '/tokenplan/account',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<AccountDetailDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Success.'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccountId' => ['title' => '', 'description' => 'The account ID.', 'type' => 'string', 'example' => 'acc_123456789'],
+ 'AccountType' => ['title' => '', 'description' => 'The account type. Valid values:'."\n"
+ ."\n"
+ .'- ALIYUN '."\n"
+ .'- SSO '."\n"
+ .'- SA', 'type' => 'string', 'example' => 'ALIYUN'],
+ 'IsDeleted' => ['title' => '', 'description' => 'The global status of the account. A value of 0 indicates Normal. A value of 1 indicates Frozen.', 'type' => 'boolean', 'example' => '0'],
+ 'Name' => ['title' => '', 'description' => 'The display name of the account.', 'type' => 'string', 'example' => 'test_name'],
+ 'AliyunUid' => ['title' => '', 'description' => 'The Alibaba Cloud UID. This parameter applies only to accounts of the ALIYUN type.', 'type' => 'string', 'example' => '1122334455'],
+ 'Email' => ['title' => '', 'description' => 'The email address. This parameter applies only to accounts of the SSO type.', 'type' => 'string', 'example' => 'test@email.com'],
+ 'CreatedAt' => ['title' => '', 'description' => 'The time when the account was created.', 'type' => 'string', 'example' => 'Thu May 28 14:33:52 CST 2026'],
+ 'OrgMemberships' => [
+ 'title' => '',
+ 'description' => 'The list of organization memberships in a tree structure (organization → workspace).',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OrgId' => ['title' => '', 'description' => 'The organization ID.', 'type' => 'string', 'example' => 'org_123456789'],
+ 'MemberStatus' => ['title' => '', 'description' => 'The organization member status. Valid values:'."\n"
+ ."\n"
+ .'- ACTIVE '."\n"
+ .'- INITIAL '."\n"
+ .'- FROZEN', 'type' => 'string', 'example' => 'ENABLE'],
+ 'RoleId' => ['title' => '', 'description' => 'The organization role ID.', 'type' => 'string', 'example' => 'SYSTEM_ROLE_ORG_OWNER'],
+ 'RoleCode' => ['title' => '', 'description' => 'The organization role code. Valid values:'."\n"
+ ."\n"
+ .'- ORG_OWNER'."\n"
+ .'- ORG_ADMIN'."\n"
+ .'- ORG_MEMBER', 'type' => 'string', 'example' => 'ORG_MEMBER'],
+ 'Workspaces' => [
+ 'title' => '',
+ 'description' => 'The list of workspaces that the account has joined under the organization.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The workspace list.',
+ 'type' => 'object',
+ 'properties' => [
+ 'WorkspaceId' => ['title' => '', 'description' => 'The workspace ID.', 'type' => 'string', 'example' => 'ws_123456789'],
+ 'MemberStatus' => ['title' => '', 'description' => 'The member status. Valid values:'."\n"
+ .'- ACTIVE '."\n"
+ .'- FROZEN', 'type' => 'string', 'example' => 'ACTIVE'],
+ 'RoleId' => ['title' => '', 'description' => 'The workspace role ID.', 'type' => 'string', 'example' => 'SYSTEM_ROLE_WS_ADMIN'],
+ 'RoleCode' => ['title' => '', 'description' => 'The workspace role code. Valid values:'."\n"
+ .'- WS_ADMIN'."\n"
+ .'- WS_MEMBER', 'type' => 'string', 'example' => 'WS_ADMIN'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ 'HttpStatusCode' => ['title' => '', 'description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200'],
+ 'RequestId' => ['title' => '', 'description' => 'The unique request ID.', 'type' => 'string', 'example' => 'C0DC05D9-C506-519B-AFF3-2B00165176E4'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Retrieve organization information for an account',
+ 'summary' => 'Retrieves the TokenPlan account details and organization information.',
+ 'description' => 'Retrieves the TokenPlan management platform account information when the user is logged in.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success.\\",\\n \\"Data\\": {\\n \\"AccountId\\": \\"acc_123456789\\",\\n \\"AccountType\\": \\"ALIYUN\\",\\n \\"IsDeleted\\": true,\\n \\"Name\\": \\"test_name\\",\\n \\"AliyunUid\\": \\"1122334455\\",\\n \\"Email\\": \\"test@email.com\\",\\n \\"CreatedAt\\": \\"Thu May 28 14:33:52 CST 2026\\",\\n \\"OrgMemberships\\": [\\n {\\n \\"OrgId\\": \\"org_123456789\\",\\n \\"MemberStatus\\": \\"ENABLE\\",\\n \\"RoleId\\": \\"SYSTEM_ROLE_ORG_OWNER\\",\\n \\"RoleCode\\": \\"ORG_MEMBER\\",\\n \\"Workspaces\\": [\\n {\\n \\"WorkspaceId\\": \\"ws_123456789\\",\\n \\"MemberStatus\\": \\"ACTIVE\\",\\n \\"RoleId\\": \\"SYSTEM_ROLE_WS_ADMIN\\",\\n \\"RoleCode\\": \\"WS_ADMIN\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"C0DC05D9-C506-519B-AFF3-2B00165176E4\\"\\n}","type":"json"}]',
+ ],
+ 'GetTokenPlanInviteLink' => [
+ 'summary' => 'Retrieves the TokenPlan member invitation link.',
+ 'path' => '/tokenplan/invite/link/get',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'False'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ 'Data' => [
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Token' => ['description' => 'The generated token.', 'type' => 'string', 'example' => 'sk-ws-D.****.*******', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The expiration time. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1778379206', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Retrieve tokenPlan member invitation link',
+ 'description' => 'This operation returns only the generated token and expiration time. The invitation link is assembled in the following format: `https://{host}/accept-invite?token=[token]&orgId=[orgId]`'."\n"
+ .'* For the China site, the host is tokenplan-enterprise.bailian.aliyunportal.com.'."\n"
+ .'* For the international site, the host is tokenplan-enterprise.modelstudio.aliyunportal.com.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"Data\\": {\\n \\"Token\\": \\"sk-ws-D.****.*******\\",\\n \\"ExpireTime\\": 1778379206\\n }\\n}","type":"json"}]',
+ ],
+ 'GetTokenPlanOrgInviteConfig' => [
+ 'path' => '/tokenplan/invite/config/get',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ 'Data' => [
+ 'description' => 'The data result of the current category statistics.',
+ 'type' => 'object',
+ 'properties' => [
+ 'OrgId' => ['description' => 'The organization ID.', 'type' => 'string', 'example' => 'org_123456789', 'title' => ''],
+ 'DefaultRoleId' => ['description' => 'The default organization role ID to assign. Valid values:'."\n"
+ ."\n"
+ .'- SYSTEM_ROLE_ORG_ADMIN'."\n"
+ .'- SYSTEM_ROLE_ORG_MEMBER', 'type' => 'string', 'example' => 'ORG_MEMBER', 'title' => ''],
+ 'SeatAssignStrategy' => ['description' => 'The default seat allocation strategy. Valid values:'."\n"
+ ."\n"
+ .'- HIGH_TO_LOW'."\n"
+ .'- LOW_TO_HIGH '."\n"
+ .'- NONE', 'type' => 'string', 'example' => 'NONE', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Get tokenPlan member invitation configuration',
+ 'summary' => 'Retrieves the TokenPlan member invitation configuration.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"Data\\": {\\n \\"OrgId\\": \\"org_123456789\\",\\n \\"DefaultRoleId\\": \\"ORG_MEMBER\\",\\n \\"SeatAssignStrategy\\": \\"NONE\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'ListApiKeys' => [
+ 'summary' => 'Retrieves a list of API key information for authentication credentials.',
+ 'path' => '/modelstudio/apikeys',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token used to retrieve more results. This parameter is not required for the first query. For subsequent queries, use the token obtained from the previous response.', 'type' => 'string', 'required' => false, 'example' => 'w9Z+S5+TZyw=', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '10', 'default' => '10', 'required' => false, 'example' => '30', 'title' => ''],
+ ],
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The workspace ID for exact match.', 'type' => 'string', 'maxLength' => 64, 'required' => false, 'example' => 'ws-ac3ef438bec22dc5', 'title' => ''],
+ ],
+ [
+ 'name' => 'apiKeyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The API key ID for exact match.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3076140', 'title' => ''],
+ ],
+ [
+ 'name' => 'description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The keyword for fuzzy match by description.', 'type' => 'string', 'maxLength' => 200, 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'orderBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The field by which to sort results. Valid values:'."\n"
+ ."\n"
+ .'- apiKeyId (default)'."\n"
+ ."\n"
+ .'- gmtCreate',
+ 'type' => 'string',
+ 'default' => 'apiKeyId',
+ 'enum' => ['apiKeyId', 'gmtCreate'],
+ 'required' => false,
+ 'example' => 'gmtCreate',
+ ],
+ ],
+ [
+ 'name' => 'order',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The sort order. Valid values:'."\n"
+ ."\n"
+ .'- DESC (default)'."\n"
+ ."\n"
+ .'- ASC',
+ 'type' => 'string',
+ 'default' => 'DESC',
+ 'enum' => ['DESC', 'ASC'],
+ 'required' => false,
+ 'example' => 'ASC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => 'The response status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'E4C14AE6-E987-5C2F-9230-9960AB48F4F2'],
+ 'success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'apiKeys' => [
+ 'description' => 'The list of API keys.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The API key information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'apiKeyId' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2965964', 'title' => ''],
+ 'apiKeyValue' => ['description' => 'The value of the API key.', 'type' => 'string', 'example' => 'sk-ws-djI.8O7d*****2aICctnid4u4', 'title' => ''],
+ 'gmtCreate' => ['description' => 'The creation time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1774338222000', 'title' => ''],
+ 'workspaceId' => ['description' => 'The workspace ID.', 'type' => 'string', 'example' => 'ws-950f9aca7e76c816', 'title' => ''],
+ 'description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'createdBy' => ['description' => 'The creator.', 'type' => 'string', 'example' => '1378030599924858', 'title' => ''],
+ 'disabled' => ['description' => 'Indicates whether the API key is disabled. Valid values:'."\n"
+ ."\n"
+ .'- **0**: Active.'."\n"
+ .'- **1**: Disabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
+ 'auth' => [
+ 'title' => '',
+ 'description' => 'The permission settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => ['title' => '', 'description' => 'All: all permissions. Custom: custom permissions.', 'type' => 'string', 'example' => 'Custom'],
+ 'accessIps' => [
+ 'title' => '',
+ 'description' => 'The IP access whitelist.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'Supports IPv4, IPv6, and CIDR blocks.', 'type' => 'string', 'example' => '192.168.1.0/24'],
+ 'example' => '',
+ ],
+ 'modelAccessScope' => [
+ 'title' => '',
+ 'description' => 'The model access scope.',
+ 'type' => 'object',
+ 'properties' => [
+ 'allowAllModels' => ['title' => '', 'description' => 'Indicates whether access to all models with inference permissions in the workspace is allowed.', 'type' => 'boolean', 'example' => ''],
+ 'accessibleModels' => [
+ 'title' => '',
+ 'description' => 'The list of accessible models.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The accessible model.', 'type' => 'string', 'example' => ''],
+ 'example' => '',
+ ],
+ ],
+ 'docRequired' => false,
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'nextToken' => ['description' => 'The token used to retrieve more results. This parameter is not required for the first query. For subsequent queries, use the token obtained from the previous response.', 'type' => 'string', 'example' => 'lwytFRtLdNk=', 'title' => ''],
+ 'maxResults' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'totalCount' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'System.Error.Invoke', 'errorMessage' => 'Internal error.', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'Request.Illegal.Sign', 'errorMessage' => 'Sign is illegal.', 'description' => ''],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"200\\",\\n \\"httpStatusCode\\": 200,\\n \\"message\\": \\"success\\",\\n \\"requestId\\": \\"E4C14AE6-E987-5C2F-9230-9960AB48F4F2\\",\\n \\"success\\": true,\\n \\"apiKeys\\": [\\n {\\n \\"apiKeyId\\": 2965964,\\n \\"apiKeyValue\\": \\"sk-ws-djI.8O7d*****2aICctnid4u4\\",\\n \\"gmtCreate\\": 1774338222000,\\n \\"workspaceId\\": \\"ws-950f9aca7e76c816\\",\\n \\"description\\": \\"test\\",\\n \\"createdBy\\": \\"1378030599924858\\",\\n \\"disabled\\": 0,\\n \\"auth\\": {\\n \\"type\\": \\"Custom\\",\\n \\"accessIps\\": [\\n \\"192.168.1.0/24\\"\\n ],\\n \\"modelAccessScope\\": {\\n \\"allowAllModels\\": false,\\n \\"accessibleModels\\": [\\n \\"\\"\\n ]\\n }\\n }\\n }\\n ],\\n \\"nextToken\\": \\"lwytFRtLdNk=\\",\\n \\"maxResults\\": 10,\\n \\"totalCount\\": 4\\n}","type":"json"}]',
+ 'title' => 'Query API key list',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ListApiKeys',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ListOrganizationMembers' => [
+ 'path' => '/tokenplan/organization/members',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Fuzzy filter by member name. Matches accountName or email and is case-insensitive.', 'type' => 'string', 'required' => false, 'example' => '成员名称'],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Filters by member status, such as ACTIVE or FROZEN. Set to null to disable filtering.', 'type' => 'string', 'required' => false, 'example' => 'ACTIVE'],
+ ],
+ [
+ 'name' => 'HasSeat',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to filter by seat assignment.', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
+ ],
+ [
+ 'name' => 'PageNum',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The page number, starting from 1. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The number of entries per page. Default value: 20. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'PageResult<MemberWithSeatInfoDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'PageNo' => ['title' => '', 'description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '18'],
+ 'PageSize' => ['title' => '', 'description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20'],
+ 'Total' => ['title' => '', 'description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => 'Success'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operation result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccountId' => ['title' => '', 'description' => 'The ID of the member account.', 'type' => 'string', 'example' => 'acc_123456789'],
+ 'AccountName' => ['title' => '', 'description' => 'The name of the member account.', 'type' => 'string', 'example' => 'test_001'],
+ 'AccountBizId' => ['title' => '', 'description' => 'The member business ID.', 'type' => 'string', 'example' => '112233'],
+ 'Email' => ['title' => '', 'description' => 'The email address of the member.', 'type' => 'string', 'example' => 'test@email.com'],
+ 'OrgId' => ['title' => '', 'description' => 'The organization ID.', 'type' => 'string', 'example' => 'org_123456789'],
+ 'Status' => ['title' => '', 'description' => 'The member status.', 'type' => 'string', 'example' => 'ACTIVE'],
+ 'Roles' => [
+ 'title' => '',
+ 'description' => 'The list of member roles.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The member role.', 'type' => 'string', 'example' => 'ORG_MEMBER', 'title' => ''],
+ 'example' => '',
+ ],
+ 'GmtCreate' => ['title' => '', 'description' => 'The time when the member joined.', 'type' => 'string', 'example' => '2026-06-10T11:57:42.000+00:00'],
+ 'SeatId' => ['title' => '', 'description' => 'The ID used to allocate the seat resource.', 'type' => 'string', 'example' => 'seat_123456'],
+ 'SpecType' => ['title' => '', 'description' => 'The seat specification type. Valid values:'."\n"
+ .'- standard: Standard seat.'."\n"
+ .'- pro: Pro seat.'."\n"
+ .'- max: Premium seat.', 'type' => 'string', 'example' => 'standard'],
+ 'ApiKeyId' => ['title' => '', 'description' => 'API Key ID', 'type' => 'string', 'example' => 'key_123456789'],
+ 'MaskedApiKey' => ['title' => '', 'description' => 'The masked API key.', 'type' => 'string', 'example' => 'prefix.abc****456'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Get member list',
+ 'summary' => 'Queries the list of organization members including seat information. Supports filtering by name, status, and seat assignment, and supports pagination.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNo\\": 18,\\n \\"PageSize\\": 20,\\n \\"Total\\": 1,\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"Successful\\",\\n \\"Data\\": [\\n {\\n \\"AccountId\\": \\"acc_123456789\\",\\n \\"AccountName\\": \\"test_001\\",\\n \\"AccountBizId\\": \\"112233\\",\\n \\"Email\\": \\"test@email.com\\",\\n \\"OrgId\\": \\"org_123456789\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"Roles\\": [\\n \\"ORG_MEMBER\\"\\n ],\\n \\"GmtCreate\\": \\"2026-06-10T11:57:42.000+00:00\\",\\n \\"SeatId\\": \\"seat_123456\\",\\n \\"SpecType\\": \\"standard\\",\\n \\"ApiKeyId\\": \\"key_123456789\\",\\n \\"MaskedApiKey\\": \\"prefix.abc****456\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListSubscriptionSharedPackages' => [
+ 'summary' => 'Queries the details of shared packages by paging.',
+ 'path' => '/tokenplan/subscription/shared-packages',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. Default value: 1. The value must be a positive integer.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'StatusList',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => 'The list of statuses used for filtering.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The seat status. Valid values:'."\n"
+ ."\n"
+ .'- CREATING: being created.'."\n"
+ .'- NORMAL: active.'."\n"
+ .'- LIMIT: restricted due to overdue payment.'."\n"
+ .'- RELEASE: released upon expiration.'."\n"
+ .'- STOP: stopped upon expiration.'."\n"
+ .'- REFUNDED: refunded.', 'type' => 'string', 'required' => false, 'example' => 'NORMAL', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<PageQueryResourceSeatResponse>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: The call is successful.'."\n"
+ .'- false: The call failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Items' => [
+ 'description' => 'The data entries.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The data entries.',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceCode' => ['title' => '', 'description' => 'The instance code of the seat.', 'type' => 'string', 'example' => 'subs-1234567'],
+ 'EquityList' => [
+ 'description' => 'The currently active equity instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EquityType' => ['description' => 'The equity type, such as CREDITS, SPN, or resource plan.', 'type' => 'string', 'example' => 'CREDITS', 'title' => ''],
+ 'CycleInstanceId' => ['description' => 'The equity code (subscription code). This is not required for consumption in the credits scenario.', 'type' => 'string', 'example' => '123456', 'title' => ''],
+ 'CycleStartTime' => ['description' => 'The start time of the current cycle, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1775232000', 'title' => ''],
+ 'CycleEndTime' => ['description' => 'The end time of the current cycle, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1756310400', 'title' => ''],
+ 'CycleTotalValue' => ['description' => 'The total quota of the current cycle.', 'type' => 'number', 'format' => 'double', 'example' => '100.00000000', 'title' => ''],
+ 'CycleSurplusValue' => ['description' => 'The remaining quota of the current cycle.', 'type' => 'number', 'format' => 'double', 'example' => '40.00000000', 'title' => ''],
+ 'CycleVersion' => ['description' => 'The sequential version of the current cycle.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Status' => ['description' => 'The seat status. Valid values:'."\n"
+ ."\n"
+ .'- CREATING: being created.'."\n"
+ .'- NORMAL: active.'."\n"
+ .'- LIMIT: restricted due to overdue payment.'."\n"
+ .'- RELEASE: released upon expiration.'."\n"
+ .'- STOP: stopped upon expiration.'."\n"
+ .'- REFUNDED: refunded.', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Total' => ['description' => 'The total number of seats.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'PageNo' => ['description' => 'The page number. The value must be greater than 0 and cannot exceed the maximum value of the Integer data type. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Query shared package details by paging',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"Data\\": {\\n \\"Items\\": [\\n {\\n \\"InstanceCode\\": \\"subs-1234567\\",\\n \\"EquityList\\": [\\n {\\n \\"EquityType\\": \\"CREDITS\\",\\n \\"CycleInstanceId\\": \\"123456\\",\\n \\"CycleStartTime\\": 1775232000,\\n \\"CycleEndTime\\": 1756310400,\\n \\"CycleTotalValue\\": 100,\\n \\"CycleSurplusValue\\": 40,\\n \\"CycleVersion\\": 1\\n }\\n ],\\n \\"Status\\": \\"NORMAL\\"\\n }\\n ],\\n \\"Total\\": 100,\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 10\\n }\\n}","type":"json"}]',
+ ],
+ 'ListWorkspaces' => [
+ 'summary' => 'Retrieves the list of business workspaces.',
+ 'path' => '/modelstudio/workspaces',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token used to retrieve more results. You do not need to specify this parameter for the first request. For subsequent requests, use the token returned in the previous response.', 'type' => 'string', 'required' => false, 'example' => 'uwCwQ5FFCDo=', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '10', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'workspaceName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The keyword for fuzzy match by business workspace name.', 'type' => 'string', 'maxLength' => 30, 'required' => false, 'example' => 'ws_test', 'title' => ''],
+ ],
+ [
+ 'name' => 'workspaceId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'type' => 'string', 'example' => 'ws-32klhjk2312334jkh', 'maxLength' => 128, 'description' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => 'The response status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'workspaces' => [
+ 'description' => 'The list of business workspaces.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The business workspace.',
+ 'type' => 'object',
+ 'properties' => [
+ 'workspaceName' => ['description' => 'The business workspace name.', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'workspaceId' => ['description' => 'The business workspace ID.', 'type' => 'string', 'example' => 'ws-0759e7b7ea7f585b', 'title' => ''],
+ 'region' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
+ 'apiHost' => ['description' => 'API Host。', 'type' => 'string', 'example' => 'llm-34o9ts1dai60z5sf.cn-beijing.maas.aliyuncs.com', 'title' => ''],
+ 'gmtCreate' => ['description' => 'The creation time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1742785623772', 'title' => ''],
+ 'serviceSite' => ['description' => 'The service deployment scope. For more information, see [documentation](https://www.alibabacloud.com/help/zh/model-studio/regions/).', 'type' => 'string', 'example' => 'global', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'maxResults' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'nextToken' => ['description' => 'The pagination token used to retrieve more results. You do not need to specify this parameter for the first request. For subsequent requests, use the token returned in the previous response.', 'type' => 'string', 'example' => 'TbB1IsZUSR4iE', 'title' => ''],
+ 'totalCount' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '149', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '75DD3695-77E0-5784-B8A6-C213A01781FE'],
+ 'success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Query business workspace list',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ListWorkspaces',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'ModelStudio', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/*'],
+ ['validationType' => 'conditional', 'product' => 'ModelStudio', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/{#workspaceId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"200\\",\\n \\"workspaces\\": [\\n {\\n \\"workspaceName\\": \\"default\\",\\n \\"workspaceId\\": \\"ws-0759e7b7ea7f585b\\",\\n \\"region\\": \\"cn-beijing\\",\\n \\"apiHost\\": \\"llm-34o9ts1dai60z5sf.cn-beijing.maas.aliyuncs.com\\",\\n \\"gmtCreate\\": 1742785623772,\\n \\"serviceSite\\": \\"global\\"\\n }\\n ],\\n \\"maxResults\\": 100,\\n \\"nextToken\\": \\"TbB1IsZUSR4iE\\",\\n \\"totalCount\\": 149,\\n \\"httpStatusCode\\": 200,\\n \\"message\\": \\"success\\",\\n \\"requestId\\": \\"75DD3695-77E0-5784-B8A6-C213A01781FE\\",\\n \\"success\\": true\\n}","type":"json"}]',
+ ],
+ 'RemoveOrganizationMember' => [
+ 'summary' => 'Removes organization members. Before removal, checks whether the member holds a seat. If the member holds a seat, the removal is rejected.',
+ 'path' => '/tokenplan/organization/member-removals',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'AccountIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The list of member account IDs to be removed.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of member account IDs.', 'type' => 'string', 'required' => false, 'example' => 'acc_123456789', 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Locale',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The language. Valid values: zh-CN and en-US.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the operation is successful.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The error code. This parameter is empty if the operation is successful.', 'type' => 'string', 'example' => 'Success'],
+ 'Message' => ['title' => '', 'description' => 'The error message. This parameter is empty if the operation is successful.', 'type' => 'string', 'example' => 'Success.'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Remove members',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"Success.\\"\\n}","type":"json"}]',
+ ],
+ 'ResetApiKey' => [
+ 'path' => '/modelstudio/apikeys/{apiKeyId}/reset',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'apiKeyId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '2984618', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '36045E0A-551D-592D-B1BC-4C56596CE59E'],
+ 'code' => ['description' => 'The response status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'ok', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ .'- true: The request was successful.'."\n"
+ .'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'apiKey' => [
+ 'description' => 'The API key information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'apiKeyValue' => ['description' => 'The value of the API key.', 'type' => 'string', 'example' => 'sk-ws-djI.8O7dkfkW2aICctnid4u4', 'title' => ''],
+ 'apiKeyId' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2965964', 'title' => ''],
+ 'workspaceId' => ['description' => 'The workspace ID.', 'type' => 'string', 'example' => 'ws-b2d30f148c236908', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'ResetFailed.ApiKeyDisabled', 'errorMessage' => 'You cannot reset a disabled API Key.', 'description' => 'You cannot reset a disabled API Key.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Reset API key',
+ 'summary' => 'Resets an API key.',
+ 'description' => 'Only the API key value changes. The API key ID remains unchanged.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ResetApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"36045E0A-551D-592D-B1BC-4C56596CE59E\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"ok\\",\\n \\"httpStatusCode\\": 200,\\n \\"success\\": true,\\n \\"apiKey\\": {\\n \\"apiKeyValue\\": \\"sk-ws-djI.8O7dkfkW2aICctnid4u4\\",\\n \\"apiKeyId\\": 2965964,\\n \\"workspaceId\\": \\"ws-b2d30f148c236908\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'RevokeTokenPlanInviteLink' => [
+ 'summary' => 'Revokes a TokenPlan member invitation link.',
+ 'path' => '/tokenplan/invite/link/revoke',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'False'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Revoke a tokenPlan member invitation link',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\"\\n}","type":"json"}]',
+ ],
+ 'RotateTokenPlanKey' => [
+ 'summary' => 'Resets a UAC API key.',
+ 'path' => '/tokenplan/api-key-rotations',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'ApiKeyId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'API Key ID', 'type' => 'string', 'required' => true, 'example' => 'ak_123456'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<ResetApiKeyDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => 'Success'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Success.'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ApiKeyId' => ['title' => '', 'description' => 'The API Key ID, which is system-generated.', 'type' => 'string', 'example' => 'ak_123456'],
+ 'SourceId' => ['title' => '', 'description' => 'The source_id returned by BaiLian.', 'type' => 'string', 'example' => '123456'],
+ 'PlainApiKey' => ['title' => '', 'description' => 'The new plaintext API Key returned by BaiLian. This value is returned only once during the reset operation.', 'type' => 'string', 'example' => 'sk-ws.abc123456'],
+ 'MaskedApiKey' => ['title' => '', 'description' => 'The new masked_api_key returned by BaiLian, such as sk_***cdef.', 'type' => 'string', 'example' => 'sk_***6'],
+ 'ResetAt' => ['title' => '', 'description' => 'The time when the API key was reset.', 'type' => 'string', 'example' => '2025-07-18T03:19:17Z'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Reset API key',
+ 'description' => 'Only the API Key value changes. The API Key ID remains unchanged.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"Success.\\",\\n \\"Data\\": {\\n \\"ApiKeyId\\": \\"ak_123456\\",\\n \\"SourceId\\": \\"123456\\",\\n \\"PlainApiKey\\": \\"sk-ws.abc123456\\",\\n \\"MaskedApiKey\\": \\"sk_***6\\",\\n \\"ResetAt\\": \\"2025-07-18T03:19:17Z\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'SetTokenPlanOrgInviteConfig' => [
+ 'path' => '/tokenplan/invite/config/set',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'DefaultRoleId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the organization role assigned by default. Valid values:'."\n"
+ ."\n"
+ .'- SYSTEM_ROLE_ORG_ADMIN'."\n"
+ .'- SYSTEM_ROLE_ORG_MEMBER', 'type' => 'string', 'required' => true, 'example' => 'ORG_MEMBER', 'title' => ''],
+ ],
+ [
+ 'name' => 'SeatAssignStrategy',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The default seat allocation policy. Valid values:'."\n"
+ ."\n"
+ .'- HIGH_TO_LOW'."\n"
+ .'- LOW_TO_HIGH'."\n"
+ .'- NONE', 'type' => 'string', 'required' => true, 'example' => 'NONE', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => 'Success'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'OK'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Configure tokenPlan member invitation settings',
+ 'summary' => 'Configures the member invitation settings for a TokenPlan.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateApiKey' => [
+ 'summary' => 'Edits the information of an authentication credential API key.',
+ 'path' => '/modelstudio/apikeys/{apiKeyId}',
+ 'methods' => ['put'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'apiKeyId',
+ 'in' => 'path',
+ 'schema' => ['description' => 'API Key ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '3268483', 'title' => ''],
+ ],
+ [
+ 'name' => 'description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description.', 'type' => 'string', 'maxLength' => 200, 'required' => false, 'example' => 'update description.', 'title' => ''],
+ ],
+ [
+ 'name' => 'auth',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The API key permission settings.'."\n"
+ ."\n"
+ .'> Do not fill in this section or fill it in completely for each UpdateApiKey operation. Otherwise, the configuration may not match your expectations.',
+ 'type' => 'object',
+ 'properties' => [
+ 'type' => [
+ 'title' => '',
+ 'description' => 'Valid values:'."\n"
+ ."\n"
+ .'- All: all permissions.'."\n"
+ .'- Custom: custom permissions.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enum' => ['All', 'Custom'],
+ 'example' => 'Custom',
+ ],
+ 'accessIps' => [
+ 'title' => '',
+ 'description' => 'The IP access whitelist.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'> - When you customize the permission scope, if the IP access whitelist is not specified, the server sets it to IPv4 (0.0.0.0/0) and IPv6 (::/0) by default, which allows all traffic.',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The IPv4 address, IPv6 address, or CIDR block.', 'type' => 'string', 'required' => false, 'example' => '192.168.1.0/24'],
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '',
+ ],
+ 'modelAccessScope' => [
+ 'title' => '',
+ 'description' => 'The model access scope.',
+ 'type' => 'object',
+ 'properties' => [
+ 'allowAllModels' => ['title' => '', 'description' => 'Specifies whether to allow access to all models with granted inference permissions in the workspace. Valid values:'."\n"
+ ."\n"
+ .'- true'."\n"
+ .'- false', 'type' => 'boolean', 'required' => false, 'example' => ''],
+ 'accessibleModels' => [
+ 'title' => '',
+ 'description' => 'The list of accessible models.'."\n"
+ .'><notice>The content takes effect only when allowAllModels is set to false.></notice>',
+ 'type' => 'array',
+ 'items' => ['title' => '', 'description' => 'The accessible model.', 'type' => 'string', 'required' => false, 'example' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '36045E0A-551D-592D-B1BC-4C56596CE59E'],
+ 'code' => ['description' => 'The response status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ 'httpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
+ 'success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"36045E0A-551D-592D-B1BC-4C56596CE59E\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"httpStatusCode\\": 200,\\n \\"success\\": true\\n}","type":"json"}]',
+ 'title' => 'Edit API key',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:UpdateApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'UpdateOrganization' => [
+ 'path' => '/tokenplan/organization',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The organization name.', 'type' => 'string', 'required' => false, 'example' => '新的组织名称'],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The organization description.', 'type' => 'string', 'required' => false, 'example' => '新的组织描述'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<OrgDTO>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the API call is successful. Valid values:'."\n"
+ ."\n"
+ .'- true: Successful.'."\n"
+ .'- false: Failed.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The response status code.', 'type' => 'string', 'example' => 'Success'],
+ 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'Successful'],
+ 'Data' => [
+ 'title' => '',
+ 'description' => 'The business data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'OrgId' => ['title' => '', 'description' => 'The organization ID.', 'type' => 'string', 'example' => 'org_123456789'],
+ 'NamespaceId' => ['title' => '', 'description' => 'The product namespace ID.', 'type' => 'string', 'example' => 'namespace-1'],
+ 'Name' => ['title' => '', 'description' => 'The organization name.', 'type' => 'string', 'example' => '组织名称'],
+ 'Description' => ['title' => '', 'description' => 'The organization description.', 'type' => 'string', 'example' => '组织描述'],
+ 'Status' => ['title' => '', 'description' => 'The status. Valid values:'."\n"
+ .'- ACTIVE'."\n"
+ .'- FROZEN', 'type' => 'string', 'example' => 'ACTIVE'],
+ 'OwnerId' => ['title' => '', 'description' => 'The UAC account ID of the organization owner.', 'type' => 'string', 'example' => 'acc_123456789'],
+ 'OwnerBizAccountId' => ['title' => '', 'description' => 'The business account identifier of the organization owner. The value is aliyunUid for the ALIYUN type and userIdentifier for the SSO type.', 'type' => 'string', 'example' => '1269388320468566'],
+ 'GmtCreate' => ['title' => '', 'description' => 'The creation time.', 'type' => 'string', 'example' => '2025-12-11T02:19:27Z'],
+ 'GmtModified' => ['title' => '', 'description' => 'The modification time.', 'type' => 'string', 'example' => '2025-07-08 13:59:11'],
+ ],
+ 'example' => '',
+ ],
+ 'HttpStatusCode' => ['title' => '', 'description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => 'None'],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'EC0B0D42-A88C-55F5-AF48-498B8207F6BC'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Modify organization information',
+ 'summary' => 'Modifies organization information.',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"Successful\\",\\n \\"Data\\": {\\n \\"OrgId\\": \\"org_123456789\\",\\n \\"NamespaceId\\": \\"namespace-1\\",\\n \\"Name\\": \\"组织名称\\",\\n \\"Description\\": \\"组织描述\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"OwnerId\\": \\"acc_123456789\\",\\n \\"OwnerBizAccountId\\": \\"1269388320468566\\",\\n \\"GmtCreate\\": \\"2025-12-11T02:19:27Z\\",\\n \\"GmtModified\\": \\"2025-07-08 13:59:11\\"\\n },\\n \\"HttpStatusCode\\": 0,\\n \\"RequestId\\": \\"EC0B0D42-A88C-55F5-AF48-498B8207F6BC\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateOrganizationMember' => [
+ 'summary' => 'Modifies the roles of organization members.',
+ 'path' => '/tokenplan/organization/members/update',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => ['application/x-www-form-urlencoded'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'],
+ 'parameters' => [
+ [
+ 'name' => 'AccountIds',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The list of account IDs for batch operations.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The member account ID.', 'type' => 'string', 'required' => false, 'example' => 'acc_123456789', 'title' => ''],
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'NewRoleCode',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The code of the new role. When you perform a batch operation, all specified accounts are changed to this role.', 'type' => 'string', 'required' => true, 'example' => 'ORG_MEMBER'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'Result<Void>',
+ 'type' => 'object',
+ 'properties' => [
+ 'Success' => ['title' => '', 'description' => 'Indicates whether the operation was successful.', 'type' => 'boolean', 'example' => 'True'],
+ 'Code' => ['title' => '', 'description' => 'The error code. This parameter is empty if the operation is successful.', 'type' => 'string', 'example' => '200'],
+ 'Message' => ['title' => '', 'description' => 'The error message. This parameter is empty if the operation is successful.', 'type' => 'string', 'example' => 'Successful'],
+ 'HttpStatusCode' => ['title' => '', 'description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => 'None'],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '9531C132-DF05-5C7F-8BB0-96EA8C4D00D7'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Modify member roles',
+ 'changeSet' => [],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"HttpStatusCode\\": 0,\\n \\"RequestId\\": \\"9531C132-DF05-5C7F-8BB0-96EA8C4D00D7\\"\\n}","type":"json"}]',
+ ],
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'modelstudio.cn-beijing.aliyuncs.com', 'endpoint' => 'modelstudio.cn-beijing.aliyuncs.com', 'vpc' => 'modelstudio-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'modelstudio.cn-hongkong.aliyuncs.com', 'endpoint' => 'modelstudio.cn-hongkong.aliyuncs.com', 'vpc' => 'modelstudio-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'modelstudio.ap-southeast-1.aliyuncs.com', 'endpoint' => 'modelstudio.ap-southeast-1.aliyuncs.com', 'vpc' => 'modelstudio-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'modelstudio.us-east-1.aliyuncs.com', 'endpoint' => 'modelstudio.us-east-1.aliyuncs.com', 'vpc' => 'modelstudio-vpc.us-east-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'modelstudio.eu-central-1.aliyuncs.com', 'endpoint' => 'modelstudio.eu-central-1.aliyuncs.com', 'vpc' => 'modelstudio-vpc.eu-central-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'ApiKey.Already.Disabled', 'message' => 'API Key is already disabled.', 'http_code' => 400, 'description' => 'API Key is already disabled.'],
+ ['code' => 'ApiKey.Already.Enabled', 'message' => 'ApiKey is already enabled.', 'http_code' => 400, 'description' => 'The API Key is already in active status.'],
+ ['code' => 'ResetFailed.ApiKeyDisabled', 'message' => 'You cannot reset a disabled API Key.', 'http_code' => 400, 'description' => 'You cannot reset a disabled API Key.'],
+ ['code' => 'ResourceNotFound.Workspace', 'message' => 'Workspace not existed.', 'http_code' => 404, 'description' => 'Workspace not existed.'],
+ ],
+ 'changeSet' => [],
+ 'ram' => [
+ 'productCode' => 'ModelStudio',
+ 'productName' => 'Alibaba Cloud Model Studio',
+ 'ramCodes' => ['modelstudio'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'GetSubscriptionStats',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetSubscriptionStats',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetTokenPlanAccountDetail',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetTokenPlanAccountDetail',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'EnableApiKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:EnableApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AddOrganizationMember',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:AddOrganizationMember',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateOrganization',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:UpdateOrganization',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateOrganizationMember',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:UpdateOrganizationMember',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RemoveOrganizationMember',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:RemoveOrganizationMember',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'BatchAssignSeats',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:BatchAssignSeats',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetOrganizationMemberSeatStats',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetOrganizationMemberSeatStats',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'BatchRevokeSeats',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:BatchRevokeSeats',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListOrganizationMembers',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ListOrganizationMembers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateTokenPlanInviteLink',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:CreateTokenPlanInviteLink',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateApiKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:UpdateApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetOrganization',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetOrganization',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetSubscriptionSeatDetails',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetSubscriptionSeatDetails',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetApiKey',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetTokenPlanInviteLink',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetTokenPlanInviteLink',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RotateTokenPlanKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:RotateTokenPlanKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListApiKeys',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ListApiKeys',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetTokenPlanOrgInviteConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:SetTokenPlanOrgInviteConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateWorkspace',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:CreateWorkspace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateTokenPlanKey',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:CreateTokenPlanKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetTokenPlanOrgInviteConfig',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'modelstudio:GetTokenPlanOrgInviteConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateApiKey',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'modelstudio:CreateApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListSubscriptionSharedPackages',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ListSubscriptionSharedPackages',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteApiKey',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'modelstudio:DeleteApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RevokeTokenPlanInviteLink',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:RevokeTokenPlanInviteLink',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DisableApiKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:DisableApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteWorkspace',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'modelstudio:DeleteWorkspace',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/{#workspaceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListWorkspaces',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ListWorkspaces',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'ModelStudio', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/*'],
+ ['validationType' => 'conditional', 'product' => 'ModelStudio', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/{#workspaceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ResetApiKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'modelstudio:ResetApiKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ModelStudio', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/*'],
+ ['validationType' => 'always', 'resourceType' => 'Workspace', 'arn' => 'acs:modelstudio:{#regionId}:{#accountId}:workspace/{#workspaceId}'],
+ ],
+ ],
+];