Pryon Content Service API

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

OpenAPI Specification

pryon-contentservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pryon Content Service API
  version: '1.0'
  description: 'Operations tagged ContentService across 2 of this provider''s published API definitions: pryon-admin-openapi.json, 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:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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}'
  /api/knowledge/v1/content-groups/{content_group_id}:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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
  /api/knowledge/v1/content-groups/{content_group_id}/contents:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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
  /api/knowledge/v1/content-groups/{content_group_id}/contents/{content_id}:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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
  /api/knowledge/v1/content-groups/{content_group_id}:cascade:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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.
  /api/knowledge/v1/content-groups/{data.content_group_id}:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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.
  /api/knowledge/v1/content-groups/{data.content_group_id}/contents/{data.content_id}:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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
  /api/knowledge/v1/contents:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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}'
  /api/knowledge/v1/contents/{content_id}:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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: ''
  /api/knowledge/v1/contents/{content_id}/image:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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.'
  /api/knowledge/v1/contents/{content_id}/subjects:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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
  /api/knowledge/v1/contents/{content_id}/summary:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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
  /api/knowledge/v1/contents/{content_id}:cascade:
    servers:
    - url: https://api.pryon.net
      description: Pryon Cloud
    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.
components:
  schemas:
    subjectsGetSubjectResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
        data:
          $ref: '#/components/schemas/subjectsSubjectEntity'
      type: object
    contentGetContentGroupContentResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
        data:
          $ref: '#/components/schemas/contentContentGroupContent'
      type: object
    contentContent:
      description: A Content object is a single content source and is an element of a Content Group. Source location currently must be a remote file (for example a PDF document, a Google Doc, or the HTML file associated with a single web page). The Content object describes the content, while the actual data is stored in Captures with the Content as its parent.
      properties:
        content_id:
          title: 'Required: ID of this entity'
          type: string
        content_type_id:
          title: 'Required: ID of the ContentType for this Content'
          type: string
        source_location:
          title: String describing the location, typically a URI
          type: string
        display_name:
          title: 'Required: Displayed name'
          type: string
        description:
          title: 'Optional: Description of the ContentGroup'
          type: string
        status:
          $ref: '#/components/schemas/contentContentStatus'
        source_owner:
          title: Optional.  When a content source requires knowledge of the content owner, this field is used to record the identifier of the owner
          type: string
        revision:
          description: The specific revision that is being referenced. If no revision is specified, the latest revision at the time of ingestion will be used, and the Content will be updated with that revision number.
          type: string
        status_reason:
          description: 'The reason that the Content was transitioned to its current status value.  Generally only relevant when the status is INGESTION_FAILED.

            This field will be set by the service on status transition, and cannot be set in a CreateContent request.'
          type: string
        labels:
          additionalProperties:
            type: string
          description: 'Optional. Content key/value pair labels.

            Labels can be used to identify characteristics of the Content.'
          type: object
      type: object
    contentListContentGroupItem:
      properties:
        data:
          $ref: '#/components/schemas/contentContentGroup'
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
      type: object
    contentGetContentResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
        data:
          $ref: '#/components/schemas/contentContent'
      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
    contentGetSummaryResponse:
      properties:
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
        data:
          $ref: '#/components/schemas/contentSummaryItem'
      type: object
    googlerpcStatus:
      properties:
        code:
          format: int32
          type: integer
        message:
          type: string
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
      type: object
    contentListContentItem:
      properties:
        data:
          $ref: '#/components/schemas/contentContent'
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
      type: object
    contentListContentGroupContentItem:
      properties:
        data:
          $ref: '#/components/schemas/contentContentGroupContent'
        metadata:
          $ref: '#/components/schemas/v1ResourceMetadata'
      type: object
    v1ResourceMetadata:
      properties:
        uuid:
          description: UUID returned i

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