<commit_before>swagger: '2.0'
######################################################
# Prolog
######################################################
info:
  version: "v2"
  title: "WSO2 API Manager - Gateway"
  description: |
    This document specifies a **RESTful API** for WSO2 **API Manager** - Gateway.
    Please see [full swagger definition](https://raw.githubusercontent.com/wso2/carbon-apimgt/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.admin/src/main/resources/admin-api.yaml) of the API which is written using [swagger 2.0](http://swagger.io/) specification.
  contact:
    name: "WSO2"
    url: "http://wso2.com/products/api-manager/"
    email: "<EMAIL>"
  license:
    name: "Apache 2.0"
    url: "http://www.apache.org/licenses/LICENSE-2.0.html"

######################################################
# The fixed parts of the URLs of the API
######################################################

# The schemes supported by the API
schemes:
  - https

# The domain of the API.
# This is configured by the customer during deployment.
# The given host is just an example.
host: apis.wso2.com

# The base path of the API.
# Will be prefixed to all paths.
basePath: /api/am/gateway/v2

# The following media types can be passed as input in message bodies of the API.
# The actual media type must be specified in the Content-Type header field of the request.
# The default is json, i.e. the Content-Type header is not needed to
# be set, but supporting it serves extensibility.
consumes:
  - application/json

# The following media types may be passed as output in message bodies of the API.
# The media type(s) consumable by the requestor is specified in the Accept header field
# of the corresponding request.
# The actual media type returned will be specfied in the Content-Type header field
# of the of the response.
# The default of the Accept header is json, i.e. there is not needed to
# set the value, but supporting it serves extensibility.
produces:
  - application/json


######################################################
# The "API Collection" resource APIs
######################################################
paths:
  /redeploy-api:

    #-----------------------------------------------------
    # Redeploy the API in the Gateway
    #-----------------------------------------------------
    post:
      summary: Re Deploy the API in the gateway
      description: |
        This operation is used to re deploy an API in the gateway. If the Tenant domain is not provided carbon.super
        will be picked as the Tenant domain.
      operationId: redployAPI
      parameters:
        - $ref: '#/parameters/ApiName'
        - $ref: '#/parameters/Version'
        - $ref: '#/parameters/TenantDomain'
      responses:
        200:
          description: |
            OK.
            API successfully deployed in the Gateway.
          schema:
            $ref: '#/definitions/DeployResponse'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
      x-code-samples:
        - lang: Curl
          source: '"curl -k -X POST "https://127.0.0.1:9443/api/am/gateway/v2/redeploy-api?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com\"
          -H "Authorization: Basic YWRtaW46YWRtaW4="'


  /undeploy-api:

    #-----------------------------------------------------
    # Undeploy the API in the Gateway
    #-----------------------------------------------------
    post:
      summary: Uneploy the API in the gateway
      description: |
        This operation is used to undeploy an API in the gateway. If the Tenant domain is not provided carbon.super will
        be picked as the Tenant domain.
      operationId: undeployAPI
      parameters:
        - $ref: '#/parameters/ApiName'
        - $ref: '#/parameters/Version'
        - $ref: '#/parameters/TenantDomain'
      responses:
        200:
          description: |
            OK.
            API successfully undeployed from the Gateway.
          schema:
            $ref: '#/definitions/DeployResponse'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k -X POST "https://127.0.0.1:9443/api/am/gateway/v2/undeploy-api?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com\"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /api-artifact:

    #-----------------------------------------------------
    # Get API Artifacts
    #-----------------------------------------------------
    get:
      summary: Get API artifact from the storage
      description: |
        This operation is used to get the local entries, sequences and endpoints from the storage. If the Tenant domain
        is not provided carbon.super will be picked as the Tenant domain.
      operationId: getAPIArtifacts
      parameters:
        - $ref: '#/parameters/ApiName'
        - $ref: '#/parameters/Version'
        - $ref: '#/parameters/TenantDomain'
      responses:
        200:
          description: |
            OK.
            API artifact successfully retrieved from the storage.
          schema:
            $ref: '#/definitions/APIArtifact'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://127.0.0.1:9443/api/am/gateway/v2/api-artifact?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /local-entry:

    #-----------------------------------------------------
    # Get local entry for the API
    #-----------------------------------------------------
    get:
      summary: Get Local Entry from the storage
      description: |
        This operation is used to get local entry from the storage.If the Tenant domain is not provided carbon.super
        will be picked as the Tenant domain.
      operationId: getLocalEntries
      parameters:
        - $ref: '#/parameters/ApiName'
        - $ref: '#/parameters/Version'
        - $ref: '#/parameters/TenantDomain'
      responses:
        200:
          description: |
            OK.
            Local entry for the API successfully retrieved from the storage.
          schema:
            $ref: '#/definitions/LocalEntry'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://127.0.0.1:9443/api/am/gateway/v2/local-entry?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /sequence:
    #-----------------------------------------------------
    # Get sequence for the API
    #-----------------------------------------------------
    get:
      summary: Get sequences from the storage
      description: |
        This operation is used to get the API sequence from the storage. If the Tenant domain is not provided carbon.super
        will be picked as the Tenant domain.
      operationId: getSequences
      parameters:
        - $ref: '#/parameters/ApiName'
        - $ref: '#/parameters/Version'
        - $ref: '#/parameters/TenantDomain'
      responses:
        200:
          description: |
            OK.
            Sequences for the API successfully retrieved from the storage.
          schema:
            $ref: '#/definitions/Sequences'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://127.0.0.1:9443/api/am/gateway/v2/sequence?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /end-points:

    #-----------------------------------------------------
    # Get Endpoints
    #-----------------------------------------------------
    get:
      summary: Get end-points from the storage for the API
      description: |
        This operation is used to get the end-points from the storage. If the Tenant domain is not provided
        carbon.super will be picked as the Tenant domain.
      operationId: getEndpoints
      parameters:
        - $ref: '#/parameters/ApiName'
        - $ref: '#/parameters/Version'
        - $ref: '#/parameters/TenantDomain'
      responses:
        200:
          description: |
            OK.
            End-points successfully retrieved from the storage for the API.
          schema:
            $ref: '#/definitions/Endpoints'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://1172.16.17.32:9443/api/am/gateway/v2/end-points?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'


######################################################
# Parameters - required by some of the APIs above
######################################################
parameters:

  # API name
  # Specified as part of the query string
  ApiName:
    name: apiName
    in: query
    description: |
      Name of the API
    type: string
    required: true

  # API version
  # Specified as part of the query string
  Version:
    name: version
    in: query
    description: |
      version of the API
    required: true
    type: string

  # Tenant Domain name
  # Specified as part of the query string
  TenantDomain:
    name: tenantDomain
    in: query
    description: |
      Tenant Domain of the API
    type: string

######################################################
# The resources used by some of the APIs above within the message body
######################################################
definitions:
  #-----------------------------------------------------
  # The deploy response resource
  #-----------------------------------------------------
  DeployResponse:
    title: Deploy API Response
    required:
      - deployStatus
    properties:
      deployStatus:
        description: |
          This attribute declares whether deployment task is successfull or failed.
        type: string
        enum:
          - DEPLOYED
          - UNDEPLOYED
          - ERROR
        example: DEPLOYED
      jsonPayload:
        description: |
          Attributes that returned after the api deployment
        type: string

  #-----------------------------------------------------
  # The Endpoint response resource
  #-----------------------------------------------------
  Endpoints:
    title: Endpoints Response
    properties:
      endpoints:
        description: |
          The end points which has been deployed in the gateway
        type: array
        items:
          type: string
          example: "<endpoint xmlns=\"http://ws.apache.org/ns/synapse\" name=\"PizzaShackAPI--v1.0.0_APIproductionEndpoint\"><http uri-template=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"><timeout><responseAction>fault</responseAction></timeout></http><property name=\"ENDPOINT_ADDRESS\" value=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"/></endpoint>"

  #-----------------------------------------------------
  # The Sequence response resource
  #-----------------------------------------------------
  Sequences:
    title: Sequences Response
    properties:
      sequences:
        description: |
          The sequences which has been deployed in the gateway
        type: array
        items:
          type: string
          example: "<sequence xmlns=\"http://ws.apache.org/ns/synapse\" name=\"PizzaShackAPI--v1.0.0_APIproductionEndpoint\"><http uri-template=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"><timeout><responseAction>fault</responseAction></timeout></http><property name=\"ENDPOINT_ADDRESS\" value=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"/></sequnce>"

  #-----------------------------------------------------
  # The Local Entry response resource
  #-----------------------------------------------------
  LocalEntry:
    title: LocalEntry Response
    properties:
      localEntries:
        description: |
          The local entries which has been deployed in the gateway
        type: array
        items:
          type : string
          example : "localEntry xmlns=\"http://ws.apache.org/ns/synapse\" key=\"ga-config-key\" type=\"1\"><GoogleAnalyticsTracking xmlns=\"\">\n\t<!--Enable/Disable Google Analytics Tracking -->\n\t<Enabled>false</Enabled>\n\n\t<!-- Google Analytics Tracking ID -->\n\t<TrackingID>UA-XXXXXXXX-X</TrackingID>\n\n</GoogleAnalyticsTracking></localEntry>"

  #-----------------------------------------------------
  # The API Artifact response resource
  #-----------------------------------------------------
  APIArtifact:
    title: API Artifact Response
    properties:
      api:
        type: string
        description: |
          API Artifact deployed in Gateway.
        example: ""

  #-----------------------------------------------------
  # The Error resource
  #-----------------------------------------------------
  Error:
    title: Error object returned with 4XX HTTP status
    required:
      - code
      - message
    properties:
      code:
        type: integer
        format: int64
        description: Error code
      message:
        type: string
        description: Error message.
      description:
        type: string
        description: |
          A detail description about the error message.
      moreInfo:
        type: string
        description: |
          Preferably an url with more details about the error.
      error:
        type: array
        description: |
          If there are more than one error list them out.
          For example, list out validation errors by each field.
        items:
          $ref: '#/definitions/ErrorListItem'

  #-----------------------------------------------------
  # The Error List Item resource
  #-----------------------------------------------------
  ErrorListItem:
    title: Description of individual errors that may have occurred during a request.
    required:
      - code
      - message
    properties:
      code:
        type: string
        description: Error code
      message:
        type: string
        description: |
          Description about individual errors occurred

#-----------------------------------------------------
# END-OF-FILE
#-----------------------------------------------------
<commit_msg>Address review comments<commit_after>swagger: '2.0'
######################################################
# Prolog
######################################################
info:
  version: "v2"
  title: "WSO2 API Manager - Gateway"
  description: |
    This document specifies a **RESTful API** for WSO2 **API Manager** - Gateway.
    Please see [full swagger definition](https://raw.githubusercontent.com/wso2/carbon-apimgt/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.gateway/src/main/resources/gateway-api.yaml) of the API which is written using [swagger 2.0](http://swagger.io/) specification.
  contact:
    name: "WSO2"
    url: "http://wso2.com/products/api-manager/"
    email: "<EMAIL>"
  license:
    name: "Apache 2.0"
    url: "http://www.apache.org/licenses/LICENSE-2.0.html"

######################################################
# The fixed parts of the URLs of the API
######################################################

# The schemes supported by the API
schemes:
  - https

# The domain of the API.
# This is configured by the customer during deployment.
# The given host is just an example.
host: apis.wso2.com

# The base path of the API.
# Will be prefixed to all paths.
basePath: /api/am/gateway/v2

# The following media types can be passed as input in message bodies of the API.
# The actual media type must be specified in the Content-Type header field of the request.
# The default is json, i.e. the Content-Type header is not needed to
# be set, but supporting it serves extensibility.
consumes:
  - application/json

# The following media types may be passed as output in message bodies of the API.
# The media type(s) consumable by the requestor is specified in the Accept header field
# of the corresponding request.
# The actual media type returned will be specfied in the Content-Type header field
# of the of the response.
# The default of the Accept header is json, i.e. there is not needed to
# set the value, but supporting it serves extensibility.
produces:
  - application/json


######################################################
# The "API Collection" resource APIs
######################################################
paths:
  /redeploy-api:

    #-----------------------------------------------------
    # Redeploy the API in the Gateway
    #-----------------------------------------------------
    post:
      summary: Re Deploy the API in the gateway
      description: |
        This operation is used to re deploy an API in the gateway. If the Tenant domain is not provided carbon.super
        will be picked as the Tenant domain.
      operationId: redployAPI
      parameters:
        - $ref: '#/parameters/apiName'
        - $ref: '#/parameters/version'
        - $ref: '#/parameters/tenantDomain'
      responses:
        200:
          description: |
            OK.
            API successfully deployed in the Gateway.
          schema:
            $ref: '#/definitions/DeployResponse'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
      x-code-samples:
        - lang: Curl
          source: '"curl -k -X POST "https://127.0.0.1:9443/api/am/gateway/v2/redeploy-api?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com\"
          -H "Authorization: Basic YWRtaW46YWRtaW4="'


  /undeploy-api:

    #-----------------------------------------------------
    # Undeploy the API in the Gateway
    #-----------------------------------------------------
    post:
      summary: Uneploy the API in the gateway
      description: |
        This operation is used to undeploy an API in the gateway. If the Tenant domain is not provided carbon.super will
        be picked as the Tenant domain.
      operationId: undeployAPI
      parameters:
        - $ref: '#/parameters/apiName'
        - $ref: '#/parameters/version'
        - $ref: '#/parameters/tenantDomain'
      responses:
        200:
          description: |
            OK.
            API successfully undeployed from the Gateway.
          schema:
            $ref: '#/definitions/DeployResponse'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k -X POST "https://127.0.0.1:9443/api/am/gateway/v2/undeploy-api?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com\"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /api-artifact:

    #-----------------------------------------------------
    # Get API Artifacts
    #-----------------------------------------------------
    get:
      summary: Get API artifact from the storage
      description: |
        This operation is used to get the local entries, sequences and endpoints from the storage. If the Tenant domain
        is not provided carbon.super will be picked as the Tenant domain.
      operationId: getAPIArtifacts
      parameters:
        - $ref: '#/parameters/apiName'
        - $ref: '#/parameters/version'
        - $ref: '#/parameters/tenantDomain'
      responses:
        200:
          description: |
            OK.
            API artifact successfully retrieved from the storage.
          schema:
            $ref: '#/definitions/APIArtifact'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://127.0.0.1:9443/api/am/gateway/v2/api-artifact?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /local-entry:

    #-----------------------------------------------------
    # Get local entry for the API
    #-----------------------------------------------------
    get:
      summary: Get Local Entry from the storage
      description: |
        This operation is used to get local entry from the storage.If the Tenant domain is not provided carbon.super
        will be picked as the Tenant domain.
      operationId: getLocalEntries
      parameters:
        - $ref: '#/parameters/apiName'
        - $ref: '#/parameters/version'
        - $ref: '#/parameters/tenantDomain'
      responses:
        200:
          description: |
            OK.
            Local entry for the API successfully retrieved from the storage.
          schema:
            $ref: '#/definitions/LocalEntry'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://127.0.0.1:9443/api/am/gateway/v2/local-entry?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /sequence:
    #-----------------------------------------------------
    # Get sequence for the API
    #-----------------------------------------------------
    get:
      summary: Get sequences from the storage
      description: |
        This operation is used to get the API sequence from the storage. If the Tenant domain is not provided carbon.super
        will be picked as the Tenant domain.
      operationId: getSequences
      parameters:
        - $ref: '#/parameters/apiName'
        - $ref: '#/parameters/version'
        - $ref: '#/parameters/tenantDomain'
      responses:
        200:
          description: |
            OK.
            Sequences for the API successfully retrieved from the storage.
          schema:
            $ref: '#/definitions/Sequences'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://127.0.0.1:9443/api/am/gateway/v2/sequence?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'

  /end-points:

    #-----------------------------------------------------
    # Get Endpoints
    #-----------------------------------------------------
    get:
      summary: Get end-points from the storage for the API
      description: |
        This operation is used to get the end-points from the storage. If the Tenant domain is not provided
        carbon.super will be picked as the Tenant domain.
      operationId: getEndpoints
      parameters:
        - $ref: '#/parameters/apiName'
        - $ref: '#/parameters/version'
        - $ref: '#/parameters/tenantDomain'
      responses:
        200:
          description: |
            OK.
            End-points successfully retrieved from the storage for the API.
          schema:
            $ref: '#/definitions/Endpoints'
        400:
          description: |
            Bad Request.
            Invalid request or validation error
          schema:
            $ref: '#/definitions/Error'
        404:
          description: |
            Not Found.
            Requested API does not exist.
          schema:
            $ref: '#/definitions/Error'
        x-code-samples:
          - lang: Curl
            source: 'curl -k "https://127.0.0.1:9443/api/am/gateway/v2/end-points?apiName=PizzaAPI&version=1.0&tenantDomain=registry.com"
            -H "Authorization: Basic YWRtaW46YWRtaW4="'


######################################################
# Parameters - required by some of the APIs above
######################################################
parameters:

  # API name
  # Specified as part of the query string
  apiName:
    name: apiName
    in: query
    description: |
      Name of the API
    type: string
    required: true

  # API version
  # Specified as part of the query string
  version:
    name: version
    in: query
    description: |
      version of the API
    required: true
    type: string

  # Tenant Domain name
  # Specified as part of the query string
  tenantDomain:
    name: tenantDomain
    in: query
    description: |
      Tenant Domain of the API
    type: string

######################################################
# The resources used by some of the APIs above within the message body
######################################################
definitions:
  #-----------------------------------------------------
  # The deploy response resource
  #-----------------------------------------------------
  DeployResponse:
    title: Deploy API Response
    required:
      - deployStatus
    properties:
      deployStatus:
        description: |
          This attribute declares whether deployment task is successfull or failed.
        type: string
        enum:
          - DEPLOYED
          - UNDEPLOYED
          - ERROR
        example: DEPLOYED
      jsonPayload:
        description: |
          Attributes that returned after the api deployment
        type: string

  #-----------------------------------------------------
  # The Endpoint response resource
  #-----------------------------------------------------
  Endpoints:
    title: Endpoints Response
    properties:
      endpoints:
        description: |
          The end points which has been deployed in the gateway
        type: array
        items:
          type: string
          example: "<endpoint xmlns=\"http://ws.apache.org/ns/synapse\" name=\"PizzaShackAPI--v1.0.0_APIproductionEndpoint\"><http uri-template=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"><timeout><responseAction>fault</responseAction></timeout></http><property name=\"ENDPOINT_ADDRESS\" value=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"/></endpoint>"

  #-----------------------------------------------------
  # The Sequence response resource
  #-----------------------------------------------------
  Sequences:
    title: Sequences Response
    properties:
      sequences:
        description: |
          The sequences which has been deployed in the gateway
        type: array
        items:
          type: string
          example: "<sequence xmlns=\"http://ws.apache.org/ns/synapse\" name=\"PizzaShackAPI--v1.0.0_APIproductionEndpoint\"><http uri-template=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"><timeout><responseAction>fault</responseAction></timeout></http><property name=\"ENDPOINT_ADDRESS\" value=\"https://localhost:9443/am/sample/pizzashack/v1/api/\"/></sequnce>"

  #-----------------------------------------------------
  # The Local Entry response resource
  #-----------------------------------------------------
  LocalEntry:
    title: LocalEntry Response
    properties:
      localEntries:
        description: |
          The local entries which has been deployed in the gateway
        type: array
        items:
          type : string
          example : "localEntry xmlns=\"http://ws.apache.org/ns/synapse\" key=\"ga-config-key\" type=\"1\"><GoogleAnalyticsTracking xmlns=\"\">\n\t<!--Enable/Disable Google Analytics Tracking -->\n\t<Enabled>false</Enabled>\n\n\t<!-- Google Analytics Tracking ID -->\n\t<TrackingID>UA-XXXXXXXX-X</TrackingID>\n\n</GoogleAnalyticsTracking></localEntry>"

  #-----------------------------------------------------
  # The API Artifact response resource
  #-----------------------------------------------------
  APIArtifact:
    title: API Artifact Response
    properties:
      api:
        type: string
        description: |
          API Artifact deployed in Gateway.
        example: ""

  #-----------------------------------------------------
  # The Error resource
  #-----------------------------------------------------
  Error:
    title: Error object returned with 4XX HTTP status
    required:
      - code
      - message
    properties:
      code:
        type: integer
        format: int64
        description: Error code
      message:
        type: string
        description: Error message.
      description:
        type: string
        description: |
          A detail description about the error message.
      moreInfo:
        type: string
        description: |
          Preferably an url with more details about the error.
      error:
        type: array
        description: |
          If there are more than one error list them out.
          For example, list out validation errors by each field.
        items:
          $ref: '#/definitions/ErrorListItem'

  #-----------------------------------------------------
  # The Error List Item resource
  #-----------------------------------------------------
  ErrorListItem:
    title: Description of individual errors that may have occurred during a request.
    required:
      - code
      - message
    properties:
      code:
        type: string
        description: Error code
      message:
        type: string
        description: |
          Description about individual errors occurred

#-----------------------------------------------------
# END-OF-FILE
#-----------------------------------------------------

{'fraction_non_alphanumeric': 0.20657071339173969, 'fraction_numerical': 0.012453066332916145, 'mean_word_length': 1.5919227962046874, 'pattern_counts': {'":': 0, '<': 59, '<?xml version=': 0, '>': 61, 'https://': 22, 'lorem ipsum': 0, 'www.': 2, 'xml': 8}, 'pii_count': 12, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '684705', 'n_tokens_mistral': 8170, 'n_tokens_neox': 7845, 'n_words': 2452}