Pryon Knowledge Collections API

Create, list, retrieve and delete knowledge collections for an organization, resolve the active knowledge domain behind a collection, and decommission knowledge domain versions.

OpenAPI Specification

pryon-knowledge-collections-may2025-openapi.json Raw ↑
{"openapi":"3.0.3","info":{"title":"Knowledge Collection Service","version":"1.0.0-alpha"},"paths":{"/api/knowledge/v1alpha1/collections":{"get":{"tags":["List Knowledge Collections"],"summary":"List Knowledge Collections","description":"List all knowledge collections configured for an organization.","operationId":"KnowledgeCollectionService_ListCollections","parameters":[{"name":"team_id","in":"query","description":"Unique identifiers of the teams authorized to the knowledge collection.","schema":{"type":"string"}},{"name":"page_size","in":"query","description":"Requested page size; default and maximum value are both 100.","schema":{"type":"integer","format":"int32"}},{"name":"page_token","in":"query","description":"Returned for multiple pages; must be specified in each request for two pages per sheet using the page token parameter.","schema":{"type":"string"}},{"name":"solution_id","in":"query","description":"Licensed solution for the collection; if not provided, the organizational default solution is automatically assigned.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCollectionsResponse"}}}},"default":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"}}}}}},"post":{"tags":["KnowledgeCollectionService"],"summary":"Create Knowledge Collections","operationId":"KnowledgeCollectionService_CreateCollectionWithSources","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCollectionWithSourcesRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCollectionResponse"}}}},"default":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"}}}}}}},"/api/knowledge/v1alpha1/collections/{collection_id}":{"get":{"tags":["Knowledge Collection Service"],"summary":"Retrieve Knowledge Collections","description":"Retrieve an existing knowledge collection.","operationId":"KnowledgeCollectionService_GetCollection","parameters":[{"name":"collection_id","in":"path","description":"Unique identifier of the knowledge collection.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCollectionResponse"}}}},"default":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"}}}}}},"delete":{"tags":["KnowledgeCollectionService"],"summary":"Delete Knowledge Collections","description":"Delete collections from an organization while also locating and decommissioning all knowledge domain versions associated with the record.","operationId":"KnowledgeCollectionService_DeleteCollection","parameters":[{"name":"collection_id","in":"path","description":"Unique identifier of the knowledge collection.","required":true,"schema":{"type":"string"}},{"name":"force","in":"query","description":"Flag used to force delete a collection when it is set as an organizational or user default; default is false.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}},"default":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"}}}}}}},"/api/knowledge/v1alpha1/collections/{collection_id}/domains/{knowledge_domain_id}":{"get":{"tags":["KnowledgeCollectionService"],"summary":"Get Knowledge Collections","description":"Retrieve all knowledge collections for an organization.","operationId":"KnowledgeCollectionService_GetCollectionDomain","parameters":[{"name":"collection_id","in":"path","description":"Unique identifier of the knowledge collection.","required":true,"schema":{"type":"string"}},{"name":"knowledge_domain_id","in":"path","description":"Unique ID of the knowledge domain.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCollectionDomainResponse"}}}},"default":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"}}}}}}}},"components":{"schemas":{"CollectionEntityWithSources":{"type":"object","properties":{"sources":{"type":"array","items":{"$ref":"#/components/schemas/ContentGroupSource"},"description":"Required. A list of content sources to start ingesting when the Collection is created\n These can be urls to any of the supported integrations with an optional service id"},"display_name":{"type":"string","description":"Name of the collection."},"description":{"type":"string","description":"Explanatory text that fully describes the item."},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"Advanced key/value pair configuration; see a Pryon representative before using."},"team_ids":{"type":"array","items":{"type":"string"},"description":"Unique identifiers of the teams authorized to the knowledge collection."},"solution_id":{"type":"string","description":"Licensed solution for the collection; if not provided, the organizational default solution is automatically assigned."}},"description":"Data for creating a new collection; a list of content sources to ingest."},"CollectionMetadata":{"type":"object","properties":{"uuid":{"type":"string","description":"Unique identifier for the interaction returned in the resource response; the response ID."},"response_time_millis":{"type":"integer","description":"Response time (in milliseconds); latency.","format":"uint32"}},"description":"Metadata returned with each collection-level GET."},"ContentGroupSource":{"type":"object","properties":{"source_location":{"type":"string","description":"URL of the content to be ingested; see Collections for information on valid sources."},"display_name":{"type":"string","description":"Display name for the source."},"service_id":{"type":"string","description":"Third-party service connect; if not specified, the oldest service connect with an authority and type matching the source location is assigned."},"content_ids":{"type":"array","items":{"type":"string"},"description":"Unique identifierof the content items to use during domain creation; only used with CreateNextVersionWithSourcesRequest when CreateNextVersionRequest.Mode == INGEST_SELECTED_CONTENTS; content record must already exist within the Content Group or an error is returned."}}},"CreateCollectionWithSourcesRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CollectionEntityWithSources"}},"description":"The top-level request to create a collection with sources"},"GetCollectionDomainResponse":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"data":{"$ref":"#/components/schemas/KnowledgeDomainEntity"}}},"GetCollectionResponse":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"data":{"$ref":"#/components/schemas/KnowledgeCollection"}}},"GetDomainResponse":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"data":{"$ref":"#/components/schemas/KnowledgeDomainEntity"}}},"GoogleProtobufAny":{"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."},"KnowledgeCollection":{"type":"object","properties":{"collection_id":{"type":"string","description":"Unique identifier of the knowledge collection."},"active_domain_id":{"type":"string","description":"Unique identifier of the current version domain."},"active_domain_history":{"type":"array","items":{"type":"string"},"description":"All identifiers that were active throughout the life of the collection; autogenerated and listed in reverse order."},"team_ids":{"type":"array","items":{"type":"string"},"description":"Unique identifiers of the teams authorized to the knowledge collection."},"solution_id":{"type":"string","description":"Licensed solution for the collection; if not provided, the organizational default solution is automatically assigned."}},"description":"Versioned collection of documents accessible by authorized users."},"KnowledgeDomainEntity":{"type":"object","properties":{"knowledge_domain_id":{"type":"string","description":"Unique identifier of the active version of the knowledge domain; if not specified, with be autogenerated."},"display_name":{"type":"string","description":"Name of the knowledge collection."},"description":{"type":"string","description":"Explanatory text that fully describes the item."},"status":{"enum":["UNKNOWN","CONTENT_AWAIT","CONTENT_IDENTIFIED","CONTENT_READY","CONTENT_NOT_SUPPORTED","DECOMMISSIONED"],"type":"string","format":"enum"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"DEPRECATED.  Use config instead.\n DEPRECATED. Knowledge domain specific key/value pair labels used to organize and select subsets of objects."},"kd_succession_id":{"type":"string","description":"DEPRECATED. Use collection_id; autogenerated uneditable identifier for the parent to the knowledge domain; created with each new knowledge domain."},"status_reason":{"type":"string","description":"Reason the knowledge domain was transitioned to its current status value.; only relevant for status of CONTENT_NOT_SUPPORTED."},"team_ids":{"type":"array","items":{"type":"string"},"description":"DEPRECATED; teams are specified at the collection level."},"created_by":{"type":"string","description":"User responsible for creating the knowledge domain; autogenerated and not editable."},"collection_id":{"type":"string","description":"Unique identifier of the parent collection; autogenerated and cannot be updated."},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"Advanced key/value pair configuration; see a Pryon representative before using."}},"description":"The top-level message sent by the client for the CreateDomain method."},"ListActiveDomainsResponse":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/CollectionMetadata"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ListDomainItem"}},"next_page_token":{"type":"string","description":"Returned for multiple pages; must be specified in each request for two pages per sheet using the page token parameter."},"total_size":{"type":"integer","description":"Total number of items in the collection across all pages.","format":"int32"},"page_size":{"type":"integer","description":"Same as page size in request.","format":"int32"}}},"ListCollectionItem":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/ResourceMetadata"},"data":{"$ref":"#/components/schemas/KnowledgeCollection"}}},"ListCollectionsResponse":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/CollectionMetadata"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ListCollectionItem"}},"next_page_token":{"type":"string","description":"Returned for multiple pages; must be specified in each request for two pages per sheet using the page token parameter."},"total_size":{"type":"integer","description":"Total number of items in the collection across all pages.","format":"int32"},"page_size":{"type":"integer","description":"Same as page size in request.","format":"int32"}}},"ListDomainItem":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KnowledgeDomainEntity"},"metadata":{"$ref":"#/components/schemas/ResourceMetadata"}}},"ResourceMetadata":{"type":"object","properties":{"uuid":{"type":"string","description":"Unique identifier for the interaction returned in the resource response; the response ID."},"create_time":{"type":"string","description":"Time of the initial request.","format":"date-time"},"update_time":{"type":"string","description":"Time of the last update; 0 indicates updates have never been made.","format":"date-time"},"response_time_millis":{"type":"integer","description":"Response time (in milliseconds).","format":"uint32"}}},"RestoreActiveDomainRequest":{"type":"object","properties":{"collection_id":{"type":"string","description":"Unique identifier of the knowledge collection."}}},"Status":{"type":"object","properties":{"code":{"type":"integer","description":"The status code; enum value of google.rpc.Code.","format":"int32"},"message":{"type":"string","description":"Developer-facing error message."},"details":{"type":"array","items":{"$ref":"#/components/schemas/GoogleProtobufAny"},"description":"List of messages that carry the error details."}},"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)."},"UpdateActiveDomainRequest":{"type":"object","properties":{"collection_id":{"type":"string","description":"Unique identifier of the knowledge collection."},"knowledge_domain_id":{"type":"string","description":"Unique ID of the active knowledge domain."}}},"UpdateCollectionRequest":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/KnowledgeCollection"}],"description":"Contains the updated collection properties."},"update_mask":{"type":"string","description":"Required. The data path corresponding to the fields being updated in this request.\n The following fields are updatable:\n  data.team_ids\n  data.solution_id\n Example mask declaration in JSON format:\n   updateMask: \"data.teamIds\"\n see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","format":"field-mask"}}}}},"tags":[{"name":"KnowledgeCollectionService"}]}