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

# List types



## OpenAPI

````yaml get /cms/types/v1
openapi: 3.0.3
info:
  title: Studio API - Motto
  version: 0.0.0
servers:
  - url: https://api.mottostreaming.com
    description: Production server
security:
  - BearerAuth: []
tags:
  - name: AccountService
    description: Account management service
  - name: ActionConfigurationService
    description: Action configuration service definition
  - name: ActionSecretService
    description: Action type service definition
  - name: ActionService
    description: Action service definition
  - name: ActionTypeService
    description: Action type service definition
  - name: ActivityService
    description: Activity service definition
  - name: AdService
    description: Ad management service.
  - name: AnnotationService
    description: Annotation service definition
  - name: AnnotationSetService
    description: Annotation service definition
  - name: AnnotationTypeService
    description: Annotation service definition
  - name: AssetService
    description: Asset management service.
  - name: AuthService
    description: Auth service definition
  - name: BannerService
    description: Banner service definition
  - name: BannerV2Service_v2
    description: Banner service definition
  - name: CleengService
    description: CleengService service definition
  - name: ClipService
    description: ClipService is the service that handles Clip operations.
  - name: ConfigurationService
    description: >-
      Configuration management service. These configurations allow modifying the
      behavior of streams, uploads, simulcasts, etc.
  - name: ContentTypeService
    description: ContentType service definition
  - name: CreativeWorkService
    description: CreativeWork service definition
  - name: EntitlementService
    description: Entitlement service definition
  - name: EntityService
    description: Entity service definition
  - name: EventService
    description: Event service definition
  - name: FileService
    description: OTT files management.
  - name: IngestService
    description: Ingest management service.
  - name: IngestService_v2
    description: Ingest management service.
  - name: LiveStreamService
    description: LiveStream management service.
  - name: LiveStreamService_v2
    description: LiveStream management service.
  - name: OfferService
    description: Offer service definition
  - name: OrganizationService
    description: Organization management service.
  - name: PageService
    description: Page service definition
  - name: PlatformService
    description: Platform service definition
  - name: PlaylistService
    description: Playlist management service.
  - name: ProjectService
    description: Project management service.
  - name: SimulcastService
    description: Simulcast management service.
  - name: SlugService
    description: Slug service definition
  - name: SpiideoService
    description: SpiideoService service definition
  - name: StandingService
    description: Standing service definition
  - name: StitcherService
    description: StitcherService is the service that handles stitching operations.
  - name: StripeService
    description: StripeService service definition
  - name: SubscriptionService
    description: Subscription service definition
  - name: SubtitleService
    description: SubtitleService is the service that handles Subtitle operations.
  - name: TransactionService
    description: Transaction service definition
  - name: UploadService
    description: Upload management service.
  - name: UsageService
    description: The UsageService provides methods to retrieve usage data for SKUs.
  - name: UserService
    description: User management service
  - name: VODService
    description: VODService is the service that handles VOD operations.
  - name: VODService_v2
    description: VODService is the service that handles VOD operations.
  - name: VideoProtectionService
    description: VideoProtection management service.
  - name: VideoProtectionService_v2
    description: VideoProtection management service.
  - name: VideoService
    description: Video management service.
