type: object
properties:
  id:
    type: string
    description: ID of the OAuth client
    example: 2c9180835d2e5168015d32f890ca1581
  businessName:
    type: string
    description: The name of the business the API Client should belong to
    example: Acme-Solar
  homepageUrl:
    type: string
    description: The homepage URL associated with the owner of the API Client
    example: http://localhost:12345
  name:
    type: string
    description: A human-readable name for the API Client
    example: Demo API Client
  description:
    type: string
    description: A description of the API Client
    example: An API client used for the authorization_code, refresh_token, and client_credentials flows
  accessTokenValiditySeconds:
    type: string
    description: The number of seconds an access token generated for this API Client is valid for
    example: 750
  refreshTokenValiditySeconds:
    type: string
    description: The number of seconds a refresh token generated for this API Client is valid for
    example: 86400
  redirectUris:
    type: array
    items:
      type: string
    description: A list of the approved redirect URIs used with the authorization_code flow
    example: ["http://localhost:12345"]
  grantTypes:
    type: array
    items:
      $ref: '../schemas/GrantType.yaml'
    description: A list of OAuth 2.0 grant types this API Client can be used with
    example: ["AUTHORIZATION_CODE", "CLIENT_CREDENTIALS", "REFRESH_TOKEN"]
  accessType:
    $ref: '../schemas/AccessType.yaml'
    description: The access type (online or offline) of this API Client
    example: "OFFLINE"
  type:
    $ref: '../schemas/ClientType.yaml'
    description: The type of the API Client (public or confidential)
    example: "CONFIDENTIAL"
  internal:
    type: boolean
    description: An indicator of whether the API Client can be used for requests internal to IDN
    example: false
  enabled:
    type: boolean
    description: An indicator of whether the API Client is enabled for use
    example: true
  strongAuthSupported:
    type: boolean
    description: An indicator of whether the API Client supports strong authentication
    example: false
  claimsSupported:
    type: boolean
    description: An indicator of whether the API Client supports the serialization of SAML claims when used with the authorization_code flow
    example: false
  created:
    type: string
    format: 'date-time'
    description: The date and time, down to the millisecond, when the API Client was created
    example: '2017-07-11T18:45:37.098Z'
  modified:
    type: string
    format: 'date-time'
    description: The date and time, down to the millisecond, when the API Client was last updated
    example: '2018-06-25T20:22:28.104Z'
required:
  - id
  - businessName
  - homepageUrl
  - name
  - description
  - accessTokenValiditySeconds
  - refreshTokenValiditySeconds
  - redirectUris
  - grantTypes
  - accessType
  - type
  - internal
  - enabled
  - strongAuthSupported
  - claimsSupported
  - created
  - modified
