blob: 794dd4fafd31c0364c05c2bb5481739c8c57cd9f [file] [log] [blame]
..
..
.. 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-v12-api_capability:
API-Capabilities
================
.. _to-api-v12-api-capability-route:
/api/1.2/api_capabilities
+++++++++++++++++++++++++
**GET /api/1.2/api_capabilities**
Get all API-capability mappings.
Authentication Required: Yes
Role(s) Required: None
**Query Parameters**
+----------------+----------+--------+------------------------------------+
| Name | Required | Type | Description |
+================+==========+========+====================================+
| ``capability`` | no | string | Capability name. |
+----------------+----------+--------+------------------------------------+
**Response Properties**
+-------------------+--------+--------------------------------------------------+
| Parameter | Type | Description |
+===================+========+==================================================+
| ``id`` | int | Mapping id. |
+-------------------+--------+--------------------------------------------------+
| ``httpMethod`` | enum | One of: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'. |
+-------------------+--------+--------------------------------------------------+
| ``route`` | string | API route. |
+-------------------+--------+--------------------------------------------------+
| ``capability`` | string | Capability name. |
+-------------------+--------+--------------------------------------------------+
| ``lastUpdated`` | string | |
+-------------------+--------+--------------------------------------------------+
**Response Example** ::
{
"response": [
{
"id": "6",
"httpMethod": "GET",
"route": "/api/*/asns",
"capability": "asn-read",
"lastUpdated": "2017-04-02 08:22:43"
},
{
"id": "7",
"httpMethod": "GET",
"route": "/api/*/asns/*",
"capability": "asn-read",
"lastUpdated": "2017-04-02 08:22:43"
}
]
}
|
**GET /api/1.2/api_capabilities/:id**
Get an API-capability mapping by id.
Authentication Required: Yes
Role(s) Required: None
**Request Route Parameters**
+-------------+----------+-------+-------------------------------------+
| Name | Required | Type | Description |
+=============+==========+=======+=====================================+
| ``id`` | yes | int | Mapping id. |
+-------------+----------+-------+-------------------------------------+
**Response Properties**
+-------------------+--------+--------------------------------------------------+
| Parameter | Type | Description |
+===================+========+==================================================+
| ``id`` | int | Mapping id. |
+-------------------+--------+--------------------------------------------------+
| ``httpMethod`` | enum | One of: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'. |
+-------------------+--------+--------------------------------------------------+
| ``route`` | string | API route. |
+-------------------+--------+--------------------------------------------------+
| ``capability`` | string | Capability name. |
+-------------------+--------+--------------------------------------------------+
| ``lastUpdated`` | string | |
+-------------------+--------+--------------------------------------------------+
**Response Example** ::
{
"response": [
{
"id": "6",
"httpMethod": "GET",
"route": "/api/*/asns",
"capability": "asn-read",
"lastUpdated": "2017-04-02 08:22:43"
}
]
}
|
**POST /api/1.2/api_capabilities**
Create an API-capability mapping.
Authentication Required: Yes
Role(s) Required: admin or oper
**Request Properties**
+----------------+----------+--------+--------------------------------------------------+
| Name | Required | Type | Description |
+================+==========+========+==================================================+
| ``httpMethod`` | yes | enum | One of: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'. |
+----------------+----------+--------+--------------------------------------------------+
| ``route`` | yes | string | API route. |
+----------------+----------+--------+--------------------------------------------------+
| ``capability`` | yes | string | Capability name |
+----------------+----------+--------+--------------------------------------------------+
**Request Example** ::
{
"httpMethod": "POST",
"route": "/api/*/cdns",
"capability": "cdn-write"
}
**Response Properties**
+--------------------+--------+--------------------------------------------------+
| Parameter | Type | Description |
+====================+========+==================================================+
| ``response`` | hash | The details of the creation, if success. |
+--------------------+--------+--------------------------------------------------+
| ``>id`` | int | Mapping id. |
+--------------------+--------+--------------------------------------------------+
| ``>httpMethod`` | enum | One of: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'. |
+--------------------+--------+--------------------------------------------------+
| ``>route`` | string | API route. |
+--------------------+--------+--------------------------------------------------+
| ``>capability`` | string | Capability name |
+--------------------+--------+--------------------------------------------------+
| ``>lastUpdated`` | string | |
+--------------------+--------+--------------------------------------------------+
| ``alerts`` | array | A collection of alert messages. |
+--------------------+--------+--------------------------------------------------+
| ``>level`` | string | Success, info, warning or error. |
+--------------------+--------+--------------------------------------------------+
| ``>text`` | string | Alert message. |
+--------------------+--------+--------------------------------------------------+
**Response Example** ::
{
"response":{
"id": "6",
"httpMethod": "POST",
"route": "/api/*/cdns",
"capability": "cdn-write",
"lastUpdated": "2017-04-02 08:22:43"
},
"alerts":[
{
"level": "success",
"text": "API-capability mapping was created."
}
]
}
|
**PUT /api/1.2/api_capabilities/{:id}**
Edit an API-capability mapping.
Authentication Required: Yes
Role(s) Required: admin or oper
**Request Route Parameters**
+-------------------+----------+--------+---------------------------------------+
| Name | Required | Type | Description |
+===================+==========+========+=======================================+
| ``id`` | yes | string | Mapping id. |
+-------------------+----------+--------+---------------------------------------+
**Request Properties**
+-------------------+--------+--------------------------------------------------+
| Parameter | Type | Description |
+===================+========+==================================================+
| ``httpMethod`` | enum | One of: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'. |
+-------------------+--------+--------------------------------------------------+
| ``route`` | string | API route. |
+-------------------+--------+--------------------------------------------------+
| ``capability`` | string | Capability name |
+-------------------+--------+--------------------------------------------------+
**Request Example** ::
{
"httpMethod": "GET",
"route": "/api/*/cdns",
"capability": "cdn-read"
}
**Response Properties**
+--------------------+--------+--------------------------------------------------+
| Parameter | Type | Description |
+====================+========+==================================================+
| ``response`` | hash | The details of the creation, if success. |
+--------------------+--------+--------------------------------------------------+
| ``>id`` | int | Mapping id. |
+--------------------+--------+--------------------------------------------------+
| ``>httpMethod`` | enum | One of: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE'. |
+--------------------+--------+--------------------------------------------------+
| ``>route`` | string | API route. |
+--------------------+--------+--------------------------------------------------+
| ``>capability`` | string | Capability name |
+--------------------+--------+--------------------------------------------------+
| ``>lastUpdated`` | string | |
+--------------------+--------+--------------------------------------------------+
| ``alerts`` | array | A collection of alert messages. |
+--------------------+--------+--------------------------------------------------+
| ``>level`` | string | Success, info, warning or error. |
+--------------------+--------+--------------------------------------------------+
| ``>text`` | string | Alert message. |
+--------------------+--------+--------------------------------------------------+
**Response Example** ::
{
"response":{
"id": "6",
"httpMethod": "GET",
"route": "/api/*/cdns",
"capability": "cdn-read",
"lastUpdated": "2017-04-02 08:22:43"
},
"alerts":[
{
"level": "success",
"text": "API-capability mapping was updated."
}
]
}
|
**DELETE /api/1.2/api_capabilities/{:id}**
Delete a capability.
Authentication Required: Yes
Role(s) Required: admin or oper
**Request Route Parameters**
+-------------------+----------+--------+---------------------------------------+
| Name | Required | Type | Description |
+===================+==========+========+=======================================+
| ``id`` | yes | string | Mapping id. |
+-------------------+----------+--------+---------------------------------------+
**Response Properties**
+-----------------+----------+------------------------------------------------+
| Parameter | Type | Description |
+=================+==========+================================================+
| ``alerts`` | array | A collection of alert messages. |
+-----------------+----------+------------------------------------------------+
| ``>level`` | string | success, info, warning or error. |
+-----------------+----------+------------------------------------------------+
| ``>text`` | string | Alert message. |
+-----------------+----------+------------------------------------------------+
**Response Example** ::
{
"alerts": [
{
"level": "success",
"text": "API-capability mapping deleted."
}
],
}