Creating an API
Description
This API is used to create an API.
URI
- URI format
- Parameter description
Parameter
Mandatory
Type
Description
project_id
Yes
String
Project ID. For details about how to obtain the project ID, see Project ID and Account ID.
api
No
Dictionary
API
- api parameter description
Parameter
Mandatory
Type
Description
catalog_id
Yes
String
Catalog ID. The ID of the root catalog is 0.
name
Yes
String
API name, which can contain 3 to 64 characters, starting with a letter. Only letters, digits, and underscores (_) are allowed.
description
Yes
String
API description, which contains no more than 255 characters
log_flag
Yes
Boolean
Whether to enable the log function. Value true means to enable the function, and false means the opposite.
api_type
Yes
String
API type. Available values include:
API_SPECIFIC_TYPE_CONFIGURATION: The API obtains data through configuration.
API_SPECIFIC_TYPE_SCRIPT: The API obtains data through a script.
auth_type
Yes
String
Authentication mode. Available values include:
The value can be APP (app authentication), IAM (IAM authentication), or NONE (no authentication).
manager
Yes
String
API reviewer name
path
Yes
String
API path
The request path can contain request parameters enclosed in braces ({}), for example, /getUserInfo/{userId}, and special characters *%+-_. are not allowed.
protocol
Yes
String
API access protocol. Available values include:
PROTOCOL_TYPE_HTTP: HTTP
PROTOCOL_TYPE_HTTPS: HTTPS
request_type
Yes
String
API request type. Available values include:
REQUEST_TYPE_POST: POST type
REQUEST_TYPE_GET: GET type
request_paras
No
Dictionary
API request parameters
datasource_config
No
Dictionary
API data source configuration (required for API creation, but not for API registration)
data_mask_switch
No
Boolean
Whether to enable data masking
This parameter is available only in DLM Exclusive.
data_mask_paras
No
Dictionary
Data masking parameters
- request_paras parameter description
Parameter
Mandatory
Type
Description
name
Yes
String
Parameter name
The value can contain 1 to 32 characters, including letters, digits, periods (.), hyphens (-), and underscores (_), and must start with a letter. If the parameter is in the header, the parameter name cannot contain underscores (_). The parameter name is case-insensitive and cannot start with x-apig- or x-sdk-. It cannot be x-stage, x-api-id, x-app-id, or x-request-id. If the parameter is in the header, the parameter name cannot be Authorization or X-Auth-Token.
position
Yes
String
Parameter position. Available values include:
The value can be REQUEST_PARAMETER_POSITION_PATH, REQUEST_PARAMETER_POSITION_HEADER, or REQUEST_PARAMETER_POSITION_QUERY.
type
Yes
String
Parameter type.
The value can be REQUEST_PARAMETER_TYPE_NUMBER or REQUEST_PARAMETER_TYPE_STRING.
description
Yes
String
Parameter description, which contains no more than 255 characters
necessary
Yes
Boolean
Mandatory
example_value
No
String
Example value
support_null
No
Boolean
Whether null is allowed
default_value
No
String
Default value
- datasource_config parameter description
Parameter
Mandatory
Type
Description
type
Yes
String
Data source type
The value can be DWS, MYSQL, or DLI.
connection_id
Yes
String
Data connection ID
connection_name
Yes
String
Connection name
database
Yes
String
Database name
datatable
No
String
Data table name. This parameter is not required when the data obtaining method is script.
table_id
No
String
Data table ID. This parameter is not required when the data obtaining method is script.
queue
No
String
Data queue. When the data source is DLI, you need to select a data connection. For other types of data sources, you do not need to set this parameter.
access_mode
Yes
String
Mode of obtaining data
SQL: Data is obtained using SQL statements. The public cloud only supports this mode.
ROW_KEY: Data is obtained through the row key. This mode applies only to the HBase data source.
PREFIX_FILTER: Data is obtained through the prefix filter. This mode applies only to the HBase data source.
pagination
Yes
String
Pagination mode
The value can be DEFAULT or CUSTOM.
sql
Yes
String
SQL statement (Base64 encoded)
total_size_switch
No
Boolean
Whether to return the total number of records
total_size_sql
No
Boolean
SQL script for calculating the total number of records in the dataset in the script mode
This parameter is mandatory if the API uses a script to obtain data and return of the total number of records is enabled.
backend_paras
Yes
Dictionary
Request parameters
response_paras
Yes
Dictionary
Response parameters
order_paras
Yes
Dictionary
Sorting parameters
- data_mask_paras parameter description
Parameter
Mandatory
Type
Description
column_name
Yes
String
Field name (subject to the field name in the returned result)
algorithm_name
Yes
String
Algorithm name. For details, see Data Security APIs.
algorithm_type
Yes
String
Algorithm type. For details, see Data Security APIs.
en_name
Yes
String
Algorithm name in English. For details, see Data Security APIs.
algorithm_parameters
Yes
String
Algorithm parameters. For details, see Data Security APIs.
failure_policy
Yes
String
Failure policy to be applied when an exception occurs during data masking. Available values include:
- INTERRUPT_AND_EXCEPTION
2. DEFAULT_VALUE
3. SKIP
4. SET_NULL
default_value
No
String
Default value to be obtained when a failure occurs. This parameter is required only when failure_policy is DEFAULT_VALUE.
- backend_paras parameter description
Parameter
Mandatory
Type
Description
name
Yes
String
Request parameter name
The name must be one that has been defined in requestParas.
mapping
No
String
Binding field. This parameter is required by APIs that obtain data through configuration, and not required by APIs that obtain data using a script.
condition
No
String
Operator. Available values include:
CONDITION_TYPE_EQ: equal to
CONDITION_TYPE_NE: not equal to
CONDITION_TYPE_GT: greater than
CONDITION_TYPE_GE: greater than or equal to
CONDITION_TYPE_LT: less than
CONDITION_TYPE_LE: less than or equal to
CONDITION_TYPE_LIKE: %parameter%
CONDITION_TYPE_LIKE_L: %parameter
CONDITION_TYPE_LIKE_R: parameter%
- response_paras parameter description
Parameter
Mandatory
Type
Description
name
Yes
String
Request parameter name
The name must be one that has been defined in requestParas.
field
Yes
String
Binding field. This parameter is required by APIs that obtain data through configuration, and not required by APIs that obtain data using a script.
type
Yes
String
Parameter type.
The value can be REQUEST_PARAMETER_TYPE_NUMBER or REQUEST_PARAMETER_TYPE_STRING.
description
No
String
Parameter description
example_value
No
String
Example value
- order_paras parameter description
Parameter
Mandatory
Type
Description
name
Yes
String
Sorting parameter name
field
Yes
String
Sorting field (field in the database table)
description
Yes
String
Parameter description, which contains no more than 255 characters
optional
Yes
Boolean
Mandatory or optional
sort
Yes
String
Sorting order. The value can be ASC (ascending order), DESC (descending order), or CUSTOM (user-defined order).
order
Yes
Integer
Sequence of sorting parameters
Request Message
- Example request
{ "catalog_id": "0", "name": "testOpenApi_create_configuration", "description": "configuration", "log_flag": false, "api_type": "API_SPECIFIC_TYPE_CONFIGURATION", "auth_type": "APP", "publish_type": "PUBLISH_TYPE_PRIVATE", "manager": "test", "path": "/testOpenApi_configuration/{p}", "protocol": "PROTOCOL_TYPE_HTTP", "request_type": "REQUEST_TYPE_GET", "request_paras": [ { "name": "p", "position": "REQUEST_PARAMETER_POSITION_PATH", "type": "REQUEST_PARAMETER_TYPE_NUMBER", "description": "test", "necessary": true, "example_value": null, "support_null": true, "default_value": null }, { "name": "h", "position": "REQUEST_PARAMETER_POSITION_HEADER", "type": "REQUEST_PARAMETER_TYPE_STRING", "description": "", "necessary": false, "example_value": "", "support_null": false, "default_value": "" }, { "name": "q", "position": "REQUEST_PARAMETER_POSITION_QUERY", "type": "REQUEST_PARAMETER_TYPE_NUMBER", "description": "", "necessary": true, "example_value": null, "support_null": false, "default_value": null } ], "datasource_config": { "type": "DLI", "connection_id": "8a94809a70fa181e0130fd2cbb6e0007", "database": "default", "queue": "default", "access_type": "CONFIGURATION", "access_mode": "SQL", "pagination": "DEFAULT", "table_name": "testTable", "backend_paras": [ { "name": "p", "mapping": "a1", "condition": "CONDITION_TYPE_EQ" }, { "name": "h", "mapping": "a2", "condition": "CONDITION_TYPE_EQ" }, { "name": "q", "mapping": "a3", "condition": "CONDITION_TYPE_EQ" } ], "response_paras": [ { "name": "a1", "type": "REQUEST_PARAMETER_TYPE_STRING", "field": "a1", "description": "", "example_value": "" }, { "name": "a2", "type": "REQUEST_PARAMETER_TYPE_STRING", "field": "a2", "description": "", "example_value": "" }, { "name": "a3", "type": "REQUEST_PARAMETER_TYPE_NUMBER", "field": "a3", "description": "", "example_value": "1" } ], "order_paras": [ { "field": "a1", "name": "o1", "description": "1", "optional": false, "sort": "ASC", "order": 1 }, { "field": "a2", "name": "o2", "description": "", "optional": true, "sort": "CUSTOM", "order": 2 } ] }, "data_mask_switch":true, "data_mask_paras":[ { "column_name":"id", "algorithm_name":"Retain first N and last M.", "algorithm_type":"MASK", "en_name":"KeepBeforeNAfterM", "algorithm_parameters":"{\"m\":0,\"n\":1}", "failure_policy":"SKIP", "default_value":"" } ] }
Response
- Example response
{ "id": "6b9e682fd6d0ef7c0f67470124b20762" }
- Response parameter description
Parameter
Type
Description
id
String
ID of the created API
Status Code
Status Code |
Description |
---|---|
200 |
The API is registered successfully. |
For details about status codes, see Status Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.