<h1class="topictitle1">Querying the List of Defense Statuses of EIPs</h1>
<h1class="topictitle1">Querying the List of EIP Defense Statuses</h1>
<divid="body25673664"><divclass="section"id="antiddos_02_0023__section52441537"><h4class="sectiontitle">Functions</h4><pid="antiddos_02_0023__p66300913">This API enables you to query the defense statuses of all EIPs, regardless whether an EIP has been bound to an Elastic Cloud Server (ECS) or not.</p>
<tdclass="cellrowborder"valign="top"width="52.03479652034796%"headers="mcps1.3.4.3.1.2.1.4.1.3 "><divclass="p"id="antiddos_02_0023__p17529450">Defense status, the possible value of which is one of the following:<ulid="antiddos_02_0023__ul23547322"><liid="antiddos_02_0023__li10599309"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue1908468398"><b>normal</b></span>: indicates that the defense status is normal.</li><liid="antiddos_02_0023__li28284925"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue2100351451"><b>configuring</b></span>: indicates that defense is being configured.</li><liid="antiddos_02_0023__li53237738"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue181241444"><b>notConfig</b></span>: indicates that defense is not configured.</li><liid="antiddos_02_0023__li9377597"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue1190858183"><b>packetcleaning</b></span>: indicates that traffic cleaning is underway.</li><liid="antiddos_02_0023__li17289511"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue1630240370"><b>packetdropping</b></span>: indicates that traffic is discarded.</li></ul>
<tdclass="cellrowborder"valign="top"width="52.03479652034796%"headers="mcps1.3.4.3.1.2.1.4.1.3 "><divclass="p"id="antiddos_02_0023__p17529450">Defense status, the possible value of which is one of the following:<ulid="antiddos_02_0023__ul23547322"><liid="antiddos_02_0023__li10599309"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue1230565076"><b>normal</b></span>: indicates that the defense status is normal.</li><liid="antiddos_02_0023__li28284925"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue477019951"><b>configuring</b></span>: indicates that defense is being configured.</li><liid="antiddos_02_0023__li53237738"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue1131473574"><b>notConfig</b></span>: indicates that defense is not configured.</li><liid="antiddos_02_0023__li9377597"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue1518160991"><b>packetcleaning</b></span>: indicates that traffic cleaning is underway.</li><liid="antiddos_02_0023__li17289511"><spanclass="parmvalue"id="antiddos_02_0023__parmvalue1660379527"><b>packetdropping</b></span>: indicates that traffic is discarded.</li></ul>
<tdclass="cellrowborder"valign="top"width="52.03479652034796%"headers="mcps1.3.4.3.1.2.1.4.1.3 "><pid="antiddos_02_0023__p16218155315233">Protection capacity. The value <spanclass="parmvalue"id="antiddos_02_0023__parmvalue395571616327"><b>0</b></span> indicates that protection is not supported.</p>
<tdclass="cellrowborder"valign="top"width="52.03479652034796%"headers="mcps1.3.4.3.1.2.1.4.1.3 "><pid="antiddos_02_0023__p1966717516233">Used protection capacity. The value <spanclass="parmvalue"id="antiddos_02_0023__parmvalue184968810381"><b>0</b></span> indicates that protection is not supported.</p>
<tdclass="cellrowborder"valign="top"width="72.67%"headers="mcps1.3.1.1.3.1.2 "><pid="antiddos_02_0034__p1742247154713">Updated the response parameters for<spanclass="filepath"id="antiddos_02_0034__filepath1395414468474"><b>Querying the list of defense statuses of EIPs</b></span>.</p>
<tdclass="cellrowborder"valign="top"width="72.67%"headers="mcps1.3.1.1.3.1.2 "><ulid="antiddos_02_0034__ul1157249104117"><liid="antiddos_02_0034__li15198215114211">Updated response parameters in<ahref="antiddos_02_0023.html">Querying the List of EIP Defense Statuses</a>.</li><liid="antiddos_02_0034__li125725918414">Optimized the title of section <ahref="antiddos_02_0023.html">Querying the List of EIP Defense Statuses</a>.</li><liid="antiddos_02_0034__li146331312416">Optimized the example request in <ahref="antiddos_02_0037.html">Querying the Default Protection Policy Configured for the Newly Purchased Public IP Addresses</a>.</li><liid="antiddos_02_0034__li1931015515512">Optimized the example request in <ahref="antiddos_02_0038.html">Configuring the Default Protection Policy for Newly Purchased Public IP Addresses</a>.</li></ul>
<tdclass="cellrowborder"valign="top"width="72.67%"headers="mcps1.3.1.1.3.1.2 "><pid="antiddos_02_0034__p1742247154713">Updated the response parameters in section "Querying the List of EIP Defense Statuses".</p>
"des":"API poviders can publish an API in different environments, such as the development, test, and production environmentsAPI information, such as the version, request address",
"des":"API providers can publish an API in different environments, such as the development, test, and production environmentsAPI information, such as the version, request addres",
"doc_type":"api",
"kw":"Creating an Environment,Environment Management,API Reference",
"search_title":"",
@ -3267,7 +3267,7 @@
"node_id":"createpostpayresizeorder.xml",
"product_code":"apig",
"code":"167",
"des":"This API is used to creat a specification change order of a pay-per-use gateway.For details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/postpaid",
"des":"This API is used to create a specification change order of a pay-per-use gateway.For details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/postpai",
"doc_type":"api",
"kw":"Modifying the Specifications of a Pay-Per-Use Gateway,Gateway Management,API Reference",
"search_title":"",
@ -4393,7 +4393,7 @@
"node_id":"createappquota.xml",
"product_code":"apig",
"code":"224",
"des":"Creating a Credential QuotaFor details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/app-quotasStatus code: 201Status code: 400Status code: 401Sta",
"des":"This API is used to create a credential quota.For details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/app-quotasStatus code: 201Status code: 400",
"doc_type":"api",
"kw":"Creating a Credential Quota,Credential Quota Management,API Reference",
"desc":"API poviders can publish an API in different environments, such as the development, test, and production environmentsAPI information, such as the version, request address",
"desc":"API providers can publish an API in different environments, such as the development, test, and production environmentsAPI information, such as the version, request addres",
"product_code":"apig",
"title":"Creating an Environment",
"uri":"CreateEnvironmentV2.html",
@ -1494,7 +1494,7 @@
"code":"166"
},
{
"desc":"This API is used to creat a specification change order of a pay-per-use gateway.For details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/postpaid",
"desc":"This API is used to create a specification change order of a pay-per-use gateway.For details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/postpai",
"product_code":"apig",
"title":"Modifying the Specifications of a Pay-Per-Use Gateway",
"uri":"CreatePostPayResizeOrder.html",
@ -2007,7 +2007,7 @@
"code":"223"
},
{
"desc":"Creating a Credential QuotaFor details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/app-quotasStatus code: 201Status code: 400Status code: 401Sta",
"desc":"This API is used to create a credential quota.For details, see Calling APIs.POST /v2/{project_id}/apigw/instances/{instance_id}/app-quotasStatus code: 201Status code: 400",
<h1class="topictitle1">Creating a Credential Quota</h1>
<divid="body55521934797"><divclass="section"id="CreateAppQuota__section45538349918"><h4class="sectiontitle">Function</h4><pid="CreateAppQuota__p2055318342914">Creating a Credential Quota</p>
<divid="body55521934797"><divclass="section"id="CreateAppQuota__section45538349918"><h4class="sectiontitle">Function</h4><pid="CreateAppQuota__p15685145119193">This API is used to create a credential quota.</p>
</div>
<divclass="section"id="CreateAppQuota__atuogenerate_1"><h4class="sectiontitle">Calling Method</h4><pid="CreateAppQuota__p4553143416916">For details, see <ahref="apig-api-180713003.html">Calling APIs</a>.</p>
<h1class="topictitle1">Creating an Environment</h1>
<divid="body1533318115484"><divclass="section"id="CreateEnvironmentV2__section933317184811"><h4class="sectiontitle">Function</h4><pid="CreateEnvironmentV2__p83331118482">API poviders can publish an API in different environments, such as the development, test, and production environments</p>
<divid="body1533318115484"><divclass="section"id="CreateEnvironmentV2__section933317184811"><h4class="sectiontitle">Function</h4><pid="CreateEnvironmentV2__p83331118482">API providers can publish an API in different environments, such as the development, test, and production environments</p>
<pid="CreateEnvironmentV2__p113331219489">API information, such as the version, request address, and even request message, varies depending on the environment in which an API is published. For example, v1.0 of an API is published in the production environment, v1.1 in the test environment, and v1.2 in the development environment.</p>
<pid="CreateEnvironmentV2__p633319119481">APIG provides environment management, enabling you to access APIG in different scenarios at minimal costs.</p>
<h1class="topictitle1">Modifying the Specifications of a Pay-Per-Use Gateway</h1>
<divid="body32001227"><divclass="section"id="CreatePostPayResizeOrder__section557975281518"><h4class="sectiontitle">Function</h4><pid="CreatePostPayResizeOrder__p7579185210159">This API is used to creat a specification change order of a pay-per-use gateway.</p>
<divid="body32001227"><divclass="section"id="CreatePostPayResizeOrder__section557975281518"><h4class="sectiontitle">Function</h4><pid="CreatePostPayResizeOrder__p7579185210159">This API is used to create a specification change order of a pay-per-use gateway.</p>
</div>
<divclass="section"id="CreatePostPayResizeOrder__en-us_topic_0000001929686677_atuogenerate_1"><h4class="sectiontitle">Calling Method</h4><pid="CreatePostPayResizeOrder__p1758095214157">For details, see <ahref="apig-api-180713003.html">Calling APIs</a>.</p>
<h1class="topictitle1">Obtaining a Project ID</h1>
<divid="body8662426"><divclass="section"id="apig-api-180713009__en-us_topic_0172449255_section414113577116"><h4class="sectiontitle">Calling an API</h4><pid="apig-api-180713009__en-us_topic_0172449255_p184083580537">You can also obtain a project ID by calling the IAM API used to query project information.</p>
<pid="apig-api-180713009__en-us_topic_0172449255_p82371314564">The API used to obtain a project ID is "GET https://<emid="apig-api-180713009__en-us_topic_0172449255_i756894312434">{Endpoint}</em>/v3/projects/". <emid="apig-api-180713009__en-us_topic_0172449255_i1555814694311">{Endpoint}</em> is the IAM endpoint and can be obtained from technical support. For details on API calling authentication, see <ahref="apig-api-190529268.html#apig-api-190529268">Authentication</a>.</p>
<pid="apig-api-180713009__en-us_topic_0172449255_p82371314564">The API used to obtain a project ID is "GET https://<emid="apig-api-180713009__i068742675213">{Endpoint}</em>/v3/projects/". <emid="apig-api-180713009__i14687162613527">{Endpoint}</em> is the IAM endpoint and can be obtained from technical support. For details on API calling authentication, see <ahref="apig-api-190529268.html">Authentication</a>.</p>
<pid="apig-api-180713009__en-us_topic_0172449255_p1461198134114">The following is an example response. The value of <strongid="apig-api-180713009__en-us_topic_0172449255_b3237123414241">id</strong> in the <strongid="apig-api-180713009__en-us_topic_0172449255_b7237143482412">projects</strong> field is the project ID.</p>
<divclass="section"id="apig-api-180713011__en-us_topic_0000001942519306_section1849899574"><h4class="sectiontitle">Request URI</h4><pid="apig-api-180713011__en-us_topic_0000001942519306_p729531715312">A request URI is in the following format:</p>
<pid="apig-api-180713011__en-us_topic_0000001942519306_p19153141415558">Although a request URI is included in the request header, most programming languages or frameworks require the request URI to be transmitted separately.</p>
<ulid="apig-api-180713011__en-us_topic_0000001942519306_ul63581757356"><liid="apig-api-180713011__en-us_topic_0000001942519306_li183581756359"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b83920310421">URI-scheme</strong>: Protocol used to transmit requests. All APIs use <strongid="apig-api-180713011__en-us_topic_0000001942519306_b539313114215">HTTPS</strong>.</li><liid="apig-api-180713011__en-us_topic_0000001942519306_li16358958354"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b13517165134215">Endpoint</strong>: Domain name or IP address of the server bearing the REST service. It can be obtained from <ahref="apig-api-190529263.html#apig-api-190529263__en-us_topic_0000001969180093_section932113578479">Endpoints</a>. .</li><liid="apig-api-180713011__en-us_topic_0000001942519306_li53597512351"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b31682350472">resource-path</strong>: Access path of an API for performing a specified operation. Obtain the path from the URI of an API. For example, the <strongid="apig-api-180713011__en-us_topic_0000001942519306_b1029107104914">resource-path</strong> of the API used to create an API group is <strongid="apig-api-180713011__en-us_topic_0000001942519306_b9304774916">/v2/</strong><emid="apig-api-180713011__en-us_topic_0000001942519306_i4302710494">{project_id}</em><strongid="apig-api-180713011__en-us_topic_0000001942519306_b19304718494">/apigw/instances/</strong><emid="apig-api-180713011__en-us_topic_0000001942519306_i730187124915">{instance_id}</em><strongid="apig-api-180713011__en-us_topic_0000001942519306_b7304744915">/api-groups</strong>. <emid="apig-api-180713011__en-us_topic_0000001942519306_i73010716494">{project_id}</em> indicates a <ahref="apig-api-180713009.html#apig-api-180713009">project ID</a> and <emid="apig-api-180713011__en-us_topic_0000001942519306_i113027154915">{instance_id}</em> indicates a gateway ID. The two IDs can be obtained from the gateway information on the APIG console.</li><liid="apig-api-180713011__en-us_topic_0000001942519306_li735905103516"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b133601140195112">query-string</strong>: Query parameter, which is optional. Ensure that a question mark (?) is included in front of each query parameter that is in the format of <emid="apig-api-180713011__en-us_topic_0000001942519306_i1558345512518">Parameter name</em><strongid="apig-api-180713011__en-us_topic_0000001942519306_b1558425515110">=</strong><emid="apig-api-180713011__en-us_topic_0000001942519306_i10584105516516">Parameter value</em>. For example, <strongid="apig-api-180713011__en-us_topic_0000001942519306_b458425545114">limit=10</strong> indicates that a maximum of 10 data records will be queried.</li></ul>
<ulid="apig-api-180713011__en-us_topic_0000001942519306_ul63581757356"><liid="apig-api-180713011__en-us_topic_0000001942519306_li183581756359"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b83920310421">URI-scheme</strong>: Protocol used to transmit requests. All APIs use <strongid="apig-api-180713011__en-us_topic_0000001942519306_b539313114215">HTTPS</strong>.</li><liid="apig-api-180713011__en-us_topic_0000001942519306_li16358958354"><strongid="apig-api-180713011__b1799212564406">Endpoint</strong>: Domain name or IP address of the server bearing the REST service. It can be obtained from <ahref="apig-api-190529263.html#apig-api-190529263__en-us_topic_0000001969180093_section932113578479">Endpoints</a>. .</li><liid="apig-api-180713011__en-us_topic_0000001942519306_li53597512351"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b31682350472">resource-path</strong>: Access path of an API for performing a specified operation. Obtain the path from the URI of an API. For example, the <strongid="apig-api-180713011__b286407204117">resource-path</strong> of the API used to create an API group is <strongid="apig-api-180713011__b386419734117">/v2/</strong><emid="apig-api-180713011__i18643716412">{project_id}</em><strongid="apig-api-180713011__b18659716416">/apigw/instances/</strong><emid="apig-api-180713011__i18865167144111">{instance_id}</em><strongid="apig-api-180713011__b1686520715411">/api-groups</strong>. <emid="apig-api-180713011__i108651271419">{project_id}</em> indicates a <ahref="apig-api-180713009.html">project ID</a> and <emid="apig-api-180713011__i1386517144110">{instance_id}</em> indicates a gateway ID. The two IDs can be obtained from the gateway information on the APIG console.</li><liid="apig-api-180713011__en-us_topic_0000001942519306_li735905103516"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b133601140195112">query-string</strong>: Query parameter, which is optional. Ensure that a question mark (?) is included in front of each query parameter that is in the format of <emid="apig-api-180713011__en-us_topic_0000001942519306_i1558345512518">Parameter name</em><strongid="apig-api-180713011__en-us_topic_0000001942519306_b1558425515110">=</strong><emid="apig-api-180713011__en-us_topic_0000001942519306_i10584105516516">Parameter value</em>. For example, <strongid="apig-api-180713011__en-us_topic_0000001942519306_b458425545114">limit=10</strong> indicates that a maximum of 10 data records will be queried.</li></ul>
<pid="apig-api-180713011__en-us_topic_0000001942519306_p1766380168">For example, if you want to create an API group in a region, set <strongid="apig-api-180713011__en-us_topic_0000001942519306_b17584171219398">URI-scheme</strong> to <strongid="apig-api-180713011__en-us_topic_0000001942519306_b3584141214395">HTTPS</strong>, <strongid="apig-api-180713011__en-us_topic_0000001942519306_b958451233915">Endpoint</strong> to <strongid="apig-api-180713011__en-us_topic_0000001942519306_b12984148114020">apig_endpoint</strong>, and <strongid="apig-api-180713011__en-us_topic_0000001942519306_b10584712183911">resource-path</strong> to <strongid="apig-api-180713011__en-us_topic_0000001942519306_b115841012193914">/v2/{project_id}/apigw/instances/{instance_id}/api-groups</strong>. Combine the parameters in the URI.</p>
<divclass="note"id="apig-api-180713011__en-us_topic_0000001942519306_note16311253154112"><imgsrc="public_sys-resources/note_3.0-en-us.png"><spanclass="notetitle"></span><divclass="notebody"><pid="apig-api-180713011__en-us_topic_0000001942519306_p163316534416">To simplify the URI display in this document, each API is provided only with a <strongid="apig-api-180713011__en-us_topic_0000001942519306_b762314910439">resource-path</strong> and a request method. The <strongid="apig-api-180713011__en-us_topic_0000001942519306_b6118813104315">URI-scheme</strong> of all APIs is <strongid="apig-api-180713011__en-us_topic_0000001942519306_b7120913164319">HTTPS</strong>, and the endpoints of all APIs in the same region are identical.</p>
<pid="apig-api-180713011__en-us_topic_0000001942519306_p57506215250">Request bodies vary between APIs. Some APIs do not require the request body, such as the APIs requested using the <strongid="apig-api-180713011__en-us_topic_0000001942519306_b12519205617242">GET</strong> and <strongid="apig-api-180713011__en-us_topic_0000001942519306_b1953820586243">DELETE</strong> methods.</p>
<pid="apig-api-180713011__en-us_topic_0000001942519306_p675014215258">For the API used to create an API group, you can obtain the request parameters and parameter description from the API request. Here is an example request that includes a body. The bold fields must be configured as required.</p>
<ulid="apig-api-180713011__en-us_topic_0000001942519306_ul1558112914264"><liid="apig-api-180713011__en-us_topic_0000001942519306_li558192962612"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b10316276318">name</strong>: API group name</li><liid="apig-api-180713011__en-us_topic_0000001942519306_li125842952613"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b111225402313">remark</strong>: API group description</li></ul>
POST https://<emid="apig-api-180713011__en-us_topic_0000001942519306_i4324529339"><strongid="apig-api-180713011__en-us_topic_0000001942519306_b2325192915318">{apig_endpoint}</strong></em>/v2/{project_id}/v2/{project_id}/apigw/instances/{instance_id}/api-groups
<tdclass="cellrowborder"valign="top"width="70.67999999999999%"headers="mcps1.3.1.2.3.1.2 "><pid="apig-api-180713215__p29671349113">This issue incorporates the following changes:</p>
<ulid="apig-api-180713215__ul228691913119"><liid="apig-api-180713215__li10286101917114">The example response status code of the API for modifying an app is changed from <strongid="apig-api-180713215__b1828661911114">201</strong> to <strongid="apig-api-180713215__b62866195115">200</strong>.</li><liid="apig-api-180713215__li13447181781414">The response status code of the API for modifying the specifications of a pay-per-use gateway is changed from <strongid="apig-api-180713215__b14270247181318">200</strong> to <strongid="apig-api-180713215__b18270194717138">202</strong>.</li></ul>
<tdclass="cellrowborder"valign="top"width="70.67999999999999%"headers="mcps1.3.1.2.3.1.2 "><pid="apig-api-180713215__p36313432486">This issue incorporates the following changes:</p>
<ulid="apig-api-180713215__ul42801253912"><liid="apig-api-180713215__li11280202513912">The response status code of the API for modifying an app is changed from <strongid="apig-api-180713215__b163764619482">201</strong> to <strongid="apig-api-180713215__b1673034814810">200</strong>.</li><liid="apig-api-180713215__li628010253919">The response body parameters table of the API for querying the supported features of a gateway is changed.</li></ul>
<tdclass="cellrowborder"valign="top"width="70.67999999999999%"headers="mcps1.3.1.2.3.1.2 "><pid="apig-api-180713215__p161581162047">This issue incorporates the following changes:</p>
<ulid="apig-api-180713215__ul3292105417413"><liid="apig-api-180713215__li229218541247">Updated <ahref="apig-api-190529263.html">Before You Start</a>.</li><liid="apig-api-180713215__li129217549410">Optimized <ahref="apig-api-180713003.html">Calling APIs</a>.</li><liid="apig-api-180713215__li7693195710420">Added <ahref="apig-api-0001.html">API Usage</a>.</li></ul>
<tdclass="cellrowborder"valign="top"width="70.67999999999999%"headers="mcps1.3.1.2.3.1.2 "><pid="apig-api-180713215__p19494193463911">This issue incorporates the following changes:</p>
<ulid="apig-api-180713215__ul7811234691"><liid="apig-api-180713215__li19814342919">The response status code of the API for modifying an app is changed from 201 to 200.</li><liid="apig-api-180713215__li7810341998">The response body parameters table of the API for querying the supported features of a Gateway is changed.</li></ul>
<divid="body8662426"><pid="apig-api-190529263__en-us_topic_0000001969180093_p14359124953115">API Gateway (APIG) is a high-performance, high-availability, and high-security API hosting service that helps enterprises build, manage, and deploy APIs at any scale.</p>
<pid="apig-api-190529263__en-us_topic_0000001969180093_p43591949123114">This document describes how to use REST APIs to perform operations on APIG, such as creating, deleting, and modify your own APIs. </p>
<pid="apig-api-190529263__en-us_topic_0000001969180093_p33591494313">If you plan to access API Gateway through APIs, ensure that you are familiar with API Gateway concepts. For details, see the <emid="apig-api-190529263__en-us_topic_0000001969180093_i1287581820599">User Guide</em>.</p>
<divclass="section"id="apig-api-190529263__en-us_topic_0000001969180093_section932113578479"><h4class="sectiontitle">Endpoints</h4><pid="apig-api-190529263__en-us_topic_0000001969180093_p14210164262711">An endpoint is the <strongid="apig-api-190529263__en-us_topic_0000001969180093_b121007380415">request address</strong> for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, contact technical support engineers.</p>
<divclass="section"id="apig-api-190529263__en-us_topic_0000001969180093_section932113578479"><aname="apig-api-190529263__en-us_topic_0000001969180093_section932113578479"></a><aname="en-us_topic_0000001969180093_section932113578479"></a><h4class="sectiontitle">Endpoints</h4><pid="apig-api-190529263__en-us_topic_0000001969180093_p14210164262711">An endpoint is the <strongid="apig-api-190529263__en-us_topic_0000001969180093_b121007380415">request address</strong> for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, contact technical support engineers.</p>
</div>
<divclass="section"id="apig-api-190529263__en-us_topic_0000001969180093_section4575182612554"><h4class="sectiontitle">Concepts</h4><ulid="apig-api-190529263__en-us_topic_0000001969180093_ul1351921410566"><liid="apig-api-190529263__en-us_topic_0000001969180093_li7519171455619">Account<pid="apig-api-190529263__en-us_topic_0000001969180093_p15520201418569"><aname="apig-api-190529263__en-us_topic_0000001969180093_li7519171455619"></a><aname="en-us_topic_0000001969180093_li7519171455619"></a>An account is created upon successful registration. The account has full access permissions for all of its cloud services and resources. It can be used to reset user passwords and grant user permissions. The account is a payment entity and should not be used directly to perform routine management. For security purposes, create IAM users and grant them permissions for routine management.</p>
</li><liid="apig-api-190529263__en-us_topic_0000001969180093_li105201614195610">IAM user<pid="apig-api-190529263__en-us_topic_0000001969180093_p75201140563"><aname="apig-api-190529263__en-us_topic_0000001969180093_li105201614195610"></a><aname="en-us_topic_0000001969180093_li105201614195610"></a>A user is created using a domain to use cloud services. Each user has its own identity credentials (password and access keys).</p>
@ -13,7 +13,7 @@
<pid="apig-api-190529263__en-us_topic_0000001969180093_p85206147565">For details, see <spanclass="wintitle"id="apig-api-190529263__en-us_topic_0000001969180093_wintitle8100142544718"><b>Help Center > Others > FAQs > Regions and AZs</b></span>.</p>
</li><liid="apig-api-190529263__en-us_topic_0000001969180093_li9520111405611">Availability zone (AZ)<pid="apig-api-190529263__en-us_topic_0000001969180093_p78805519575"><aname="apig-api-190529263__en-us_topic_0000001969180093_li9520111405611"></a><aname="en-us_topic_0000001969180093_li9520111405611"></a>An Availability Zone (AZ) contains one or more physical data centers. Each AZ has independent cooling, fire extinguishing, moisture-proof, and electricity facilities. Within an AZ, compute, network, storage, and other resources are logically divided into multiple clusters. AZs within a region are interconnected using high-speed optical fibers to support cross-AZ high-availability systems.</p>
</li><liid="apig-api-190529263__en-us_topic_0000001969180093_li55206149566">Project<pid="apig-api-190529263__en-us_topic_0000001969180093_p95201914145618"><aname="apig-api-190529263__en-us_topic_0000001969180093_li55206149566"></a><aname="en-us_topic_0000001969180093_li55206149566"></a>Projects group and isolate resources (including compute, storage, and network resources) across physical regions. A default project is provided for each region, and subprojects can be created under each default project. Users can be granted permissions to access all resources in a specific project. If you need more refined access control, create subprojects under a default project and create resources in subprojects. Then you can assign users the permissions required to access only the resources in the specific subprojects.</p>
<pid="apig-api-190529263__en-us_topic_0000001969180093_p102014374598">An IAM user can view the project ID on the <strongid="apig-api-190529263__en-us_topic_0000001969180093_b117851859161">My Credentials</strong> page of the console.</p>
</li></ul>
<ulid="apig-api-190529263__en-us_topic_0000001969180093_ul155211514145611"><liid="apig-api-190529263__en-us_topic_0000001969180093_li185211214125619">Enterprise project<pid="apig-api-190529263__en-us_topic_0000001969180093_p95211114175614"><aname="apig-api-190529263__en-us_topic_0000001969180093_li185211214125619"></a><aname="en-us_topic_0000001969180093_li185211214125619"></a>Enterprise projects group and manage resources across regions. Resources in different enterprise projects are logically isolated. An enterprise project can contain resources of multiple regions, and resources can be added to or removed from enterprise projects.</p>
<divid="body8662426"><pid="apig-api-190529268__en-us_topic_0172440411_p26613555143846">Requests for calling an API can be authenticated using either of the following methods:</p>
<ulid="apig-api-190529268__en-us_topic_0172440411_ul38195410143846"><liid="apig-api-190529268__en-us_topic_0172440411_li61384639143846">AK/SK-based authentication: Requests are authenticated by encrypting the request body using an AK/SK pair. AK/SK-based authentication is recommended because it provides higher security than token-based authentication. </li><liid="apig-api-190529268__en-us_topic_0172440411_li8214375143846">Token-based authentication: Requests are authenticated using a token.<pid="apig-api-190529268__en-us_topic_0172440411_p97292269311"><aname="apig-api-190529268__en-us_topic_0172440411_li8214375143846"></a><aname="en-us_topic_0172440411_li8214375143846"></a></p>
</li></ul>
<divclass="section"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_section0390282152"><h4class="sectiontitle">AK/SK-based Authentication</h4><pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p5607113161512">An AK/SK is used to verify the identity of a request sender. In AK/SK-based authentication, a signature needs to be obtained and then added to requests.</p>
<divclass="note"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_n9dcbfe6b240a43cfa48bb67f6e4b0126"><imgsrc="public_sys-resources/note_3.0-en-us.png"><spanclass="notetitle"></span><divclass="notebody"><pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_a9057158d9de6408fb6d7843353d9b3aa">AK: access key ID, which is a unique identifier used in conjunction with a secret access key to sign requests cryptographically.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_a6b8f717e84924432b9b93893ca4141c1">SK: secret access key used in conjunction with an AK to sign requests cryptographically. It identifies a request sender and prevents the request from being modified.</p>
</div></div>
<divclass="section"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_section0390282152"><aname="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_section0390282152"></a><aname="en-us_topic_0172440411_en-us_topic_0121671869_section0390282152"></a><h4class="sectiontitle">AK/SK-based Authentication</h4><pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p5607113161512">An AK/SK is used to verify the identity of a request sender. In AK/SK-based authentication, a signature needs to be obtained and then added to requests.</p>
<ulid="apig-api-190529268__ul34615082010"><liid="apig-api-190529268__li1461206205">AK: access key ID, which is a unique identifier used with a secret access key to sign requests cryptographically.</li><liid="apig-api-190529268__li846119011206">SK: secret access key used in conjunction with an AK to sign requests cryptographically. It identifies a request sender and prevents the request from being modified.</li></ul>
<pid="apig-api-190529268__en-us_topic_0172440411_p15997957182616">The following uses a demo project to show how to sign a request and use an HTTP client to send an HTTPS request.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_p11261977377">Download the demo project at <ahref="https://github.com/api-gate-way/SdkDemo"target="_blank"rel="noopener noreferrer">https://github.com/api-gate-way/SdkDemo</a>.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_p19468322103716">If you do not need the demo, obtain the APIG signing SDK from technical support personnel.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p1656604461617">AK: access key ID, which is a unique identifier used in conjunction with a secret access key to sign requests cryptographically.</p>
<divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig919329144115"><spanclass="figcap"><b>Figure 1 </b>Adding the APIG signing SDK</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image174116208156"src="en-us_image_0173593322.png"></span></div>
<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p1656604461617">Decompress the downloaded package and reference the obtained JAR file as a dependency.</p>
<divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig919329144115"><spanclass="figcap"><b>Figure 1 </b>Adding the APIG signing SDK</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image174116208156"src="en-us_image_0000002155592541.png"></span></div>
<olid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_ol18692431181510"><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li039995792416"><span>Generate an AK/SK. (If an AK/SK file has already been obtained, skip this step and locate the downloaded AK/SK file. Generally, the file name will be <strongid="apig-api-190529268__en-us_topic_0172440411_b208892054103419">credentials.csv</strong>.)</span><p><oltype="a"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_ol1041165715248"><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li641635711249">Register an account and log in to the management console.</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li15426115710241">Hover over the username and choose <strongid="apig-api-190529268__en-us_topic_0172440411_b1331310311386">My Credentials</strong> from the drop-down list.</li></ol><oltype="a"start="3"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_ol4435175711246"><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li94401457192414">Choose <strongid="apig-api-190529268__en-us_topic_0172440411_b6484124314610">Access Keys</strong> from the navigation pane.</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li4446115712243">Click <strongid="apig-api-190529268__en-us_topic_0172440411_b1766935216311">Create Access Key</strong>.</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li1645475712241">Enter the login password.</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li546365716247">Enter the verification code received by email or SMS message.<divclass="note"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_note12481175762411"><imgsrc="public_sys-resources/note_3.0-en-us.png"><spanclass="notetitle"></span><divclass="notebody"><pclass="text"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p249925712416">For users created in IAM that have not bound any email address or mobile number, only the login password needs to be entered.</p>
</div></div>
</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li20543057142412">Click <strongid="apig-api-190529268__en-us_topic_0172440411_b114935414311">OK</strong> to download the access key.<divclass="note"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_note35511957122417"><imgsrc="public_sys-resources/note_3.0-en-us.png"><spanclass="notetitle"></span><divclass="notebody"><pclass="text"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p3570155782420">Keep the access key secure.</p>
</div></div>
</li></ol>
</p></li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li1115311720450"><span>Download and decompress the demo project.</span></li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li19564155663214"><aname="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li19564155663214"></a><aname="en-us_topic_0172440411_en-us_topic_0121671869_li19564155663214"></a><span>Import the demo project to Eclipse.</span><p><divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig16546145205014"><spanclass="figcap"><b>Figure 2</b>Selecting Existing Projects into Workspace</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image1474131114720"src="en-us_image_0173593323.png"></span></div>
<divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig767232218519"><spanclass="figcap"><b>Figure 3 </b>Selecting the demo project</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image13419842205018"src="en-us_image_0173593324.png"></span></div>
<divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig159778103242"><spanclass="figcap"><b>Figure 4 </b>Structure of the demo project</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image128044312389"src="en-us_image_0173593326.png"></span></div>
</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li20543057142412">Click <strongid="apig-api-190529268__en-us_topic_0172440411_b114935414311">OK</strong> to download the access key.<strongid="apig-api-190529268__b6767153815544">Keep the access key secure.</strong></li></ol>
</p></li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li1115311720450"><span>Download and decompress the demo project.</span></li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li19564155663214"><aname="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li19564155663214"></a><aname="en-us_topic_0172440411_en-us_topic_0121671869_li19564155663214"></a><span>Import the demo project to Eclipse.</span><p><divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig16546145205014"><spanclass="figcap"><b>Figure 2 </b>Selecting Existing Projects into Workspace</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image1474131114720"src="en-us_image_0000002120352414.png"></span></div>
<divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig767232218519"><spanclass="figcap"><b>Figure 3 </b>Selecting the demo project</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image13419842205018"src="en-us_image_0000002120194306.png"></span></div>
<divclass="fignone"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_fig159778103242"><spanclass="figcap"><b>Figure 4</b>Structure of the demo project</span><br><span><imgid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_image128044312389"src="en-us_image_0000002155714161.png"></span></div>
</p></li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li878093111517"><span>Sign the request.</span><p><pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p10940124322710">The request signing method is integrated in the JAR files imported in <ahref="#apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li19564155663214">3</a>. The request needs to be signed before it is sent. The signature will then be added as part of the HTTP header to the request.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p979243115158">The demo code is classified into the following classes to demonstrate signing and sending the HTTP request:</p>
<ulid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_ul46077243144336"><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li373103144336"><strongid="apig-api-190529268__en-us_topic_0172440411_b118932035103413">AccessService</strong>: an abstract class that merges the GET, POST, PUT, and DELETE methods into the access method.</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li15119103144339"><strongid="apig-api-190529268__en-us_topic_0172440411_b199517574414">Demo</strong>: Execution entry used to simulate the sending of GET, POST, PUT, and DELETE requests.</li><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li54381430144341"><strongid="apig-api-190529268__en-us_topic_0172440411_b739815754210">AccessServiceImpl</strong>: Implements the access method, which contains the code required for communication with APIG.</li></ul>
<oltype="a"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_ol1515318170459"><liid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_li1985133317503">Edit the main() method in the <strongid="apig-api-190529268__en-us_topic_0172440411_b1644717515392">Demo.java</strong> file, and replace the bold text with actual values.<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p2061535616161">As shown in the following code, if you use other methods such as POST, PUT, and DELETE, see the corresponding comment.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p129401344175213">Specify <strongid="apig-api-190529268__en-us_topic_0172440411_b2642123633911">region</strong>, <strongid="apig-api-190529268__en-us_topic_0172440411_b7960183753910">serviceName</strong>, <strongid="apig-api-190529268__en-us_topic_0172440411_b7975103917398">ak/sk</strong>, and <strongid="apig-api-190529268__en-us_topic_0172440411_b12744542143916">url</strong> as the actual values. In this demo, the URLs for accessing VPC resources are used.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p27531945173720">To obtain the project ID in the URLs, see <ahref="apig-api-180713009.html#apig-api-180713009">Obtaining a Project ID</a>. To obtain the endpoint, contact the enterprise administrator.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_p27531945173720">To obtain the project ID in the URLs, see <ahref="apig-api-180713009.html">Obtaining a Project ID</a>. To obtain the endpoint, contact the enterprise administrator.</p>
<preclass="screen"id="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_screen89816540225">//<strongid="apig-api-190529268__en-us_topic_0172440411_en-us_topic_0121671869_b6201155152216">TODO</strong>: Replace region with the name of the region in which the service to be accessed is located.
<divclass="section"id="apig-api-190529268__en-us_topic_0172440411_section2417768214391"><h4class="sectiontitle">Token-based Authentication</h4><divclass="note"id="apig-api-190529268__en-us_topic_0172440411_note133321911123"><imgsrc="public_sys-resources/note_3.0-en-us.png"><spanclass="notetitle"></span><divclass="notebody"><ulid="apig-api-190529268__en-us_topic_0172440411_ul1811111515204"><liid="apig-api-190529268__en-us_topic_0172440411_li515275492018">The validity period of a token is 24 hours. When using a token for authentication, cache it to prevent frequently calling the IAM API used to obtain a user token.</li><liid="apig-api-190529268__en-us_topic_0172440411_li1111051162020">Ensure that the token is valid when you use it. Using a token that will soon expire may cause API calling failures.</li></ul>
<divclass="section"id="apig-api-190529268__en-us_topic_0172440411_section2417768214391"><h4class="sectiontitle">Token-based Authentication</h4><divclass="notice"id="apig-api-190529268__note184901082218"><spanclass="noticetitle"><imgsrc="public_sys-resources/notice_3.0-en-us.png"></span><divclass="noticebody"><ulid="apig-api-190529268__en-us_topic_0172440411_ul1811111515204"><liid="apig-api-190529268__en-us_topic_0172440411_li515275492018">The validity period of a token is 24 hours. When using a token for authentication, cache it to prevent frequently calling the IAM API used to obtain a user token.</li><liid="apig-api-190529268__en-us_topic_0172440411_li1111051162020">Ensure that the token is valid when you use it. Using a token that will soon expire may cause API calling failures.</li></ul>
</div></div>
<pid="apig-api-190529268__en-us_topic_0172440411_p18703477214">A token specifies temporary permissions in a computer system. During API authentication using a token, the token is added to requests to get permissions for calling the API.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_p7715203712228">When calling an API to obtain a user token, you must set <strongid="apig-api-190529268__en-us_topic_0172440411_b15281131314375">auth.scope</strong> in the request body to <strongid="apig-api-190529268__en-us_topic_0172440411_b16667169193710">project</strong>.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_p7715203712228">When calling an API to obtain a user token, you must set <strongid="apig-api-190529268__b1699975817464">auth.scope</strong> in the request body to <strongid="apig-api-190529268__b6045917468">project</strong>.</p>
<pid="apig-api-190529268__en-us_topic_0172440411_p9691122114266">After a token is obtained, the <strongid="apig-api-190529268__en-us_topic_0172440411_b1989511293228">X-Auth-Token</strong> header field must be added to requests to specify the token when calling other APIs. For example, if the token is <strongid="apig-api-190529268__en-us_topic_0172440411_b557119459221">ABCDEFJ....</strong>, <strongid="apig-api-190529268__en-us_topic_0172440411_b15689948152216">X-Auth-Token: ABCDEFJ....</strong> can be added to a request as follows:</p>
<pid="apig-api-190529268__en-us_topic_0172440411_p9691122114266">After a token is obtained, the <strongid="apig-api-190529268__en-us_topic_0172440411_b1989511293228">X-Auth-Token</strong> header field must be added to requests to specify the token when calling other APIs. For example, if the token is <spanclass="parmvalue"id="apig-api-190529268__parmvalue151511509464"><b>ABCDEFG....</b></span>, <spanclass="parmvalue"id="apig-api-190529268__parmvalue11511407462"><b>X-Auth-Token: ABCDEFG....</b></span> can be added to a request as follows:</p>
POST https://<emid="apig-api-190529268__en-us_topic_0172440411_i4324529339"><strongid="apig-api-190529268__en-us_topic_0172440411_b2325192915318">{apig_endpoint}</strong></em>/v2/{project_id}/v2/{project_id}/apigw/instances/{instance_id}/api-groups
<divid="body8662426"><pid="apig-api-190529269__en-us_topic_0172440412_p4624111624411">After sending a request, you will receive a response, including a status code, response header, and response body.</p>
<divclass="section"id="apig-api-190529269__en-us_topic_0172440412_section968114282311"><h4class="sectiontitle">Status Code</h4><pid="apig-api-190529269__en-us_topic_0172440412_p124381044137">A status code is a group of digits, ranging from 1xx to 5xx. It indicates the status of a request. For more information, see <ahref="apig-api-180713206.html#apig-api-180713206">HTTP Status Codes</a>.</p>
<divclass="section"id="apig-api-190529269__en-us_topic_0172440412_section968114282311"><h4class="sectiontitle">Status Code</h4><pid="apig-api-190529269__en-us_topic_0172440412_p124381044137">A status code is a group of digits, ranging from 1xx to 5xx. It indicates the status of a request. For more information, see <ahref="apig-api-180713206.html">HTTP Status Codes</a>.</p>
<pid="apig-api-190529269__en-us_topic_0172440412_p2861496519">For example, if status code <strongid="apig-api-190529269__en-us_topic_0172440412_b1944618526549">201</strong> is returned for calling the API used to create an API group, the request is successful.</p>
</div>
<divclass="section"id="apig-api-190529269__en-us_topic_0172440412_section7804143005810"><h4class="sectiontitle">Response Header</h4><pid="apig-api-190529269__en-us_topic_0172440412_p384320471837">Similar to a request, a response also has a header, for example, <strongid="apig-api-190529269__en-us_topic_0172440412_b3428039105210">Content-Type</strong>.</p>
<pid="apig-api-190529269__en-us_topic_0172440412_p586212517238">For example, when calling the API used to create an API group (dedicated gateways), the response headers are shown below.</p>
<divclass="fignone"id="apig-api-190529269__en-us_topic_0172440412_fig11253355175215"><spanclass="figcap"><b>Figure 1 </b>Response headers for creating an API group</span><br><span><imgid="apig-api-190529269__en-us_topic_0172440412_image4904194084419"src="en-us_image_0000001892790552.png"></span></div>
<divclass="fignone"id="apig-api-190529269__en-us_topic_0172440412_fig11253355175215"><spanclass="figcap"><b>Figure 1 </b>Response headers for creating an API group</span><br><span><imgid="apig-api-190529269__en-us_topic_0172440412_image4904194084419"src="en-us_image_0000002155592549.png"></span></div>
</div>
<divclass="section"id="apig-api-190529269__en-us_topic_0172440412_section034615592583"><h4class="sectiontitle">Response Body</h4><pid="apig-api-190529269__en-us_topic_0172440412_p133921631940">The body of a response is often returned in structured format as specified in the <strongid="apig-api-190529269__en-us_topic_0172440412_b205653394539">Content-Type</strong> header field. The response body transfers content except the response header.</p>
<pid="apig-api-190529269__en-us_topic_0172440412_p157041652367">The following is part of the response body for the API used to create an API group.</p>
<divid="body32001227"><pid="apig-api-20200402__en-us_topic_0000001143328897_p207271902710">The following table lists the features that are supported by <strongid="apig-api-20200402__en-us_topic_0000001143328897_b105351432182619">dedicated gateways</strong>.</p>
<divid="body8662426"><pid="apig-api-20200402__en-us_topic_0000001143328897_p207271902710">The following table lists the features that are supported by <strongid="apig-api-20200402__en-us_topic_0000001143328897_b105351432182619">dedicated gateways</strong>.</p>
<divclass="note"id="apig-api-20200402__en-us_topic_0000001143328897_en-us_topic_0281057028_note34931951184916"><imgsrc="public_sys-resources/note_3.0-en-us.png"><spanclass="notetitle"></span><divclass="notebody"><pid="apig-api-20200402__en-us_topic_0000001143328897_en-us_topic_0281057028_p1749305104912">If the gateway you use does not have specific features, contact technical support to upgrade your gateway.</p>
<tdclass="cellrowborder"valign="top"width="10.551055105510551%"headers="mcps1.3.3.1.9.1.2 "><pid="apig-api-20200402__en-us_topic_0000001143328897_p8182025118">Encrypting local sensitive data with commercial cryptographic algorithms</p>
<tdclass="cellrowborder"valign="top"width="27%"headers="mcps1.3.7.3.2.5.1.2 "><pid="apig-en-api-180328002__p363011371216">Type (or format) of the message body.</p>
<tdclass="cellrowborder"valign="top"width="19%"headers="mcps1.3.7.3.2.5.1.3 "><pid="apig-en-api-180328002__p1263043712111">Mandatory if the request body is available.</p>
<divclass="section"id="apig-en-api-180328003__section3546598312249"><h4class="sectiontitle">Procedure</h4><olid="apig-en-api-180328003__ol5417235112249"><liid="apig-en-api-180328003__li7201450105021">Send <strongid="apig-en-api-180328003__b034312224917">POST https://</strong><emid="apig-en-api-180328003__i20265928093">IAM endpoint</em><strongid="apig-en-api-180328003__b1356462520912">/v3/auth/tokens</strong> to obtain the IAM endpoint and the region name in the message body.<pid="apig-en-api-180328003__p29157503105024">See <ahref="https://docs.otc.t-systems.com/regions-and-endpoints/index.html"target="_blank"rel="noopener noreferrer">Regions and Endpoints</a>.</p>
<pid="apig-en-api-180328003__p126473211266"></p>
<pid="apig-en-api-180328003__p066712334263">A cloud service can be deployed globally or at the project level.</p>
<ulid="apig-en-api-180328003__ul11667123332614"><liid="apig-en-api-180328003__li17667173382616">A project-level service requires a project-level token. When you call the API, set <strongid="apig-en-api-180328003__b18431516468">auth.scope</strong> in the request body to <strongid="apig-en-api-180328003__b5845158464">project</strong>. The following services are at the project level: AOM, APIG, AS, BMS, CBR, CCE, Cloud Eye, CSBS, CSS, CTS, DataArts Studio, DC, DCS, DDS, Dedicated WAF, DeH, DIS, DLI, DMS, DNS, DRS, DWS, ECS, EIP, ELB, EVS, GaussDB (for MySQL), GaussDB NoSQL, IMS, KMS, LTS, ModelArts, MRS, NAT, PLAS, RDS, RTS, SDRS, SFS, SMN, SWR, VBS, VPC, VPCEP, VPN, and WAF.</li><liid="apig-en-api-180328003__li7667233182615">A global service requires a global token. When you call the API, set <strongid="apig-en-api-180328003__b16642105915485">auth.scope</strong> in the request body to <strongid="apig-en-api-180328003__b364265915485">domain</strong>. The following services are global ones: Anti-DDoS, IAM, OBS, TMS, and TMS.</li></ul>
<ulid="apig-en-api-180328003__ul11667123332614"><liid="apig-en-api-180328003__li17667173382616">A project-level service requires a project-level token. When you call the API, set <strongid="apig-en-api-180328003__b18431516468">auth.scope</strong> in the request body to <strongid="apig-en-api-180328003__b5845158464">project</strong>. The following services are at the project level: AOM, APIG, AS, BMS, CBR, CCE, Cloud Eye, CSBS, CSS, CTS, DataArts Studio, DC, DCS, DDS, Dedicated WAF, DeH, DIS, DLI, DMS, DNS, DRS, DWS, ECS, EIP, ELB, EVS, GaussDB (for MySQL), GaussDB NoSQL, IMS, KMS, LTS, ModelArts, MRS, NAT, PLAS, RDS, RTS, SDRS, SFS, SMN, SWR, VBS, VPC, VPCEP, VPN, and WAF.</li><liid="apig-en-api-180328003__li7667233182615">A global service requires a global token. When you call the API, set <strongid="apig-en-api-180328003__b16642105915485">auth.scope</strong> in the request body to <strongid="apig-en-api-180328003__b364265915485">domain</strong>. The following services are global ones: Anti-DDoS, IAM, OBS, and TMS.</li></ul>
<divclass="p"id="apig-en-api-180328003__p4434491412249">The following shows an example of a project-level service request:<divclass="note"id="apig-en-api-180328003__note6355990812249"><imgsrc="public_sys-resources/note_3.0-en-us.png"><spanclass="notetitle"></span><divclass="notebody"><pid="apig-en-api-180328003__p3516826412249">Replace the texts in italic with actual ones. For details, see <emid="apig-en-api-180328003__i842352697155127">Identity and Access Management API Reference</em>.</p>
<pid="apig-en-api-180328003__p1770474713271">Log in to the management console, click your username in the upper right corner, and choose <strongid="apig-en-api-180328003__b1424175514817">My Credential</strong> from the drop-down list. On the <strongid="apig-en-api-180328003__b362886114912">My Credentials</strong> page, obtain your username, domain name, and project ID.</p>
</div></div>
@ -19,17 +19,17 @@
],
"password": {
"user": {
"name": "<emid="apig-en-api-180328003__i3005717212249"><strongid="apig-en-api-180328003__b34061845415">username</strong></em>", // IAM username
"password": "<emid="apig-en-api-180328003__i207909212249"><strongid="apig-en-api-180328003__b626512207546">password</strong></em>", // IAM user password
"name": "<emid="apig-en-api-180328003__i125911951089"><strongid="apig-en-api-180328003__b859115511887">username</strong></em>", // IAM username
"password": "<emid="apig-en-api-180328003__i117865571283"><strongid="apig-en-api-180328003__b1578616572817">password</strong></em>", // IAM user password
"domain": {
"name": "<emid="apig-en-api-180328003__i1871183512249"><strongid="apig-en-api-180328003__b7805102111542">domainname</strong></em>" // Name of the domain to which the IAM user belongs
"name": "<emid="apig-en-api-180328003__i38391959918"><strongid="apig-en-api-180328003__b10839165494">domainname</strong></em>" // Name of the domain to which the IAM user belongs
"id": "<strongid="apig-en-api-180328003__b4301132835416"><emid="apig-en-api-180328003__i1191627165415">0215ef11e49d4743be23dd97a1561e91</em></strong>" // Project ID
"id": "<strongid="apig-en-api-180328003__b3151410294"><emid="apig-en-api-180328003__i6156101991">0215ef11e49d4743be23dd97a1561e91</em></strong>" // Project ID
}
}
}
@ -44,17 +44,17 @@
],
"password": {
"user": {
"name": "<emid="apig-en-api-180328003__i1589423111011"><strongid="apig-en-api-180328003__b1589423112012">username</strong></em>", // IAM username
"password": "<emid="apig-en-api-180328003__i7932938307"><strongid="apig-en-api-180328003__b149328381909">password</strong></em>", // IAM user password
"name": "<emid="apig-en-api-180328003__i160716171910"><strongid="apig-en-api-180328003__b760714172911">username</strong></em>", // IAM username
"password": "<emid="apig-en-api-180328003__i24551321391"><strongid="apig-en-api-180328003__b10455021891">password</strong></em>", // IAM user password
"domain": {
"name": "<emid="apig-en-api-180328003__i34335451306"><strongid="apig-en-api-180328003__b343319451304">domainname</strong></em>" // Name of the domain to which the IAM user belongs
"name": "<emid="apig-en-api-180328003__i762311251092"><strongid="apig-en-api-180328003__b36236251096">domainname</strong></em>" // Name of the domain to which the IAM user belongs
"name": "<emid="apig-en-api-180328003__i13403382119"><strongid="apig-en-api-180328003__b74031884120">domainname</strong></em>" // Name of the domain to which the IAM user belongs
"name": "<emid="apig-en-api-180328003__i1942319308914"><strongid="apig-en-api-180328003__b154231330493">domainname</strong></em>" // Name of the domain to which the IAM user belongs
<olid="apm_01_0002__en-us_topic_0000001195565132_ol20487111016266"><liid="apm_01_0002__en-us_topic_0000001195565132_li11487171062616">Access to APM: Applications need to implement AK/SK authentication to connect to APM.</li><liid="apm_01_0002__en-us_topic_0000001195565132_li348714108269">O&M data collection: APM can collect data about applications, basic resources, and user experience from Agents in non-intrusive mode.</li><liid="apm_01_0002__en-us_topic_0000001195565132_li13335281588">Service implementation: APM supports application metric monitoring, application topology, tracing, and intelligent alarm reporting.</li><liid="apm_01_0002__en-us_topic_0000001195565132_li11487181012612">Service expansion:<ulid="apm_01_0002__en-us_topic_0000001195565132_ul539681181414"><liid="apm_01_0002__en-us_topic_0000001195565132_li839619110147">You can quickly diagnose application performance exceptions based on the application topology and tracing of APM, and make judgments based on the application O&M metrics of Application Operations Management (AOM).</li><liid="apm_01_0002__en-us_topic_0000001195565132_li919713571510">Based on the historical metric data learned by using intelligent algorithms, APM associates metrics for analysis from multiple dimensions, extracts the context data of both normal and abnormal services for comparison, and locates root causes through cluster analysis.</li></ul>
<olid="apm_01_0002__en-us_topic_0000001195565132_ol20487111016266"><liid="apm_01_0002__en-us_topic_0000001195565132_li11487171062616">Access to APM: Applications need to implement AK/SK authentication to connect to APM.</li><liid="apm_01_0002__en-us_topic_0000001195565132_li348714108269">O&M data collection: APM can collect data about applications, basic resources, and user experience from Agents in non-intrusive mode.</li><liid="apm_01_0002__en-us_topic_0000001195565132_li13335281588">Service implementation: APM supports application metric monitoring, application topology, tracing, and intelligent alarm reporting.</li><liid="apm_01_0002__en-us_topic_0000001195565132_li11487181012612">Service expansion:<ulid="apm_01_0002__en-us_topic_0000001195565132_ul539681181414"><liid="apm_01_0002__en-us_topic_0000001195565132_li839619110147">You can quickly diagnose application performance exceptions based on the application topology and tracing of APM, and make judgments based on the application O&M metrics of Application Operations Management (AOM).</li><liid="apm_01_0002__en-us_topic_0000001195565132_li919713571510">APM uses intelligent algorithms to learn historical metric data. It can then associate metrics for analysis from multiple dimensions, extract the context data of both normal and abnormal services for comparison, and locate root causes through cluster analysis.</li></ul>
<divclass="section"id="apm_01_0003__en-us_topic_0000001195725120_section87847237262"><h4class="sectiontitle">Application Metric Monitoring</h4><pid="apm_01_0003__en-us_topic_0000001195725120_p18561034192613">This function enables you to monitor the overall health status of applications. APM Agents collect metrics of JVM, GC, service calls, exceptions, external calls, database access, and middleware of Java applications, helping you monitor application running.</p>
<divclass="section"id="apm_01_0003__en-us_topic_0000001195725120_section87847237262"><h4class="sectiontitle">Application Metric Monitoring</h4><pid="apm_01_0003__en-us_topic_0000001195725120_p202921707236">This function enables you to monitor the overall health status of applications. It includes application monitoring details, application monitoring settings, monitoring item views, instances, collection status, and component settings.</p>
<ulid="apm_01_0003__en-us_topic_0000001195725120_ul112206342249"><liid="apm_01_0003__en-us_topic_0000001195725120_li20220134152410">Application monitoring details: APM Agents collect metrics of JVM, GC, service calls, exceptions, external calls, database access, and middleware of Java applications to help you monitor their conditions.</li><liid="apm_01_0003__en-us_topic_0000001195725120_li1267213119255">Application monitoring settings: You can customize collection parameters for some collectors.</li><liid="apm_01_0003__en-us_topic_0000001195725120_li165001364255">Monitoring item views: APM supports summary tables, trend graphs, latest data tables, and raw data tables.</li></ul>
</div>
<divclass="section"id="apm_01_0003__en-us_topic_0000001195725120_s8fe70ad540db459e961007661d2e6f9b"><h4class="sectiontitle">Tracing</h4><pid="apm_01_0003__en-us_topic_0000001195725120_p735211153458">APM comprehensively monitors calls and displays service execution traces and statuses, helping you quickly locate performance bottlenecks and faults.</p>
<ulid="apm_01_0003__en-us_topic_0000001195725120_ul8448181744511"><liid="apm_01_0003__en-us_topic_0000001195725120_li3826119144514">In the displayed trace list, click the target trace to view its basic information.</li><liid="apm_01_0003__en-us_topic_0000001195725120_li16448141704516">On the trace details page, you can view the trace's complete information, including the local method stack and remote call relationships.</li></ul>
<pid="apm_01_0007__en-us_topic_0000001195725122_p18989153812142">With IAM, you can use your account to create IAM users for your employees, and assign permissions to the users to control their access to specific resources. For example, some software developers in your enterprise need to use APM resources but cannot delete them or perform any high-risk operations. To achieve this result, you can create IAM users for the software developers and grant them only the permissions required for using APM resources.</p>
<pid="apm_01_0007__en-us_topic_0000001195725122_p19989203891418">If your account does not need individual IAM users for permissions management, you may skip over this chapter.</p>
<pid="apm_01_0007__en-us_topic_0000001195725122_p09893386144">IAM can be used free of charge. You pay only for the resources in your account. For more information about IAM, see <ahref="https://docs.otc.t-systems.com/identity-access-management/umn/service_overview/what_is_iam.html#iam-01-0026"target="_blank"rel="noopener noreferrer">IAM Service Overview</a>.</p>
<divclass="notice"id="apm_01_0007__en-us_topic_0000001195725122_note13241247165112"><spanclass="noticetitle"><imgsrc="public_sys-resources/notice_3.0-en-us.png"></span><divclass="noticebody"><pid="apm_01_0007__en-us_topic_0000001195725122_p8324144775119">Traces and Agent statistics do not involve your entity resources. To ensure statistics integrity, authorized users can check the trace and Agent statistics of the tenant, including those in other enterprise projects.</p>
<divclass="notice"id="apm_01_0007__en-us_topic_0000001195725122_note13241247165112"><spanclass="noticetitle"><imgsrc="public_sys-resources/notice_3.0-en-us.png"></span><divclass="noticebody"><pid="apm_01_0007__en-us_topic_0000001195725122_p8324144775119">Traces and Agent statistics do not involve your entity resources. To ensure statistics integrity, authorized users can check the trace and Agent statistics in all enterprise projects of a tenant.</p>
</div></div>
<divclass="section"id="apm_01_0007__en-us_topic_0000001195725122_section186901838201416"><aname="apm_01_0007__en-us_topic_0000001195725122_section186901838201416"></a><aname="en-us_topic_0000001195725122_section186901838201416"></a><h4class="sectiontitle">APM Permissions</h4><pid="apm_01_0007__en-us_topic_0000001195725122_p1198963851414">By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and assign permissions policies or roles to these groups. The user then inherits permissions from the groups it is a member of. This process is called authorization. After authorization, the user can perform specified operations on APM.</p>
<pid="apm_01_0007__en-us_topic_0000001195725122_p12920220637">APM is a global service. By default, the APM permissions granted to a user take effect in all regions supported by APM. APM resources are isolated by tenant. All users under a tenant share resources. To isolate resources, use enterprise projects.</p>
<h1class="topictitle1">Privacy and Sensitive Information Protection Statement</h1>
<divid="body8662426"><pid="apm_01_0008__en-us_topic_0000001240565041_p169792472518">All O&M data will be displayed on the APM console. Therefore, you are not advised to upload your privacy or sensitive data to APM. If you need to upload such data, encrypt them.</p>
<divid="body8662426"><pid="apm_01_0008__en-us_topic_0000001240565041_p169792472518">All O&M data will be displayed on the APM console. Therefore, do not upload your privacy or sensitive data to APM. If you need to upload such data, encrypt them.</p>
<divclass="section"id="apm_01_0008__en-us_topic_0000001240565041_section88808557321"><h4class="sectiontitle">How Do We Collect and Use Your Personal Information</h4><pid="apm_01_0008__en-us_topic_0000001240565041_p12581645269">We will only collect and use your personal information in accordance with the purposes and methods described in this Statement. If we want to use your personal information for purposes not stated herein, we will explicitly inform you about this by ourselves or through developers, and obtain your consent again or other legal bases. </p>
</div>
<divclass="section"id="apm_01_0008__en-us_topic_0000001240565041_section2058617973412"><h4class="sectiontitle">Managing Your Personal Information</h4><pid="apm_01_0008__en-us_topic_0000001240565041_p137932394276">We prioritize your concern for personal information. We will comply with applicable laws and regulations to ensure that you can exercise personal data subject rights, such as accessing, copying, modifying, and deleting personal information.</p>
<tdclass="cellrowborder"valign="top"width="22.45326402079376%"headers="mcps1.3.2.2.8.1.7 "><pid="apm_01_0048__en-us_topic_0000001489578464_p171593011431">URLs in the blacklist will not be collected. There are four modes: "startwith", "endwith", "include", and "regex".</p>
<tdclass="cellrowborder"valign="top"width="22.45326402079376%"headers="mcps1.3.2.2.8.1.7 "><pid="apm_01_0048__en-us_topic_0000001489578464_p171593011431">URLs in the blocklist will not be collected. There are four modes: "startwith", "endwith", "include", and "regex".</p>
</td>
</tr>
<trid="apm_01_0048__en-us_topic_0000001489578464_row1642296123"><tdclass="cellrowborder"valign="top"width="11.526542037388783%"headers="mcps1.3.2.2.8.1.1 "><pid="apm_01_0048__en-us_topic_0000001489578464_p915163020436">Max. Status Code Length</p>
<trid="apm_01_0052__en-us_topic_0000001540658301_row102011423918"><tdclass="cellrowborder"rowspan="3"valign="top"width="15.413082616523303%"headers="mcps1.3.3.2.8.1.1 "><pid="apm_01_0052__en-us_topic_0000001540658301_p8207142396">Status code (<strongid="apm_01_0052__en-us_topic_0000001540658301_b558271690">statuscode</strong>: APM counts URL call statistics based on the status code returned.)</p>
<trid="apm_01_0052__en-us_topic_0000001540658301_row102011423918"><tdclass="cellrowborder"rowspan="3"valign="top"width="15.413082616523303%"headers="mcps1.3.3.2.8.1.1 "><pid="apm_01_0052__en-us_topic_0000001540658301_p8207142396">Status code (<strongid="apm_01_0052__en-us_topic_0000001540658301_b232531875">statuscode</strong>: APM counts URL call statistics based on the status code returned.)</p>
<trid="apm_01_0052__en-us_topic_0000001540658301_row20315145393"><tdclass="cellrowborder"rowspan="9"valign="top"width="15.413082616523303%"headers="mcps1.3.3.2.8.1.1 "><pid="apm_01_0052__en-us_topic_0000001540658301_p631314143911">Cluster call (<strongid="apm_01_0052__en-us_topic_0000001540658301_b251088118">user</strong>: APM counts URL call statistics based on the cluster ID of the caller.)</p>
<trid="apm_01_0052__en-us_topic_0000001540658301_row20315145393"><tdclass="cellrowborder"rowspan="9"valign="top"width="15.413082616523303%"headers="mcps1.3.3.2.8.1.1 "><pid="apm_01_0052__en-us_topic_0000001540658301_p631314143911">Cluster call (<strongid="apm_01_0052__en-us_topic_0000001540658301_b1460318697">user</strong>: APM counts URL call statistics based on the cluster ID of the caller.)</p>
<trid="apm_01_0063__en-us_topic_0000001489578472_row11522935171110"><tdclass="cellrowborder"valign="top"width="15.413082616523305%"headers="mcps1.3.2.2.8.1.1 "><pid="apm_01_0063__en-us_topic_0000001489578472_p152213510119">RabbitMQ version (<strongid="apm_01_0063__en-us_topic_0000001489578472_b304065457">version</strong>)</p>
<trid="apm_01_0063__en-us_topic_0000001489578472_row11522935171110"><tdclass="cellrowborder"valign="top"width="15.413082616523305%"headers="mcps1.3.2.2.8.1.1 "><pid="apm_01_0063__en-us_topic_0000001489578472_p152213510119">RabbitMQ version (<strongid="apm_01_0063__en-us_topic_0000001489578472_b1011823489">version</strong>)</p>
<pid="apm_01_0093__en-us_topic_0000001622239212_p110845715390">2. Supported top percentile (TP) on the URL page.</p>
<tdclass="cellrowborder"valign="top"width="78.59%"headers="mcps1.3.2.2.3.1.2 "><olid="apm_01_0093__en-us_topic_0000001622239212_ol421917106264"><liid="apm_01_0093__en-us_topic_0000001622239212_li17219210172610">Supported Redisson 3.17.x.</li><liid="apm_01_0093__en-us_topic_0000001622239212_li15219410142616">Supported TP on the URL page.</li></ol>
<tdclass="cellrowborder"valign="top"width="78.32000000000001%"headers="mcps1.3.1.2.3.1.2 "><pid="apm_01_0093__en-us_topic_0000001622239212_p743219417530">1. Added support for Dubbo 2.8.x.</p>
<tdclass="cellrowborder"valign="top"width="78.59%"headers="mcps1.3.2.2.3.1.2 "><olid="apm_01_0093__en-us_topic_0000001622239212_ol19219121012261"><liid="apm_01_0093__en-us_topic_0000001622239212_li172191310132612">Supported Redisson 3.17.x.</li><liid="apm_01_0093__en-us_topic_0000001622239212_li121941052620">Supported top percentile (TP) on the URL page.<divclass="note"id="apm_01_0093__en-us_topic_0000001622239212_note5566027103916"><spanclass="notetitle"> NOTE: </span><divclass="notebody"><oltype="a"id="apm_01_0093__en-us_topic_0000001622239212_ol152201910182620"><liid="apm_01_0093__en-us_topic_0000001622239212_li3220181092615">The 2.4.8 version only supports JDK 8.</li></ol>
<tdclass="cellrowborder"valign="top"width="78.51%"headers="mcps1.3.2.2.3.1.2 "><pid="apm_01_0093__en-us_topic_0000001622239212_p3538829205315">2.4.8-jdk17; compatible with x86 and Arm architectures</p>
<tdclass="cellrowborder"valign="top"width="78.51%"headers="mcps1.3.3.2.3.1.2 "><olid="apm_01_0093__en-us_topic_0000001622239212_ol146681136162617"><liid="apm_01_0093__en-us_topic_0000001622239212_li266893620262">2.4.8-jdk17; compatible with x86 and Arm architectures</li></ol>
</td>
</tr>
</tbody>
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.