Kinds in API Studio

The kind field categorizes assets in API Studio and defines how the platform processes configurations. It organizes APIs, policies, test cases, and environments, making API development, testing, and deployment more manageable.

Each kind specifies a type of configuration and determines how API Studio handles it. When the kind field is defined, API Studio processes the asset, applies relevant settings, and integrates it with other components. This approach keeps configurations clear, consistent, and organized.

The kind field helps distinguish between asset types and applies the appropriate rules and behaviors. API Studio processes APIs, test cases, policies, and environment variables based on their kind values, keeping workflows structured.

API Studio supports multiple kinds, each serving a specific purpose. The following are some of the supported kinds:

Table 1. API asset
kind Description
kind: api Asset model for API.
Table 2. Top-level assets
kind Description
kind: PolicySequence Asset model for policy sequence, a collection of policies grouped by stages.
kind: GlobalPolicy Asset model for Global policy.
kind: Scope Asset model for defining scope and adding policies to the scope.
Table 3. Policy definitions
kind Description
Transport
kind: InboundBulkHead Policy for restricting the number of concurrent requests to protect APIs from overload.
kind: Transport Policy for transport protocol configuration.
kind: SetMediaType Policy to define the content type.
kind: InboundMessaging Processes incoming messages from a messaging service.
Identify and authorize
kind: IdentifyAndAuthorize Policy to identify and validate the authorization of the applications to access the APIs.
kind: AuthorizeUser Policy for authorizing a user based on defined conditions.
kind: SetContextVariable Setting the context variable for stage policies.
kind: WebMethodsISService Policy to process incoming requests before forwarding them to the native API.
kind: InvokeAWSLambdaFunction Policy for invoking an external AWS Lambda function.
kind: InvokeMessagingExtension Policy for connecting to a messaging extension.
kind: HTTPInvoke Policy for invoking an external HTTP endpoint.
Request processing
kind: TransformRequest Policy for transforming the request.
kind: ValidateAPISpecification Policy for validating the API specification.
kind: DataMasking Policy for data masking.
kind: WebMethodsISService Policy to process incoming requests before forwarding them to the native API.
kind: SetContextVariable Setting the context variable for stage policies.
kind: InvokeAWSLambdaFunction Policy for invoking an external AWS Lambda function.
kind: InvokeMessagingExtension Policy for connecting to a messaging extension.
kind: HTTPInvoke Policy for invoking an external HTTP endpoint.
Traffic monitoring
kind: Log Policy for transaction logging to multiple destinations.
kind: MonitorTraffic Policy for monitoring traffic and SLA management.
kind: CacheServiceResult Policy for caching API responses.
kind: RateLimiter Policy for rate limiting API calls.
Routing
kind: Route Sends API calls to downstream endpoints.
Response processing
kind: TransformResponse Policy for transforming the response.
kind: ValidateAPISpecification Policy for validating the API specification.
kind: CORS Enforces CORS rules.
kind: DataMasking Policy for data masking.
Error handling
kind: ErrorProcessing Policy for error processing.
kind: DataMasking Policy for data masking.
kind: SetContextVariable Setting the context variable for stage policies.
kind: InvokeAWSLambdaFunction Policy for invoking an external AWS Lambda function.
kind: InvokeMessagingExtension Policy for connecting to a messaging extension.
kind: HTTPInvoke Policy for invoking an external HTTP endpoint.
Outbound authentication policies
kind: OutboundAlias Defines an alias for outbound authentication and connectivity settings.
kind: OutboundOAuth2 Configures outbound authentication using the OAuth2 protocol.
kind: OutboundBasicAuth Configures outbound authentication using basic authentication.
kind: OutboundKerberosAuth Configures outbound authentication using the Kerberos protocol.
kind: OutboundNTLMAuth Configures outbound authentication using the NTLM protocol.
kind: OutboundIncomingJWT Configures outbound authentication using an incoming JWT token.
kind: OutboundAnonymous Configures outbound authentication for anonymous access.
Table 4. Mocking APIs
kind Description
kind: MockEndpoint Defines a mock endpoint for API responses.
kind: MockResponse Defines a mock response for an API.
Table 5. API packaging and plans
kind Description
kind: Package Defines a package that contains APIs and associated policies.
kind: Plan Defines a plan that specifies API consumption limits and quotas.
kind: RequestLimit Defines request limits for APIs based on rate limiting policies.
Table 6. Testing APIs
kind Description
kind: Test Asset model for defining a test for an API resource.
kind: Environment Asset model defining the environment for executing tests.
kind: Assertion Asset model for API test assertions.