| .. | |
| .. | |
| .. Licensed under the Apache License, Version 2.0 (the "License"); | |
| .. you may not use this file except in compliance with the License. | |
| .. You may obtain a copy of the License at | |
| .. | |
| .. http://www.apache.org/licenses/LICENSE-2.0 | |
| .. | |
| .. Unless required by applicable law or agreed to in writing, software | |
| .. distributed under the License is distributed on an "AS IS" BASIS, | |
| .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| .. See the License for the specific language governing permissions and | |
| .. limitations under the License. | |
| .. | |
| .. _to-api-v3-api_capabilities: | |
| ******************** | |
| ``api_capabilities`` | |
| ******************** | |
| .. deprecated:: 3.1 | |
| Deals with the capabilities that may be associated with API endpoints and methods. These capabilities are assigned to :term:`Roles`, of which a user may have one or more. Capabilities support "wildcarding" or "globbing" using asterisks to group multiple routes into a single capability | |
| ``GET`` | |
| ======= | |
| Get all API-capability mappings. | |
| :Auth. Required: Yes | |
| :Roles Required: None | |
| :Response Type: Array | |
| Request Structure | |
| ----------------- | |
| .. table:: Request Query Parameters | |
| +----------------+----------+--------+------------------------------------+ | |
| | Name | Required | Type | Description | | |
| +================+==========+========+====================================+ | |
| | capability | no | string | Capability name | | |
| +----------------+----------+--------+------------------------------------+ | |
| .. code-block:: http | |
| :caption: Request Example | |
| GET /api/3.0/api_capabilities?capability=types-write HTTP/1.1 | |
| Host: trafficops.infra.ciab.test | |
| User-Agent: curl/7.47.0 | |
| Accept: */* | |
| Cookie: mojolicious=... | |
| Response Structure | |
| ------------------ | |
| :capability: Capability name | |
| :httpMethod: An HTTP request method, practically one of: | |
| - ``GET`` | |
| - ``POST`` | |
| - ``PUT`` | |
| - ``PATCH`` | |
| - ``DELETE`` | |
| :httpRoute: The request route for which this capability applies - relative to the Traffic Ops server's URL | |
| :id: An integer which uniquely identifies this capability | |
| :lastUpdated: The time at which this capability was last updated, in :ref:`non-rfc-datetime` | |
| .. code-block:: http | |
| :caption: Response Example | |
| HTTP/1.1 200 OK | |
| Access-Control-Allow-Credentials: true | |
| Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept | |
| Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE | |
| Access-Control-Allow-Origin: * | |
| Cache-Control: no-cache, no-store, max-age=0, must-revalidate | |
| Content-Type: application/json | |
| Date: Thu, 01 Nov 2018 14:45:24 GMT | |
| X-Server-Name: traffic_ops_golang/ | |
| Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 GMT; Max-Age=3600; HttpOnly | |
| Vary: Accept-Encoding | |
| Whole-Content-Sha512: wptErtIop/AfTTQ+1MZdA2YpPXEOuLFfrPQvvaHqO/uX5fRruOVYW+7p8JTrtH1xg1WN+x6FnjQnSHuWwcpyJg== | |
| Content-Length: 393 | |
| { "response": [ | |
| { | |
| "httpMethod": "POST", | |
| "lastUpdated": "2018-11-01 14:10:22.794114+00", | |
| "httpRoute": "types", | |
| "id": 261, | |
| "capability": "types-write" | |
| }, | |
| { | |
| "httpMethod": "PUT", | |
| "lastUpdated": "2018-11-01 14:10:22.795917+00", | |
| "httpRoute": "types/*", | |
| "id": 262, | |
| "capability": "types-write" | |
| }, | |
| { | |
| "httpMethod": "DELETE", | |
| "lastUpdated": "2018-11-01 14:10:22.799748+00", | |
| "httpRoute": "types/*", | |
| "id": 263, | |
| "capability": "types-write" | |
| } | |
| ]} |