Pryon Content Service API

The ContentService API from Pryon — 13 operation(s) for contentservice.

Operations 19

GET /api/knowledge/v1/content-groups ListContentGroups #
POST /api/knowledge/v1/content-groups CreateContentGroup #
DELETE /api/knowledge/v1/content-groups/{content_group_id} DeleteContentGroup #
GET /api/knowledge/v1/content-groups/{content_group_id} GetContentGroup #
DELETE /api/knowledge/v1/content-groups/{content_group_id}/contents DeleteContentGroupContents #
GET /api/knowledge/v1/content-groups/{content_group_id}/contents ListContentGroupContents #
DELETE /api/knowledge/v1/content-groups/{content_group_id}/contents/{content_id} DeleteContentGroupContent #
GET /api/knowledge/v1/content-groups/{content_group_id}/contents/{content_id} GetContentGroupContent #
DELETE /api/knowledge/v1/content-groups/{content_group_id}:cascade CascadeDeleteContentGroup #
PATCH /api/knowledge/v1/content-groups/{data.content_group_id} UpdateContentGroup #
POST /api/knowledge/v1/content-groups/{data.content_group_id}/contents/{data.content_id} CreateContentGroupContent #
GET /api/knowledge/v1/contents ListContents #
POST /api/knowledge/v1/contents CreateContent #
DELETE /api/knowledge/v1/contents/{content_id} DeleteContent #
GET /api/knowledge/v1/contents/{content_id} GetContent #
GET /api/knowledge/v1/contents/{content_id}/image GetContentImage #
GET /api/knowledge/v1/contents/{content_id}/subjects ListContentSubjects #
GET /api/knowledge/v1/contents/{content_id}/summary GetSummary #
DELETE /api/knowledge/v1/contents/{content_id}:cascade CascadeDeleteContent #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pryon-contentservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pryon-contentservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pryon Content Service API
  version: '1.0'
  x-refined-note:
  - x-logo differs across the merged source definitions and was not carried
  description: 'Operations tagged ContentService across 3 of this provider''s published API definitions: pryon-admin-openapi.json, pryon-contentservice-api-openapi.yml, pryon-getcontentimage-swagger-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.pryon.net
  description: Pryon Cloud
