> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Oracle API Gateway Object Type - API Specification

> API Specification is the logical configuration of the API exposed by a deployment. API Specification files are validated at build time. Object Type Id

API Specification is the logical configuration of the API exposed by a deployment.

API Specification files are validated at build time.

# Object Type Identification

* When populating files from source control management (SCM), FlexDeploy will classify all files with extension of .json or .yaml (case-insensitive) as API Specifications regardless of location.

# File Extensions

* .json

* .yaml

# Object Type Code

`API_SPECIFICATION`

# Suggested SCM Structure

There are a few options available to you:

```
If you want to specify the Compartment, Gateway, and Path in you SCM:
/CompartmentName/GatewayName/Path/Prefix/name.json

If you want to specify the Compartment and Gateway in you SCM:
/CompartmentName/GatewayName/name.json

If you want to specify the Compartment in you SCM:
/CompartmentName/name.json

The compartment name and gateway name at deploy time come from this file attribute.
If you want to use the target property, set the value to the default shown below, including the ${{}}.
```

# Attributes

<table><colgroup><col /><col /><col /><col /><col /></colgroup><tbody><tr><th>**Name**</th><th>**Code**</th><th>**Description**</th><th>**Default Value**</th><th>**Supported Values**</th></tr><tr><td>Compartment Name</td><td>`COMPARTMENT_NAME`</td><td>The compartment to deploy this api to. FlexDeploy assume compartment name is unique for the given tenancy as OCID is determined from compartment name.If the path contains 2 or more slashes, the first segment of the path is used. Otherwise, default value is the target property `{{FDOAG_COMPARTMENT_NAME}}`</td><td> </td></tr><tr><td>Gateway Name</td><td>`GATEWAY_NAME`</td><td>The gateway to deploy this api to. FlexDeploy assumes gateway name is unique in the above compartment as OCID is determined from gateway name.If the path contains 3 or more slashes, the second segment of the path is used. Otherwise, default value is the target property `{{FDOAG_GATEWAY_NAME}}`</td><td> </td></tr><tr><td>Path Prefix</td><td>`PATH_PREFIX`</td><td>The path on which to deploy all routes contained in the API deployment specification. Path must begin with forward slash.If the path contains 3 or more slashes, the value is derived from the path.i.e. if the path is ***/Compartment/Gateway/A/B/C/openapi.json ***then the path prefix will be ***/A/B/C***For more information, see [\<u>Deploying an API on an API Gateway by Creating an API Deployment\</u>](https://docs.oracle.com/iaas/Content/APIGateway/Tasks/apigatewaycreatingdeployment.htm).</td><td>`/`</td><td /></tr><tr><td>Display Name</td><td>`DISPLAY_NAME`</td><td>The user-friendly name to call this api.</td><td>`fd-apigateway-FILE_NAME`</td><td /></tr><tr><td>Rollback Source Type</td><td>`ROLLBACK_SOURCE_TYPE`</td><td>Where to retrieve file when initiating a [rollback deployment](https://docs.flexagon.com/flexdeploy-11-0-documentation/flexdeploy-users-guide/workflow-request-execution/build-deploy-projects.md#Rolling-Back-a-Deployment).</td><td>Project Version</td><td>Project Version, SCM Revision, Backup Repository, and Rollback FileSCM Revision and Rollback File options are only available when the project has SCM details configured, and Backup Repository should only be used if the FlexDeploy server and project are configured to take [backups](https://docs.flexagon.com/flexdeploy-11-0-documentation/flexdeploy-installation-guide/advanced/flexdeploy-backups-repository.md).</td></tr><tr><td>Rollback File</td><td>`ROLLBACK_FILE`</td><td>The associated file to deploy which will roll back this file. Only applicable when Rollback Source Type is Rollback File</td><td /><td>Any project file sourced from SCM</td></tr></tbody></table>

# Considerations

`N/A`
