{"openapi":"3.0.1","info":{"title":"pryon/api/ext/knowledge/v1/content/content.proto","version":"1.0"},"servers":[{"url":"/"}],"paths":{"/api/knowledge/v1/contents/{content_id}/image":{"get":{"operationId":"ContentService_GetContentImage","parameters":[{"description":"ID of Content, for example, the application/vnd.pryon.content.id attachment from the Exchange API.","in":"path","name":"content_id","required":true,"schema":{"type":"string"}},{"description":"The page number within the content ID, for example, the application/vnd.pryon.start_page attachment from the Exchange API.","in":"query","name":"page","required":true,"schema":{"format":"int32","type":"integer"}},{"description":"The default of False indicates the image data is compressed; True indicates the image data should not be compressed.","in":"query","name":"uncompressed","required":false,"schema":{"type":"boolean"}}],"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":"Get Content Image","tags":["ContentService"]}}},"components":{"schemas":{"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.\nThis 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.\nLabels can be used to identify characteristics of the Content.","type":"object"}},"type":"object"},"contentContentGroup":{"properties":{"content_group_id":{"title":"Required: ID of this entity","type":"string"},"display_name":{"title":"Required: Displayed name","type":"string"},"description":{"title":"Optional: Description of the ContentGroup","type":"string"},"source_location":{"description":"Optional: URI for the source location for this Content Group. This field should not be specified by the client and will be filled in by the server when a KD is created using the custom verb createWithSources.","type":"string"},"content_statuses":{"description":"The status breakdown of the contents in the content group\nThe index corresponds to the Content Status and the value at the index\nis the number of contents in the content group with that status.\nFor example, if the content group has 5 contents all in the ingesting phase,\nthen this would be [0, 0, 5, 0, 0, 0].\nIf a content group has 8 contents 2 configured, 1 ingesting, 2 ingested and 3 failed,\nthen this would be [0, 2, 1, 2, 3, 0].","items":{"format":"int32","type":"integer"},"type":"array"},"service_id":{"description":"Optional. The third-party service connect. If not specified, the oldest service connect with an authority and type matching the source_location will be assigned.","type":"string"}},"title":"A ContentGroup is a parent collection of Contents\nIt can be joined with many Knowledge Domains\nIt can be joined with many Contents","type":"object"},"contentContentGroupContent":{"properties":{"content_id":{"title":"Required: ID of the Content","type":"string"},"content_group_id":{"title":"Required: ID of the ContentGroup","type":"string"}},"title":"A ContentGroupContent joins Content to a ContentGroup","type":"object"},"contentContentGroupContentRequest":{"properties":{"data":{"$ref":"#/components/schemas/contentContentGroupContent"}},"type":"object"},"contentContentStatus":{"default":"UNKNOWN","description":"The Content status will only be updated by the server.\n\n - CONFIGURED: CONFIGURED: This is the initial status, indicating the Content is configured. Should be transitioned to INGESTING when the ingestion process starts.\n - UNSUPPORTED: UNSUPPORTED: This Content was found during the listing phase, but we do not support it for ingestion.\n - INGESTING: INGESTING: The Content is currently being ingested. Should be transitioned to INGESTED upon successful ingestion, or INGESTION_FAILED upon ingestion failure.\n - INGESTED: INGESTED: Ingestion for this Content has succeeded. Content cannot be transitioned from this state.\n - INGESTION_FAILED: INGESTION_FAILED: Ingestion for this Content failed. Content can be transitioned to INGESTING upon re-try of the ingestion process.","enum":["UNKNOWN","CONFIGURED","UNSUPPORTED","INGESTING","INGESTED","INGESTION_FAILED"],"type":"string"},"contentCreateContentGroupRequest":{"properties":{"data":{"$ref":"#/components/schemas/contentContentGroup"}},"type":"object"},"contentCreateContentRequest":{"properties":{"data":{"$ref":"#/components/schemas/contentContent"}},"type":"object"},"contentGetContentGroupContentResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/contentContentGroupContent"}},"type":"object"},"contentGetContentGroupResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/contentContentGroup"}},"type":"object"},"contentGetContentResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/contentContent"}},"type":"object"},"contentGetSummaryResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/contentSummaryItem"}},"type":"object"},"contentListContentGroupContentItem":{"properties":{"data":{"$ref":"#/components/schemas/contentContentGroupContent"},"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"}},"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.\nsee 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.\nsee 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"},"contentListContentGroupItem":{"properties":{"data":{"$ref":"#/components/schemas/contentContentGroup"},"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"}},"type":"object"},"contentListContentGroupsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"additionalProperties":{"$ref":"#/components/schemas/contentListContentGroupItem"},"description":"Map of ContentGroups that match the request, keyed by content_group_id.","type":"object"}},"type":"object"},"contentListContentItem":{"properties":{"data":{"$ref":"#/components/schemas/contentContent"},"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"}},"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.\nsee 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"},"contentUpdateContentGroupRequest":{"properties":{"data":{"$ref":"#/components/schemas/contentContentGroup"},"update_mask":{"items":{"type":"string"},"title":"The data path corresponding to the fields being updated in this request.\nOnly the following fields are updatable:\n data.display_name\n data.description\nNote: if no update_mask is supplied, both the display_name and description will be updated.\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"type":"object"},"googlerpcStatus":{"properties":{"code":{"format":"int32","type":"integer"},"message":{"type":"string"},"details":{"items":{"$ref":"#/components/schemas/protobufAny"},"type":"array"}},"type":"object"},"protobufAny":{"properties":{"type_url":{"type":"string"},"value":{"format":"byte","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string"}},"type":"object"},"subjectsGetSubjectResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/subjectsSubjectEntity"}},"type":"object"},"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.\nsee 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"},"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.\nContent - 1\nContent Group - count of all contents it occurs in, in the CG\nKnowledge 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"},"v1CollectionMetadata":{"properties":{"uuid":{"description":"Random UUID returned in the resource response to represent the unique interaction with the API. This can be thought of as a response id.","type":"string"},"response_time_millis":{"description":"Time difference in milliseconds between when the request was received and when the response was generated, that is, the latency.","format":"int64","type":"integer"}},"title":"Metadata that will be returned with each collection-level GET","type":"object"},"v1ResourceMetadata":{"properties":{"uuid":{"description":"UUID returned in the resource response, which represents the unique interaction with the API, that is, the response id.","type":"string"},"create_time":{"description":"Time of the initial request.","format":"date-time","type":"string"},"update_time":{"description":"Time of the last update.\nA value of 0 indicates it has never been updated.","format":"date-time","type":"string"},"response_time_millis":{"format":"int64","title":"Time difference in milliseconds between when the request was received and when the response was generated","type":"integer"}},"type":"object"}}},"x-original-swagger-version":"2.0"}