type: object
properties:
  id:
    type: string
  name:
    type: string
    maxLength: 256
    description: The display name of the mock API.
  description:
    type: string
    maxLength: 256
    description: The description of the mock API.
  type:
    $ref: ./MockApiType.yaml
  state:
    type: string
    description: Whether the API is running or stopped.
  adminSecurityEnabled:
    type: boolean
    description: Whether security is enabled on the mock API's `/__admin/*` endpoints.
  createdDate:
    type: string
  aclObject:
    description: The ACL object ID of the entity.
    type: string
  mockHost:
    description: The ID of the mock host where this mock API is located.
    type: string
    nullable: true
  links:
    type: object
    properties:
      self:
        type: string
      requests:
        type: string
      mappings:
        type: string
      scenarios:
        type: string
      securitySettings:
        type: string
      recordings:
        type: object
        properties:
          start:
            type: string
          stop:
            type: string
          status:
            type: string
          snapshot:
            type: string
        required:
          - start
          - stop
          - status
          - snapshot
      imports:
        type: string
      exports:
        type: object
        properties:
          wiremock:
            type: string
        required:
          - wiremock
      organisation:
        type: string
      invitations:
        type: string
      acl:
        type: string
        description: The link to the access control list for this mock API.
      versionHistoryCommits:
        type: string
    required:
      - self
      - requests
      - mappings
      - scenarios
      - recordings
      - imports
      - organisation
      - invitations
      - acl
      - versionHistoryCommits
  domainNames:
    type: array
    items:
      type: object
      properties:
        domainName:
          type: string
        urls:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
            required:
              - url
      required:
        - domainName
        - urls
  baseUrl:
    type: string
  domains:
    type: array
    description: The list of domain names that can be used to address this mock API.
    items:
      type: string
required:
  - id
  - name
  - state
  - adminSecurityEnabled
  - exportState
  - createdDate
  - links
  - domainNames
  - baseUrl
  - domains