paths:
  /cms/types/v1:
    get:
      tags:
        - ContentTypeService
      operationId: ContentTypeService_ListTypes
      parameters:
        - name: page_size
          in: query
          required: true
          schema:
            type: integer
            format: int32
        - name: project_id
          in: query
          required: true
          schema:
            type: string
        - name: base_type
          in: query
          required: true
          schema:
            enum:
              - BASE_TYPE_UNSPECIFIED
              - BASE_TYPE_EVENT
              - BASE_TYPE_CREATIVE_WORK
              - BASE_TYPE_ENTITY
            type: string
            format: enum
        - name: filter
          in: query
          schema:
            type: string
        - name: page_token
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/motto.cms.content.v1.ListTypesResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
components:
  schemas:
    motto.cms.content.v1.ListTypesResponse:
      type: object
      properties:
        types:
          type: array
          items:
            $ref: '#/components/schemas/motto.cms.content.v1.ContentType'
        next_page_token:
          type: string
    google.rpc.Status:
      type: object
      properties:
        code:
          type: integer
          description: >-
            The status code, which should be an enum value of
            [google.rpc.Code][google.rpc.Code].
          format: int32
        message:
          type: string
          description: >-
            A developer-facing error message, which should be in English. Any
            user-facing error message should be localized and sent in the
            [google.rpc.Status.details][google.rpc.Status.details] field, or
            localized by the client.
        details:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
          description: >-
            A list of messages that carry the error details.  There is a common
            set of message types for APIs to use.
      description: >-
        The `Status` type defines a logical error model that is suitable for
        different programming environments, including REST APIs and RPC APIs. It
        is used by [gRPC](https://github.com/grpc). Each `Status` message
        contains three pieces of data: error code, error message, and error
        details. You can find out more about this error model and how to work
        with it in the [API Design
        Guide](https://cloud.google.com/apis/design/errors).
    motto.cms.content.v1.ContentType:
      required:
        - project_id
        - base_type
        - name
      type: object
      properties:
        id:
          type: string
        project_id:
          type: string
        base_type:
          enum:
            - BASE_TYPE_UNSPECIFIED
            - BASE_TYPE_EVENT
            - BASE_TYPE_CREATIVE_WORK
            - BASE_TYPE_ENTITY
          type: string
          format: enum
        name:
          type: string
        description:
          type: string
        field_groups:
          type: array
          items:
            $ref: '#/components/schemas/motto.cms.content.v1.FieldGroup'
        disabled:
          type: boolean
        visibility:
          enum:
            - VISIBILITY_UNSPECIFIED
            - VISIBILITY_PUBLISHED
            - VISIBILITY_UNLISTED
            - VISIBILITY_HIDDEN
          type: string
          format: enum
        settings:
          $ref: '#/components/schemas/motto.cms.content.v1.ContentTypeSettings'
    google.protobuf.Any:
      type: object
      properties:
        '@type':
          type: string
          description: The type of the serialized message.
      additionalProperties: true
      description: >-
        Contains an arbitrary serialized message along with a @type that
        describes the type of the serialized message.
    motto.cms.content.v1.FieldGroup:
      type: object
      properties:
        title:
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/motto.cms.content.v1.Field'
    motto.cms.content.v1.ContentTypeSettings:
      type: object
      properties:
        allow_following:
          type: boolean
          description: |-
            Whether the content type is able to be followed by users.
             Defaults to false.
        allow_push_notifications:
          type: boolean
          description: |-
            Whether the content type can be be the source of push notifications.
             When the messaging service detects related activity that would invoke a push notification, it will check this field
             to determine if it should send a push notification.
             For example, if a user follows a competition entity, this may be too broad a category to trigger notifications on,
             as it may then cause a push notification for every match within that competition.
             Defaults to false.
    motto.cms.content.v1.Field:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        type:
          enum:
            - FIELD_TYPE_UNSPECIFIED
            - FIELD_TYPE_STRING
            - FIELD_TYPE_INTEGER
            - FIELD_TYPE_DOUBLE
            - FIELD_TYPE_DATETIME
            - FIELD_TYPE_BOOLEAN
            - FIELD_TYPE_LINK
            - FIELD_TYPE_ASSET
            - FIELD_TYPE_OBJECT
          type: string
          format: enum
        input_type:
          enum:
            - INPUT_TYPE_UNSPECIFIED
            - INPUT_TYPE_COLOR_PICKER
            - INPUT_TYPE_TEXTAREA
          type: string
          format: enum
        validations:
          $ref: '#/components/schemas/motto.cms.content.v1.FieldValidations'
        default_value:
          $ref: '#/components/schemas/google.protobuf.Value'
        visibility:
          enum:
            - VISIBILITY_UNSPECIFIED
            - VISIBILITY_PUBLISHED
            - VISIBILITY_UNLISTED
            - VISIBILITY_HIDDEN
          type: string
          format: enum
    motto.cms.content.v1.FieldValidations:
      type: object
      properties:
        count:
          $ref: '#/components/schemas/motto.cms.content.v1.CountValidation'
        length:
          $ref: '#/components/schemas/motto.cms.content.v1.LengthValidation'
        range:
          $ref: '#/components/schemas/motto.cms.content.v1.RangeValidation'
        in:
          $ref: '#/components/schemas/motto.cms.content.v1.InValidation'
        link_type:
          $ref: '#/components/schemas/motto.cms.content.v1.LinkTypeValidation'
        asset:
          $ref: '#/components/schemas/motto.cms.content.v1.AssetValidation'
    google.protobuf.Value:
      description: >-
        Represents a dynamically typed value which can be either null, a number,
        a string, a boolean, a recursive struct value, or a list of values.
    motto.cms.content.v1.CountValidation:
      type: object
      properties:
        min:
          type: string
        max:
          type: string
    motto.cms.content.v1.LengthValidation:
      type: object
      properties:
        min:
          type: string
        max:
          type: string
    motto.cms.content.v1.RangeValidation:
      type: object
      properties:
        start:
          $ref: '#/components/schemas/google.protobuf.Value'
        exclude_start:
          type: boolean
        end:
          $ref: '#/components/schemas/google.protobuf.Value'
        exclude_end:
          type: boolean
    motto.cms.content.v1.InValidation:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Value'
    motto.cms.content.v1.LinkTypeValidation:
      type: object
      properties:
        type_ids:
          type: array
          items:
            type: string
        base_type:
          enum:
            - BASE_TYPE_UNSPECIFIED
            - BASE_TYPE_EVENT
            - BASE_TYPE_CREATIVE_WORK
            - BASE_TYPE_ENTITY
          type: string
          format: enum
        additional_fields:
          type: array
          items:
            type: string
          description: >-
            Additional fields that can be collected along with the link. The
            entries in this array are the keys of the
             dictionary in which these fields are stored. The values in that dictionary are untyped fields, and can be any JSON.
             E.g. `shirt_number` and `position` are additional fields for a link to a player.
        editor_filter:
          type: object
          additionalProperties:
            type: string
          description: >-
            This is a special field to assist the Studio UI in filtering
            selectable links while managing content items.
             There should be a key for each element in the type_ids array (e.g. `season`).
             The value is a KQL filter query with a dynamic component (e.g. `fields.competition.id:{competition.id}`).
             In this example, {competition.id} is a placeholder that will be replaced with the `id` property of the object
             referenced by the property on this type called `competition`.
             Important: do not confuse `competition` in the example above with a type_id. It is a field name of the type that
             is defined in the key.
    motto.cms.content.v1.AssetValidation:
      type: object
      properties:
        types:
          type: array
          items:
            type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````