- url: /
tags:
- name: ContentService
paths:
  /api/knowledge/v1/content-groups:
    get:
      operationId: ContentService_ListContentGroups
      parameters:
      - description: 'Optional: ID for Knowledge Domain under which to search for ContentGroups.'
        in: query
        name: knowledge_domain_id
        schema:
          type: string
      - description: 'Optional: ID for Content which is contained by matching Content Groups.'
        in: query
        name: content_id
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentListContentGroupsResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: ListContentGroups
      tags:
      - ContentService
      description: Get a list of all the Content Groups.  The filters supported are knowledge_domain_id and content_id
    post:
      operationId: ContentService_CreateContentGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contentCreateContentGroupRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetContentGroupResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: CreateContentGroup
      tags:
      - ContentService
      x-codegen-request-body-name: body
      description: CRD methods for a ContentGroup
      parameters:
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/content-groups/{content_group_id}:
    delete:
      operationId: ContentService_DeleteContentGroup
      parameters:
      - description: ID of ContentGroup to delete
        in: path
        name: content_group_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: DeleteContentGroup
      tags:
      - ContentService
      description: Delete a Content Group and all its associations with Contents.  This will not alter the Content resources.  This request will be rejected if the Content Group is a member of any Knowledge Domain.
    get:
      operationId: ContentService_GetContentGroup
      parameters:
      - description: ID of ContentGroup to return
        in: path
        name: content_group_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetContentGroupResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: GetContentGroup
      tags:
      - ContentService
      description: Get a Content Group by id
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/content-groups/{content_group_id}/contents:
    delete:
      operationId: ContentService_DeleteContentGroupContents
      parameters:
      - description: ID of ContentGroup to return
        in: path
        name: content_group_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: DeleteContentGroupContents
      tags:
      - ContentService
      description: Delete all child Content associations with the parent Content Group.  The Content resources are not altered.
    get:
      operationId: ContentService_ListContentGroupContents
      parameters:
      - description: 'Required: id of a valid Content Group from /api/knowledge/v1/content-groups'
        in: path
        name: content_group_id
        required: true
        schema:
          type: string
      - description: 'The default page size is 500, which is also the maximum page size. The REST query parameter is "page_size". If page size is the default, this param can be omitted; otherwise, it must be specified on every page request.

          see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
        in: query
        name: page_size
        schema:
          format: int32
          type: integer
      - description: 'If there are multiple pages, any pages after the first must specify this parameter using the value of next_page_token provided in the previous page''s response. The REST query parameter is "page_token".

          see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
        in: query
        name: page_token
        schema:
          type: string
      - description: 'Optional: if caller only needs the item ID''s then set this to true.'
        in: query
        name: return_only_id
        schema:
          type: boolean
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentListContentGroupContentsResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: ListContentGroupContents
      tags:
      - ContentService
      description: List Content Group Contents, by content_group_id
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/content-groups/{content_group_id}/contents/{content_id}:
    delete:
      operationId: ContentService_DeleteContentGroupContent
      parameters:
      - description: 'Required: ID of the ContentGroup'
        in: path
        name: content_group_id
        required: true
        schema:
          type: string
      - description: 'Required: ID of the Content'
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: DeleteContentGroupContent
      tags:
      - ContentService
      description: Delete Content association with the parent Content Group.  The Content resource is not altered.
    get:
      operationId: ContentService_GetContentGroupContent
      parameters:
      - description: 'Required: ID of the ContentGroup'
        in: path
        name: content_group_id
        required: true
        schema:
          type: string
      - description: 'Required: ID of the Content'
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetContentGroupContentResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: GetContentGroupContent
      tags:
      - ContentService
      description: Get Content Group Content, by content_id
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/content-groups/{content_group_id}:cascade:
    delete:
      operationId: ContentService_CascadeDeleteContentGroup
      parameters:
      - description: ID of ContentGroup to delete
        in: path
        name: content_group_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: CascadeDeleteContentGroup
      tags:
      - ContentService
      description: Delete Content Group and all its associations with Contents.  This will not alter the Content resources.  This request will remove the Content Group from any Knowledge Domains it is member of.
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/content-groups/{data.content_group_id}:
    patch:
      operationId: ContentService_UpdateContentGroup
      parameters:
      - description: 'Required: ID of this entity'
        in: path
        name: data.content_group_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contentUpdateContentGroupRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetContentGroupResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: UpdateContentGroup
      tags:
      - ContentService
      x-codegen-request-body-name: body
      description: Update a Content Group. This can only currently be used to update the display_name field.
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/content-groups/{data.content_group_id}/contents/{data.content_id}:
    post:
      operationId: ContentService_CreateContentGroupContent
      parameters:
      - description: 'Required: ID of the ContentGroup'
        in: path
        name: data.content_group_id
        required: true
        schema:
          type: string
      - description: 'Required: ID of the Content'
        in: path
        name: data.content_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contentContentGroupContentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetContentGroupContentResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: CreateContentGroupContent
      tags:
      - ContentService
      x-codegen-request-body-name: body
      description: CRD methods for ContentGroupContent, a join of a ContentGroup with Content
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/contents:
    get:
      operationId: ContentService_ListContents
      parameters:
      - description: 'Optional: ID for KnowledgeDomain to filter search. The REST query parameter is "knowledge_domain_id".'
        in: query
        name: knowledge_domain_id
        schema:
          type: string
      - description: 'Optional: ID for ContentGroup to filter search. The REST query parameter is "content_group_id".'
        in: query
        name: content_group_id
        schema:
          type: string
      - description: 'Optional: SourceLocation string to filter search. The REST query parameter is "source_location".'
        in: query
        name: source_location
        schema:
          type: string
      - description: 'The default page size is 500, which is also the maximum page size. The REST query parameter is "page_size". If page size is default, this param can be omitted; otherwise it must be specified on every page request.

          see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
        in: query
        name: page_size
        schema:
          format: int32
          type: integer
      - description: 'If there are multiple pages, pages 2-N must specify this parameter using the value of next_page_token provided in the previous page''s response. The REST query parameter is "page_token".

          see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
        in: query
        name: page_token
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentListContentsResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: ListContents
      tags:
      - ContentService
      description: Get the list of Contents associated with a Knowledge Domain
    post:
      operationId: ContentService_CreateContent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/contentCreateContentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetContentResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: CreateContent
      tags:
      - ContentService
      x-codegen-request-body-name: body
      description: CRD methods for Contents
      parameters:
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/contents/{content_id}:
    delete:
      operationId: ContentService_DeleteContent
      parameters:
      - description: Required ID of Content to delete
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: DeleteContent
      tags:
      - ContentService
      description: Delete the Content and all its constituent child resources.  This request will be rejected if Content is a member of any Content Groups.
    get:
      operationId: ContentService_GetContent
      parameters:
      - description: 'Required: ID of Content to return'
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetContentResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      tags:
      - ContentService
      summary: GetContent
      description: ''
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/contents/{content_id}/image:
    get:
      operationId: ContentService_GetContentImage
      parameters:
      - description: 'Required: ID of Content (e.g. application/vnd.pryon.content.id attachment from Exchange API)'
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - description: 'Required: The page number within the content_id (e.g. application/vnd.pryon.start_page attachment from Exchange API).'
        in: query
        name: page
        schema:
          format: int32
          type: integer
      - description: 'Optional: A value of true indicates the image data should not be compressed (Default is compressed).'
        in: query
        name: uncompressed
        schema:
          type: boolean
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: GetContentImage
      tags:
      - ContentService
      description: 'This is an EXPERIMENTAL REST API to get an image representation of the content

        The HTTP GET returns bytes data of image/jpeg Content-Type.

        Query parameters:

        page - Required. A page number within the content_id (e.g. application/vnd.pryon.start_page attachment from Exchange API)

        uncompressed - Optional. A value of 1 indicates the image data should not be compressed. Default value is 0 (compressed). If compressed image data is not found, the API will return uncompressed image data.'
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/contents/{content_id}/subjects:
    get:
      operationId: ContentService_ListContentSubjects
      parameters:
      - description: Content that subject must be found in
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - description: 'The default page size is 100, which is also the maximum page size. The REST query parameter is "page_size". If page size is default, this param can be omitted; otherwise it must be specified on every page request.

          see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
        in: query
        name: page_size
        schema:
          format: int32
          type: integer
      - description: 'If there are multiple pages, any pages after the first must specify this parameter using the value of next_page_token provided in the previous page''s response. The REST query parameter is "page_token".

          see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
        in: query
        name: page_token
        schema:
          type: string
      - description: 'If there are multiple pages, a sort order can be used and is applicable to the pages but not to the items in a page. If this parameter is provided on a multi-page request, it must be provided on all subsequent page requests. Supported options are: "reference_count desc" (default) and "reference_count asc".

          see https://cloud.google.com/apis/design/design_patterns#sorting_order.'
        in: query
        name: order_by
        schema:
          type: string
      - description: If specified, the list will be filtered to subjects of the specified category.
        in: query
        name: subject_category_id
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subjectsListSubjectsResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: ListContentSubjects
      tags:
      - ContentService
      description: List subjects associated with a content item
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/contents/{content_id}/summary:
    get:
      operationId: ContentService_GetSummary
      parameters:
      - description: 'Required: ID of the content whose summary should be returned'
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contentGetSummaryResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: GetSummary
      tags:
      - ContentService
      description: Get summary associated with a Content ID
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
  /api/knowledge/v1/contents/{content_id}:cascade:
    delete:
      operationId: ContentService_CascadeDeleteContent
      parameters:
      - description: Required ID of Content to delete
        in: path
        name: content_id
        required: true
        schema:
          type: string
      - name: Authentication
        in: header
        required: true
        schema:
          type: string
        example: 'Authorization: Bearer {base64-encoded-token}'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
      summary: CascadeDeleteContent
      tags:
      - ContentService
      description: Delete the Content and all its constituent child resources.  This will also remove the Content from all Content Groups it is a member of - this has the effect of removing it from the relevant Knowledge Domains as well.
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
components:
  schemas:
    subjectsListSubjectsResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1CollectionMetadata'
        items:
          description: Subjects that match request criteria.
          items:
            $ref: '#/components/schemas/subjectsGetSubjectResponse'
          type: array
        next_page_token:
          title: 'If there are multiple pages, this will be returned and must be specified in each request for pages 2-N using the "page_token" query param.  However, the only reliable way to know if more pages exist is to request the next page when a full page of items is returned.

            see https://cloud.google.com/apis/design/design_patterns#list_pagination'
          type: string
        page_size:
          description: Returned for convenience and clarity - same as page_size in request.
          format: int32
          type: integer
        order_by:
          description: Returned for convenience and clarity - same as order_by in request.
          type: string
      type: object
    contentListContentsResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1CollectionMetadata'
        items:
          items:
            $ref: '#/components/schemas/contentListContentItem'
          title: Array of Contents that match the request
          type: array
        next_page_token:
          title: 'If there are multiple pages, this will be returned and must be specified in each request for pages 2-N using the "page_token" query param.  However, the only reliable way to know if more pages exist is to request the next page when a full page of items is returned.

            see https://cloud.google.com/apis/design/design_patterns#list_pagination'
          type: string
        page_size:
          description: Returned for convenience and clarity - same as page_size in request.
          format: int32
          type: integer
      type: object
    contentSummaryItem:
      properties:
        text:
          type: string
        html:
          type: string
      type: object
    subjectsSubjectEntity:
      properties:
        subject_id:
          title: hash of subject_category_id and term
          type: string
        term:
          description: Required.  A case-insensitive natural language term that represents the subject.
          type: string
        subject_category_id:
          title: Required.  Subject category
          type: string
        definition:
          description: Optional.  Natural language definition of the subject.  This is provided by an expert.
          type: string
        reference_count:
          format: uint64
          title: "!Deprecation Warning!: This field will no longer be kept up to date and must be considered inaccurate. To view subject reference counts \nplease see ListDomainSubjects.\nOptional.  Number of references to the subject found in the content.  This is provided if known and will otherwise be zero.\nReference count at different levels:\nContent - occurrences in content (0 for Prior Knowledge content subjects)\nContent Group - occurrences in all contents in CG\nKnowledge Domain - occurrences in all contents in KD"
          type: string
        content_count:
          format: uint64
          title: 'Optional.  The number of contents that refer to the subject.  This is provided if known and will otherwise be zero.

            Content - 1

            Content Group - count of all contents it occurs in, in the CG

            Knowledge Domain - count of all contents it occurs in, in the KD'
          type: string
      title: A subject is an unique tuple of term and category
      type: object
    contentGetContentGroupContentResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
        data:
          $ref: '#/components/schemas/contentContentGroupContent'
      type: object
    contentListContentGroupContentsResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1CollectionMetadata'
        items:
          items:
            $ref: '#/components/schemas/contentListContentGroupContentItem'
          title: Map of all ContentGroup Content joins that match the request, keyed off of content_id
          type: array
        next_page_token:
          title: 'If there are multiple pages, this will be returned and must be specified in each request for pages 2-N using the "page_token" query param.  However, the only reliable way to know if more pages exist is to request the next page when a full page of items is returned.

            see https://cloud.google.com/apis/design/design_patterns#list_pagination'
          type: string
        total_size:
          format: int32
          title: 'This is the total number of items in the collection across all the pages.  It is returned with every page and may change during page traversal.

            see https://cloud.google.com/apis/design/design_patterns#list_pagination'
          type: integer
        page_size:
          description: Returned for convenience and clarity - same as page_size in request.
          format: int32
          type: integer
      type: object
    contentListContentGroupsResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1CollectionMetadata'
        items:
          additionalProperties:
            $ref:

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pryon/refs/heads/main/openapi/pryon-contentservice-api-openapi.yml