{"openapi":"3.0.1","info":{"title":"pryon/api/ext/analytics/v1/analytics.proto","version":"1.0","contact":{"name":"Pryon Product Support","url":"https://pryon.zendesk.com","email":"support@pryoninc.com"},"description":"# Introduction\nThe Pryon API blah blah blah.\n\n# Authentication\nWhen you sign up for an account, you are given your set of API credentials.\n\n\nPryon supports authentication in the form of JSON Web Tokens.\n- JWT: authenticates each request by the http header: Authorization\n\nFor all API requests, you will have to include the Authorization header in the following form:\n\n```javascript\nAuthorization: Bearer {encoded token}\n```\n","license":{"name":"Pryon","url":"https://pryon.com/license"},"termsOfService":"https://pryon.com/terms","x-logo":{"url":"data:image/png;base64,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aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmZlMTQ1MGY1LTNlZDEtNDIyZi05NWM4LWM5MGFhYjc2NTQyMSIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphNDY0NjZiNi1jMWQ1LTRmOWQtODQ0ZC0xNGFjZDE4YmE2NTEiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNTY4NGRiYS03ODg4LTQxZDItYjg3MC03ZTlmZWU0YjEzOTUiCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09Ik1hYyBPUyIKICAgR0lNUDpUaW1lU3RhbXA9IjE3MTQ4ODUyNzI3MjI4NTQiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zNiIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI0ODYiCiAgIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI1NjAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0OjA1OjA0VDIyOjAxOjEwLTA3OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyNDowNTowNFQyMjowMToxMC0wNzowMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjU2NzFkZjUwLTY1OGYtNGNmNC04NTg2LTEyYzUxMTM4ZjhlMCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChNYWMgT1MpIgogICAgICBzdEV2dDp3aGVuPSIyMDI0LTA1LTA0VDIyOjAxOjEyLTA3OjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICAgPGV4aWY6VXNlckNvbW1lbnQ+CiAgICA8cmRmOkFsdD4KICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPlNjcmVlbnNob3Q8L3JkZjpsaT4KICAgIDwvcmRmOkFsdD4KICAgPC9leGlmOlVzZXJDb21tZW50PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+jRSL1AAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAAd0SU1FB+gFBQUBDN+b84wAAAASdEVYdENvbW1lbnQAU2NyZWVuc2hvdPsRqwoAACAASURBVHja7d17lFX1Yejx354HM8NzhuGNCsMbVB6CD5KmARJvgzbXe21Sk6qNIY3GrETXXcm6yf2nXcn9oyY3KwnXRGMbMfERY6/VJK1iSwpaNUAQkJfyngEc3swDGGaGeez7hx07pSjnHGaYfc75fP7JWnG2nvM7++zv2fu3HyEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkExNzW2x9wFcrAJDABfv8LHT8bd/+FpY+buarI7a8lV74v+99PVQ39giztBHoiS8iF3VdVm1EZhcNTTKltd64NDJuKWlPWvGdsyoQWFAWXGUTevD2bMd8Xd+sjYcPd4UQghhzpUjwh23XhX6FRdmzftoPdsRP/Z3m8O2ncdDCCFcPmZQ+NoXrwuFhQVZ9Vn01vYmG9fL99Pc0h4fONR43n9WWd4/VFaUJf59Hjh0Mm5uafvAv5lSVZm1n1ciXvhX/3JFVv46H1peGmZOHxEmja8I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 ","altText":"Pryon APIs"}},"servers":[{"url":"https://api.pryon.net","description":"Pryon Cloud"}],"paths":{"/api/analytics/v1/conversation-counts":{"get":{"operationId":"Analytics_ListConversationCounts","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate conversation counts in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter conversation counts by collection_id. REST query parameter is \"collection_id\". The conversation counts must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter conversation counts by solution_id. REST query parameter is \"solution_id\". The conversation counts must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListConversationCountsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListConversationCounts","tags":["Analytics"],"description":"ListConversationCounts retrieves a time-series of the unique conversation counts."}},"/api/analytics/v1/conversation-size-categories":{"get":{"operationId":"Analytics_ListConversationSizeCategories","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate conversation size categories in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter conversation size categories by collection_id. REST query parameter is \"collection_id\". The conversation size categories must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter conversation size categories by solution_id. REST query parameter is \"solution_id\". The conversation size categories must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListConversationSizeCategoriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListConversationSizeCategories","tags":["Analytics"],"description":"ListConversationSizeCategories retrieves a time-series of the conversation size counts. The size of a conversation is the number of exchanges that occurred."}},"/api/analytics/v1/exchange-confidence-categories":{"get":{"operationId":"Analytics_ListExchangeConfidenceCategories","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate exchange confidence categories in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter exchange confidence categories by collection_id. REST query parameter is \"collection_id\". The exchange confidence categories must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter exchange confidence categories by solution_id. REST query parameter is \"solution_id\". The exchange confidence categories must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListExchangeConfidenceCategoriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListExchangeConfidenceCategories","tags":["Analytics"],"description":"List the exchange confidence counts in well defined categories in time interval buckets by collection."}},"/api/analytics/v1/exchange-confidence-scores":{"get":{"operationId":"Analytics_ListExchangeConfidenceScores","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate exchange confidence scores in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter exchange confidence scores by collection_id. REST query parameter is \"collection_id\". The exchange confidence scores must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter exchange confidence scores by solution_id. REST query parameter is \"solution_id\". The exchange confidence scores must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListExchangeConfidenceScoresResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListExchangeConfidenceScores","tags":["Analytics"],"description":"List the exchange confidence average as a numeric score in time interval buckets by collection."}},"/api/analytics/v1/exchange-counts":{"get":{"operationId":"Analytics_ListExchangeCounts","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate exchange counts in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter exchange counts by collection_id. REST query parameter is \"collection_id\". The exchange counts must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter exchange counts by solution_id. REST query parameter is \"solution_id\". The exchange counts must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListExchangeCountsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListExchangeCounts","tags":["Analytics"],"description":"List the exchange count in time interval buckets by collection."}},"/api/analytics/v1/exchange-rating-categories":{"get":{"operationId":"Analytics_ListExchangeRatingCategories","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate exchange rating categories in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter exchange rating categories by collection_id. REST query parameter is \"collection_id\". The exchange rating categories must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter exchange rating categories by solution_id. REST query parameter is \"solution_id\". The exchange rating categories must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListExchangeRatingCategoriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListExchangeRatingCategories","tags":["Analytics"],"description":"List the exchange rating counts in time interval buckets by collection."}},"/api/analytics/v1/ingest-counts":{"get":{"operationId":"Analytics_ListIngestCounts","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate ingest counts in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter ingest counts by collection_id. REST query parameter is \"collection_id\". The ingest counts must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter ingest counts by solution_id. REST query parameter is \"solution_id\". The ingest counts must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListIngestCountsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListIngestCounts","tags":["Analytics"],"description":"List the total ingestion count by collection."}},"/api/analytics/v1/sync-counts":{"get":{"operationId":"Analytics_ListSyncCounts","parameters":[{"description":"Required. Start time of the listing. REST query parameter is \"start_time\". Its value will be truncated down to nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"start_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. End of the listing up to this time, not inclusive. REST query parameter is \"end_time\". Its value will be rounded up to the nearest midnight in given time zone and internally converted to UTC after.","in":"query","name":"end_time","schema":{"format":"date-time","type":"string"}},{"description":"Required. Aggregate sync counts in interval buckets over the requested time period. REST query parameter is \"agg_interval\" with valid values: DAY or WEEK.\n\n - DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","in":"query","name":"agg_interval","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","DAY","WEEK"],"type":"string"}},{"description":"Filter sync counts by collection_id. REST query parameter is \"collection_id\". The sync counts must be filtered by either collection or solution.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter sync counts by solution_id. REST query parameter is \"solution_id\". The sync counts must be filtered by either collection or solution. This filter takes precedence over collection_id which it disables.","in":"query","name":"solution_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/v1ListSyncCountsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSyncCounts","tags":["Analytics"],"description":"List the total collection sync count by collection. Includes the initial collection creation and subsequent collection updates (versioning) events. A collection is versioned by promoting a new knowledge domain to serve as its active domain."}},"/api/knowledge/v1/active-domains":{"get":{"operationId":"KnowledgeCollectionService_ListActiveDomains","parameters":[{"description":"Optionally, filter Active Domains where the calling user has one of these team roles, otherwise return the full set.","explode":true,"in":"query","name":"roles","schema":{"items":{"enum":["MEMBER","EXPERT","AUTHORITY"],"type":"string"},"type":"array"},"style":"form"},{"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 set to the default, this param can be omitted; otherwise, it must be specified on every page request.\nsee 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\".\nsee 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/collectionListActiveDomainsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListActiveDomains","tags":["KnowledgeCollectionService"],"description":"An ORG_ADMIN can list all active domains corresponding to the collections in their Org.\nAn ORG_WORKER can list the active domains their team memberships allow."}},"/api/knowledge/v1/collections":{"get":{"operationId":"KnowledgeCollectionService_ListCollections","parameters":[{"description":"Filters output to only include the collections authorized to the given team_id. The REST query parameter is 'team_id'.","in":"query","name":"team_id","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 set to the default, this param can be omitted; otherwise, it must be specified on every page request.\nsee 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\".\nsee https://cloud.google.com/apis/design/design_patterns#list_pagination.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Filters output to only include the collections assigned to the given solution_id. The REST query parameter is 'solution_id'. Cannot be combined with the 'team_id' filter which it disables when both specified.","in":"query","name":"solution_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/collectionListCollectionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListCollections","tags":["KnowledgeCollectionService"],"description":"List all Knowledge Collections configured for an Org"}},"/api/knowledge/v1/collections/{collection_id}":{"delete":{"operationId":"KnowledgeCollectionService_DeleteCollection","parameters":[{"description":"Required. Id of a valid Knowledge Collection.","in":"path","name":"collection_id","required":true,"schema":{"type":"string"}},{"description":"Use this flag to force delete the collection when it is set as an Org or User Default. The default value is false.\nIn REST it is expressed as a query parameter \"force=true\".","in":"query","name":"force","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":"DeleteCollection","tags":["KnowledgeCollectionService"],"description":"Deleting a Collection removes the item from the system. It will also locate and decommission all Knowledge Domain versions still associated with this record.\nIf a collection is already set as an Org or User default the delete operation will fail. ORG_ADMIN may use the force flag to delete anyway."},"get":{"operationId":"KnowledgeCollectionService_GetCollection","parameters":[{"description":"Required. Id of a valid Knowledge Collection.","in":"path","name":"collection_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/collectionGetCollectionResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetCollection","tags":["KnowledgeCollectionService"],"description":"Retrieve an existing Knowledge Collection.\nCollections cannot be user created but are automatically generated with Knowledge Domains."}},"/api/knowledge/v1/collections/{collection_id}/domain":{"get":{"operationId":"KnowledgeCollectionService_GetCollectionActiveDomain","parameters":[{"description":"Required. Id of a valid Knowledge Collection.","in":"path","name":"collection_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/domainGetDomainResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetCollectionActiveDomain","tags":["KnowledgeCollectionService"],"description":"Retrieve a Knowledge Collection's active domain. A Collection always has an active domain.\nAn ORG_ADMIN can always get an active domain.\nAn ORG_WORKER can only get an active domain if their team memberships allow it."}},"/api/knowledge/v1/collections/{collection_id}/domain:restoreActive":{"patch":{"operationId":"KnowledgeCollectionService_RestoreCollectionActiveDomain","parameters":[{"description":"Required. Id of a valid Knowledge Collection.","in":"path","name":"collection_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/collectionRestoreActiveDomainRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainGetDomainResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"RestoreCollectionActiveDomain","tags":["KnowledgeCollectionService"],"x-codegen-request-body-name":"body","description":"Revert the collection to its previous version. Reverting is immediate. The active version will not be automatically removed from the system. The ORG_ADMIN may decommission it via the Knowledge Domain API."}},"/api/knowledge/v1/collections/{collection_id}/domain:setActive":{"patch":{"operationId":"KnowledgeCollectionService_UpdateCollectionActiveDomain","parameters":[{"description":"Required. Id of a valid Knowledge Collection.","in":"path","name":"collection_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/collectionUpdateActiveDomainRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainGetDomainResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateCollectionActiveDomain","tags":["KnowledgeCollectionService"],"x-codegen-request-body-name":"body","description":"Updating a collection's active domain triggers the collection versioning process. The collection will remember its former version id and can return to its previous version on demand. Before promoting a Knowledge Domain to the active version, the ORG_ADMIN should ensure that the Knowledge Domain functions to their expectations. Once set, the active version becomes immediately available to Org users for exchange and feedback operations."}},"/api/knowledge/v1/collections/{data.collection_id}":{"patch":{"operationId":"KnowledgeCollectionService_UpdateCollection","parameters":[{"description":"Required. The Knowledge Collection unique identifier. Immutable after create.","in":"path","name":"data.collection_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/collectionUpdateCollectionRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/collectionGetCollectionResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateCollection","tags":["KnowledgeCollectionService"],"x-codegen-request-body-name":"body","description":"Updating a collection allows for changing of team assignments."}},"/api/knowledge/v1/default-domains":{"get":{"operationId":"KnowledgeCollectionService_ListDefaultActiveDomains","parameters":[{"description":"Optionally, filter Active Domains where the calling user has one of these team roles, otherwise return the full set.","explode":true,"in":"query","name":"roles","schema":{"items":{"enum":["MEMBER","EXPERT","AUTHORITY"],"type":"string"},"type":"array"},"style":"form"},{"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 set to the default, this param can be omitted; otherwise, it must be specified on every page request.\nsee 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\".\nsee 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/collectionListActiveDomainsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDefaultActiveDomains","tags":["KnowledgeCollectionService"],"description":"List the Active Domains an authorized user can implicitly access in absence of any team assignments(defaults)."}},"/api/connector/v1/connectors/{connector_id}/content-data:download":{"get":{"description":"Custom methods to get ContentData\nDownload Content Data in multiple parts\nHTTP Request:\nGET https://{host}/api/connector/v1/connectors/{connector_id}/content-data:download?source_location=&opaque_data= HTTP/1.1\nHOST: {host}\nRange: bytes=-\n\nHTTP Response:\nHTTP/1.1 206 Partial Content\nContent-Range: bytes -/\nContent-Length: \nContent-Type: application/octet-stream\n\n\n\nThis is a proxy through the content source.\nTo be implemented by the the universal connector and invoked by Pryon Ingestion Platform to pull content data from the connector.\nThis is called by each individual file content workflow (in Pryon's Ingestion logic) when we have identified the content\nand need to fetch the data we want to index for searching/Retrieval Views.","operationId":"ConnectorServiceExternal_DownloadContentData","parameters":[{"description":"Required. The identifier of the associated connector for the content download request.","in":"path","name":"connector_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"range_header.range_start","schema":{"format":"int64","type":"string"}},{"in":"query","name":"range_header.range_end","schema":{"format":"int64","type":"string"}},{"in":"query","name":"range_header.total_size","schema":{"format":"int64","type":"string"}},{"description":"The opaque_data is an opaque string contains additonal information that can be used to by the PULL API to retreive the content data from underlying content source along with the source_location. (e.g. drinve_id + item_id in SharePoint).","in":"query","name":"opaque_data","schema":{"type":"string"}},{"description":"The content source URI.","in":"query","name":"source_location","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/v1ContentDataResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"DownloadContentData","tags":["ConnectorServiceExternal"]}},"/api/connector/v1/connectors/{connector_id}/content/read-permission":{"get":{"operationId":"ConnectorServiceExternal_GetReadPermission","parameters":[{"description":"Required. The identifier for the connector associated with the Read Permission request.","in":"path","name":"connector_id","required":true,"schema":{"type":"string"}},{"description":"The opaque_data is an opaque string contains additonal information that can be used to by the PULL API to retreive the content data from underlying content source along with the source_location. (e.g. drinve_id + item_id in SharePoint).","in":"query","name":"opaque_data","schema":{"type":"string"}},{"description":"The content source URI.","in":"query","name":"source_location","schema":{"type":"string"}},{"description":"Pryon content id for the content to be used for logging purposes.","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/v1GetReadPermissionResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetReadPermission","tags":["ConnectorServiceExternal"],"description":"Get read permission for a content.\nTo be implemented by the universal connector and invoked by Pryon Ingestion and Retrieval Platform to pull most to date read permission for a content.\nThis is called on an interval in the Pryon Ingestion system to update each individual Content item's specific\npermissions in the index."}},"/api/connector/v1/connectors/{connector_id}/contents:pull":{"get":{"operationId":"ConnectorServiceExternal_PullContents","parameters":[{"description":"Required. The identifer of the connector for the current Pull Contents request.","in":"path","name":"connector_id","required":true,"schema":{"type":"string"}},{"description":"Required. The URI to be used for content discovery. The URI's query parameters can contain information about the content to be discovered such as filters, sorting, etc.\nFor Pryon Knowledge Platform, this is the KnowledgeDomain's ContentGroup's source location.","in":"query","name":"seed_source_location","schema":{"type":"string"}},{"description":"The default page size is the maximum page size specified for each Connector.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"An opaque token that the server can interpret to determine the starting point for the next set of results.\nIf not given, the server fetches from the first record.\nIf 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.","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/v1ListContentsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"PullContents","tags":["ConnectorServiceExternal"],"description":"Content source discovery custom method.\nThis is a proxy through the content source.\nTo be implemented by the universal connector and invoked by Pryon Ingestion Platform to list contents from the connector.\nThis is where we list all the content available in the remote API."}},"/api/connector/v1/connectors/{connector_id}/group-permission/members":{"get":{"operationId":"ConnectorServiceExternal_ListGroupPermissionMembers","parameters":[{"description":"Required. The identifier of the connector associated with the group permission member list request.","in":"path","name":"connector_id","required":true,"schema":{"type":"string"}},{"description":"Required. Identifier for the group.","in":"query","name":"group_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/v1ListGroupPermissionMembersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListGroupPermissionMembers","tags":["ConnectorServiceExternal"],"description":"List members of the connector's group permission.\nTo be implemented by the universal connector and invoked by Pryon Ingestion Platform to pull most to date members of the connector's group permission.\nThe individual memberships related to each Group identified from ListGroupPermissions. This allows specific userIds (or emails) to belong\nto particular groups in Pryon given the remote account's setup."}},"/api/connector/v1/connectors/{connector_id}/group-permissions":{"get":{"operationId":"ConnectorServiceExternal_ListGroupPermissions","parameters":[{"description":"Required. The identifier of the connector associated with the request.","in":"path","name":"connector_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/v1ListGroupPermissionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListGroupPermissions","tags":["ConnectorServiceExternal"],"description":"List group permissions of the connector.\nTo be implemented by the universal connector and invoked by Pryon Ingestion Platform to pull most to date group permissions of the connector.\nThis should fetch all the groups in the remote API that any user can belong to. It's important that these groups\nare accessible properties in either our Pryon User records, or in the JWT claims for a particular login."}},"/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}"}]}},"/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"}},"/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.\nsee 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\".\nsee 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}":{"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":{"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}":{"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}":{"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":{"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.\nsee 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\".\nsee 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}":{"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":{"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\nThe HTTP GET returns bytes data of image/jpeg Content-Type.\nQuery parameters:\npage - Required. A page number within the content_id (e.g. application/vnd.pryon.start_page attachment from Exchange API)\nuncompressed - 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":{"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.\nsee 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\".\nsee 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\".\nsee 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":{"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":{"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."}},"/api/knowledge/v1/content-groups/{content_group_id}/subjects":{"get":{"operationId":"KnowledgeDomain_ListContentGroupSubjects","parameters":[{"description":"Content Group that subjects must be found in","in":"path","name":"content_group_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.\nsee 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\".\nsee 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\".\nsee 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":"ListContentGroupSubjects","tags":["KnowledgeDomain"],"description":"List subjects associated with a Content Group."}},"/api/knowledge/v1/domains":{"get":{"operationId":"KnowledgeDomain_ListDomains","parameters":[{"description":"Filter returned knowledge domains to those that match this Display Name. The REST query parameter is \"display_name\".","in":"query","name":"display_name","schema":{"type":"string"}},{"description":"Filter returned knowledge domains to those that match this Status. The REST query parameter is \"status\" and the value can be a string or integer representation. The only way to see DECOMMISSIONED KD's is to specify that status value here - please be aware that those KD's can and will disappear so do not expect them to be there on subsequent requests.\n\n - CONTENT_AWAIT: CONTENT_AWAIT: Initial value for a newly created KD. If KD was created with data.uri or data.contents then asynchronous status transition will occur to CONTENT_IDENTIFIED after constituent Content Group and Contents are created. If KD was created without either of these then it will remain in this status until an explicit PATCH with CONTENT_IDENTIFIED status is received.\n - CONTENT_IDENTIFIED: CONTENT_IDENTIFIED: When a KD enters this state, our automation will begin the process of readying the content for Conversation Exchanges by ingesting each constituent Content.\n - CONTENT_READY: CONTENT_READY: The KD's content is ready and able to support conversation exchanges. Each Content in the KD's Content Groups has been successfully ingested.\n - CONTENT_NOT_SUPPORTED: CONTENT_NOT_SUPPORTED: Unable to support conversation exchanges on this KD's content due to some problem readying its Contents. You can look for constituent Contents that have INGESTION_FAILED status to find out more details. To retry, update KD status to CONTENT_IDENTIFIED using PATCH. If the problem persists then remove the INGESTION_FAILED contents from the KD's Content Group(s) and try again.\n - DECOMMISSIONED: DECOMMISSIONED: KD is no longer needed, is not going to be used for conversation exchanges, and should be removed from the system. The KD is going to be removed from the system ASAP by ongoing housekeeping operations. Any KD can transition to DECOMMISSIONED status.","in":"query","name":"status","schema":{"default":"UNKNOWN","enum":["UNKNOWN","CONTENT_AWAIT","CONTENT_IDENTIFIED","CONTENT_READY","CONTENT_NOT_SUPPORTED","DECOMMISSIONED"],"type":"string"}},{"description":"Filter list to all KD's that are in a line of succession. A versioned Collection represents such a KD succession where some of the KDs may have served as the active version. If this list is sorted by metadata.create_time then it shows the succession history.","in":"query","name":"kd_succession_id","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 set to the default, this param can be omitted; otherwise, it must be specified on every page request.\nsee 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\".\nsee 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: \"status asc, update_time desc\" (default), \"status asc, update_time asc\" and \"status asc, create_time desc\".\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","schema":{"type":"string"}},{"description":"Filter list to all KD's that are associated with a team. The REST query parameter is \"team\" and the value is the unique id of a team to filter on. Filtering is subject to internal authorization rules.","in":"query","name":"team_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/domainListDomainsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDomains","tags":["KnowledgeDomain"],"description":"List all Knowledge Domains that the user has access to and which do not have a status of DECOMMISSIONED. To see KD's that are DECOMMISSIONED, use a status filter.\nORG_WORKER users can list the domains that their team assignments allow."}},"/api/knowledge/v1/domains/{data.knowledge_domain_id}":{"patch":{"operationId":"KnowledgeDomain_UpdateDomain","parameters":[{"description":"Optional. When specified, it must be a UUID that is unique in the system. When not specified, a UUID will be generated.","in":"path","name":"data.knowledge_domain_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/domainUpdateDomainRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainGetDomainResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateDomain","tags":["KnowledgeDomain"],"x-codegen-request-body-name":"body","description":"Update a single Knowledge Domain (KD) that the user has access to. This is primarily used to mark a KD for decommissioning when it is no longer needed. Decommissioning a KD that serves as the Active Domain of a Knowledge Collection isn't allowed. Please use the collection API to either promote/demote an active domain or delete the parent collection first."}},"/api/knowledge/v1/domains/{data.knowledge_domain_id}/content-groups":{"post":{"operationId":"KnowledgeDomain_CreateDomainContentGroup","parameters":[{"description":"id of a valid Knowledge Domain from /api/knowledge/v1/domains","in":"path","name":"data.knowledge_domain_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/domainDomainContentGroupRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainGetDomainContentGroupResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDomainContentGroup","tags":["KnowledgeDomain"],"x-codegen-request-body-name":"body","description":"Create a Knowledge Domain (KD) to Content Group (CG) relationship."}},"/api/knowledge/v1/domains/{data.knowledge_domain_id}/content-groups/{data.content_group_id}":{"get":{"operationId":"KnowledgeDomain_GetDomainContentGroup","parameters":[{"description":"id of a valid Knowledge Domain from /api/knowledge/v1/domains","in":"path","name":"data.knowledge_domain_id","required":true,"schema":{"type":"string"}},{"description":"id of a valid Content Group from /api/knowledge/v1/content-groups","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}"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainGetDomainContentGroupResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDomainContentGroup","tags":["KnowledgeDomain"],"description":"Get a single Content Group associated with a Knowledge Domain that the user has access to."}},"/api/knowledge/v1/domains/{knowledge_domain_id}":{"get":{"operationId":"KnowledgeDomain_GetDomain","parameters":[{"description":"id of a valid Knowledge Domain from /api/knowledge/v1/domains","in":"path","name":"knowledge_domain_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/domainGetDomainResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDomain","tags":["KnowledgeDomain"],"description":"Get a single Knowledge Domain (KD) that the user has access to. This API can be used to monitor the status transitions of a KD being prepared for Q&A exchanges."}},"/api/knowledge/v1/domains/{knowledge_domain_id}/content-group":{"get":{"operationId":"KnowledgeDomain_GetDomainContentGroupByContent","parameters":[{"description":"Required. Knowledge Domain associated with the Content Group version.","in":"path","name":"knowledge_domain_id","required":true,"schema":{"type":"string"}},{"description":"Required. Content ID to retrieve Content Group for.","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/domainGetDomainContentGroupByContentResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetDomainContentGroupByContent","tags":["KnowledgeDomain"],"description":"Get a single Content Group associated with a Knowledge Domain and a for a specific Content Item."}},"/api/knowledge/v1/domains/{knowledge_domain_id}/content-groups":{"delete":{"operationId":"KnowledgeDomain_DeleteDomainContentGroups","parameters":[{"description":"id of a valid Knowledge Domain from /api/knowledge/v1/domains","in":"path","name":"knowledge_domain_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":"DeleteDomainContentGroups","tags":["KnowledgeDomain"],"description":"Delete all child Content Group associations with the parent Knowledge Domain. This does not alter the Content Groups resources."},"get":{"operationId":"KnowledgeDomain_ListDomainContentGroups","parameters":[{"description":"Required: the identifier of a valid Knowledge Domain to retrieve the domain content groups from.","in":"path","name":"knowledge_domain_id","required":true,"schema":{"type":"string"}},{"description":"Optional: if caller only needs the item ID's, 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/domainListDomainContentGroupsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDomainContentGroups","tags":["KnowledgeDomain"],"description":"List all Content Groups associated with a Knowledge Domain that the user has access to."}},"/api/knowledge/v1/domains/{knowledge_domain_id}/content-groups/{content_group_id}":{"delete":{"operationId":"KnowledgeDomain_DeleteDomainContentGroup","parameters":[{"description":"id of a valid Knowledge Domain from /api/knowledge/v1/domains","in":"path","name":"knowledge_domain_id","required":true,"schema":{"type":"string"}},{"description":"id of a valid Content Group from /api/knowledge/v1/content-groups","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":"DeleteDomainContentGroup","tags":["KnowledgeDomain"],"description":"Delete a Knowledge Domain to Content Group relationship that the user has access to remove. This does not alter the Content Group resource."}},"/api/knowledge/v1/domains/{knowledge_domain_id}/content-groups:updateContentPermission":{"post":{"operationId":"KnowledgeDomain_UpdateDomainContentGroupsContentPermission","parameters":[{"description":"Required. The identifier of the knowledge domain asscociated with this update method.","in":"path","name":"knowledge_domain_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/domainUpdateDomainContentGroupsContentPermissionRequest"}}},"required":true},"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":"UpdateDomainContentGroupsContentPermission","tags":["KnowledgeDomain"],"x-codegen-request-body-name":"body","description":"This utility POST method is used to update the content permission of content groups in the knowledge domain."}},"/api/knowledge/v1/domains/{knowledge_domain_id}/content-groups:updateGroupPermission":{"post":{"operationId":"KnowledgeDomain_UpdateDomainContentGroupsGroupPermission","parameters":[{"description":"Required. The identifier of the knowledge domain asscociated with this update method.","in":"path","name":"knowledge_domain_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/domainUpdateDomainContentGroupsGroupPermissionRequest"}}},"required":true},"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":"UpdateDomainContentGroupsGroupPermission","tags":["KnowledgeDomain"],"x-codegen-request-body-name":"body","description":"This utility POST method is used to update the group permission of content groups in the knowledge domain."}},"/api/knowledge/v1/domains/{knowledge_domain_id}/subjects":{"get":{"operationId":"KnowledgeDomain_ListDomainSubjects","parameters":[{"description":"Knowledge Domain that subjects must be found in","in":"path","name":"knowledge_domain_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.\nsee 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\".\nsee 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\".\nsee 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":"ListDomainSubjects","tags":["KnowledgeDomain"],"description":"List subjects associated with a Knowledge Domain."}},"/api/knowledge/v1/domains/{knowledge_domain_id}/tags":{"get":{"operationId":"KnowledgeDomain_ListDomainTags","parameters":[{"description":"Required. Knowledge Domain to list tags for.","in":"path","name":"knowledge_domain_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.\nsee 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\".\nsee 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\".\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","schema":{"type":"string"}},{"description":"Required. Filter on tag source.\nIf TAG_SOURCE_TYPE_UNSPECIFIED, an error response will be returned.\n\n - TAG_SOURCE_TYPE_UNSPECIFIED: Default. No tags can be created with this source.\n - SYSTEM_DEFINED: Tags created by the Pryon Cloud Services system.\n - USER_DEFINED: Tags defined by users if the system and created via user input.\n - QUERY_ATTRIBUTE: Tags associated to a content which can be used to improve Exchange response ranking quality based on the context specified in ExchangeInputOption.\nSee \"documentation about improving ranking quality\" link for more details.","in":"query","name":"tag_source_type","schema":{"default":"TAG_SOURCE_TYPE_UNSPECIFIED","enum":["TAG_SOURCE_TYPE_UNSPECIFIED","SYSTEM_DEFINED","USER_DEFINED","QUERY_ATTRIBUTE"],"type":"string"}},{"description":"Include counts for every tag of a given type.\nCounts are calculated over contents belonging to the KD.","in":"query","name":"include_counts","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/domainListTagsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDomainTags","tags":["KnowledgeDomain"],"description":"List tags for the Knowledge Domain."}},"/api/knowledge/v1/domains:createNextVersionWithSources":{"post":{"operationId":"KnowledgeDomain_CreateDomainNextVersionWithSources","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainCreateDomainNextVersionWithSourcesRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainGetDomainResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDomainNextVersionWithSources","tags":["KnowledgeDomain"],"x-codegen-request-body-name":"body","description":"Create a new version of a Knowledge Domain (KD) with Sources\nIf TeamIds are not specified with the request, the team assignments will carry forward from the previous domain version.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/knowledge/v1/domains:createWithSources":{"post":{"operationId":"KnowledgeDomain_CreateDomainWithSources","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainCreateDomainWithSourcesRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainGetDomainResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateDomainWithSources","tags":["KnowledgeDomain"],"x-codegen-request-body-name":"body","description":"Create a Knowledge Domain (KD)\nWhen data.sources are specified KD create will inspect them and determine if they are supported. If any of the sources are invalid, an error response will be returned with a 400\nHTTP status code. If there are supported Contents, a KD will be created with status a of CONTENT_AWAIT and a success response will be returned with a 200 http status code.\nAsynchronously, a single Content Group with the appropriate number of Contents will be created with each Content status being CONFIGURED. When that is complete, the KD will be\ntransitioned to CONTENT_IDENTIFIED status. After that, asynchronous ingestion of the Contents will be run transitioning each to INGESTING status and eventually to INGESTED.\nWhen content ingestion is completed successfully, the KD status will be transitioned to CONTENT_READY. If the KD is unable to be ingested successfully, its status will be set to\nCONTENT_NOT_SUPPORTED.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/knowledge/v1/domains:default":{"get":{"operationId":"KnowledgeDomain_ListDefaultDomains","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/domainListDomainsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListDefaultDomains","tags":["KnowledgeDomain"],"description":"List the Knowledge Domains the authorized user can implicitly access in the absence of any team assignments (defaults).","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/exchange":{"post":{"operationId":"Exchange_CreateExchange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateExchangeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateExchangeResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateExchange","tags":["Exchange"],"x-codegen-request-body-name":"body","description":"Initiates or continues a conversation with the conversation exchange service.\nEach call performs one synchronous round-trip by sending a text or audio request to the service and receiving the text and optional audio response.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/exchange/wss":{"post":{"description":"Initiates or continues a conversation with the conversation exchange service.\nThe conversation exchange request and response cycle has the following steps.\n\n1. Open a connection.\n\nThe conversation exchange service uses the secure WebSocket protocol (wss) at the following endpoint:\nwss://{hostname}/api/conversation/v1/exchange/wss\n\nAfter the connection is established, the client defines the event listeners (onOpen, onMessage, onClose, etc) to respond to events from the server.\n\n2. Initiate an exchange request.\n\nTo initiate an exchange request, the client sends a JSON text message to the service over the established connection.\nThe client must send this message before it sends any audio.\nThe JSON text message must include an \"action\" parameter.\n\nFor example,\n{\n \"action\": \"START\",\n \"exchange_request\": {\n \"conversation_id\": \"conversation-59410397-aaa9-42f0-91ef-1e39f710edec\",\n \"input\": {\n \"option\": {\n \"audio_output_disabled\": true,\n },\n \"raw_audio\": {\n \"audio_encoding\": \"LINEAR16\",\n \"sample_rate_hertz\": 16000,\n }\n }\n }\n}\n\nIf the service receives the request successfully, the service returns the following JSON text message to indicate that it is \"PROCESSING\".\n\n{\n \"data\": {\n \"state\": \"PROCESSING\"\n }\n}\n\n3. Send audio.\n\nAfter the client sends the initial \"START\" message, it can start sending audio data to the service.\nThe client does not need to wait for the service to respond to the \"START\" message with the \"PROCESSING\" message.\n\n4. End a request.\n\nWhen the client is done sending the audio data, it must signal the service by sending a JSON text message with the action parameter set to the value of \"STOP\".\n\n{\n \"action\": \"STOP\"\n}\n\n5. Receive exchange result\n\nOnce the service receives the \"STOP\" action from the client and finishes processing the request,\nit will send a response JSON text message (CreateWsExchangeResponse message type) asynchronously,\nfollowed by { \"data\": { \"state\" : \"PROCESSING_COMPLETED\" } } indicating that it's done sending the response.","operationId":"Exchange_CreateWsExchange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateWsExchangeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateWsExchangeResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateWsExchange","tags":["Exchange"],"x-codegen-request-body-name":"body","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/exchanges/{exchange_id}":{"get":{"operationId":"Exchange_GetExchange","parameters":[{"description":"Required. Valid Unique ID of the exchange item from /api/knowledge/v1/exchanges","in":"path","name":"exchange_id","required":true,"schema":{"type":"string"}},{"description":"Optional. The ranking of the answer and answer_in_context chunk, represented as best_1, best_2, etc.","in":"query","name":"output_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/v1GetExchangeResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetExchange","tags":["Exchange"],"description":"Retrieves the query and output data for an existing exchange data when supplied with an exchange_id and optional output_id."}},"/api/conversation/v1/exchange-events/sse":{"post":{"description":"CreateExchangeEventSSE Service:\nThis service sends ExchangeEventSSEData messages as \"Data-Only\" Server-Sent Events (SSE). The stream terminates with a ExchangeEventSSEData message containing the GENERATIVE_EXCHANGE_RESPONSE_COMPLETE state.\nEach message is sent approximately within a second or less of each other. If clients do not receive a message within their specified timeout, they should assume the connection is lost and attempt to reconnect.\nReference:\nhttps://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events\nhttps://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format\nThe following sequence of messages is sent for a single exchange request:\n- Clients establish a connection to the service by issuing a POST request to the /api/conversation/v1/exchange-events/sse endpoint.\n- The server processes the request and sends a response with a 200 OK status code, Content-Type header set to text/event-stream.\n\nUsecase 1: Casual conversation from a input query of \"Hello.\"\n- The first \"Data-Only\" message with a state of \"GENERATIVE_EXCHANGE_RESPONSE_DELTA\". Note that there is no Metadata or Reference in \"DELTA\" messages.\n- The final message is sent when the service has completely processed the generative exchange request of casual query, and the server terminates the stream.\n\nExample Messages:\nMessage 1: data: {\"state\": 40,\"data\": {\"text\": \"How\"}}\nMessage 2: data: {\"state\": 40,\"data\": {\"text\": \" \"}}\nMessage 3: data: {\"state\": 40,\"data\": {\"text\": \"can\"}}\nMessage 4: data: {\"state\": 40,\"data\": {\"text\": \" \"}}\nMessage 5: data: {\"state\": 40,\"data\": {\"text\": \"I\"}}\nMessage 6: data: {\"state\": 40,\"data\": {\"text\": \" \"}}\nMessage 7: data: {\"state\": 40,\"data\": {\"text\": \"help\"}}\nMessage 8: data: {\"state\": 40,\"data\": {\"text\": \" \"}}\nMessage 9: data: {\"state\": 2,\"data\": {\"text\": \"you\"}}\nMessage 10: data: {\"state\": 2,\"data\": {\"text\": \"?\"}}\n\nUsecase 2: Question/Answering from a input query of \"How old is Yoda?\"\nMessages are sent in the following sequences:\n- N numbers of GENERATIVE_EXCHANGE_INPUT_DELTA messages\n- GENERATIVE_EXCHANGE_INPUT_COMPLETE\n- EXCHANGE_RESPONSE_COMPLETE\n- M numbers of GENERATIVE_EXCHANGE_RESPONSE_DELTA messages\n- GENERATIVE_EXCHANGE_RESPONSE_COMPLETE","operationId":"ExchangeEvent_CreateExchangeEventSSE","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateExchangeEventRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ExchangeEventSSEData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateExchangeEventSSE","tags":["ExchangeEvent"],"x-codegen-request-body-name":"body","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/approvals":{"get":{"operationId":"Feedback_ListApprovals","parameters":[{"description":"Required. Knowledge Domain under which approval items are listed.","in":"query","name":"knowledge_domain_id","schema":{"type":"string"}},{"description":"Optional. Collection ID for KD, if present.\nIf request contains kd_succession_id, filter on it instead of knowledge_domain_id.","in":"query","name":"kd_succession_id","schema":{"type":"string"}},{"description":"Optional. Filter only items with this Approval status.\n\n - PENDING_REVIEW: PENDING_REVIEW: This approval item is pending review\n - REJECTED: REJECTED: This approval item has been rejected\n - APPROVED: APPROVED: This approval item has been approved","in":"query","name":"approval_status","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","PENDING_REVIEW","REJECTED","APPROVED"],"type":"string"}},{"description":"Optional. Return only the item keys when set to True.","in":"query","name":"return_only_item_keys","schema":{"type":"boolean"}},{"description":"Default page size is 100 when omitted. The maximum page size is 100.\nThe REST query parameter is \"page_size\".\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for details.","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\".\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for details.","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.\nIf the sort order parameter is provided with a multi-page request, it must be provided on all subsequent page requests.\nSupported options are: \"update_time desc\" and \"update_time asc\".\nSee https://cloud.google.com/apis/design/design_patterns#sorting_order for details.","in":"query","name":"order_by","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/v1ListApprovalsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListApprovals","tags":["Feedback"],"description":"List Approval entries based on filters.\nFor a REST call filtering, params need to be passed in the request query string\nSupported filters:\nknowledge_domain_id (required)\nkd_succession_id (optional)\napproval_status (optional)"},"post":{"operationId":"Feedback_CreateApproval","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateApprovalRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateApprovalResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateApproval","tags":["Feedback"],"x-codegen-request-body-name":"body","description":"Create an Approval entry.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/approvals/{approval_id}":{"delete":{"operationId":"Feedback_DeleteApproval","parameters":[{"description":"Required. approval_id of item to be deleted.","in":"path","name":"approval_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":"DeleteApproval","tags":["Feedback"],"description":"Delete an Approval entry."},"get":{"operationId":"Feedback_GetApproval","parameters":[{"description":"Required. Must be a valid UUID.","in":"path","name":"approval_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/v1GetApprovalResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetApproval","tags":["Feedback"],"description":"Get information about an Approval entry."}},"/api/conversation/v1/approvals/{data.approval_id}":{"patch":{"operationId":"Feedback_UpdateApproval","parameters":[{"description":"Optional. Random UUID generated on a CreateApproval request.","in":"path","name":"data.approval_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/v1UpdateApprovalRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1UpdateApprovalResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateApproval","tags":["Feedback"],"x-codegen-request-body-name":"body","description":"Modify an existing Approval entry."}},"/api/conversation/v1/rating-reviews":{"get":{"operationId":"Feedback_ListExchangeRatingReviews","parameters":[{"description":"Required. Filter list output to only include ratings for a knowledge collection. In REST form the parameter is expressed as 'collection_id'.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter list output to only include ratings for a particular exchange. Overrides the collection_id filter value if supplied. Defaults to empty which disables this filter. In REST form the parameter is expressed as 'exchange_id'.","in":"query","name":"exchange_id","schema":{"type":"string"}},{"description":"Filter list output to only include ratings that are in requested review status. Defaults to UNSPECIFIED which disables this filter. In REST form the parameter is expressed as 'status' with valid values PENDING and COMPLETE.\n\n - UNSPECIFIED: Not a valid exchange rating value\n - PENDING: This exchange rating is waiting to be inspected for approval or rejection (default).\n - COMPLETE: This exchange rating has been inspected and acted upon. No further action will be taken.","in":"query","name":"status","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","PENDING","COMPLETE"],"type":"string"}},{"description":"Filter list output to only include ratings made by a given user. In REST form the parameter is expressed as 'creator_id'.","in":"query","name":"creator_id","schema":{"type":"string"}},{"description":"Filter list output to only include ratings that match a given rank value. In REST form the parameter is expressed as 'rank' with valid values 1-5.","in":"query","name":"rank","schema":{"format":"int32","type":"integer"}},{"description":"Default page size is 100 when omitted. The maximum page size is 100.\nThe REST query parameter is \"page_size\".\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for details.","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\".\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for details.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"If the sort order parameter is provided with a multi page request, it must be provided on all subsequent page requests.\nFor exchange requests the valid options are: rank, rank desc, create_time, create_time desc.\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","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/v1ListExchangeRatingReviewsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListExchangeRatingReviews","tags":["Feedback"],"description":"List exchange rating reviews.\nAccepted REST filter parameters:\ncollection_id (required)\nexchange_id (optional)\ncreator_id (optional)\nrank (optional)\nstatus (optional)"}},"/api/conversation/v1/ratings":{"post":{"operationId":"Feedback_CreateExchangeRating","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateExchangeRatingRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetExchangeRatingResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateExchangeRating","tags":["Feedback"],"x-codegen-request-body-name":"body","description":"Create an exchange rating.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/ratings/{data.rating.rating_id}/review":{"patch":{"operationId":"Feedback_UpdateExchangeRatingReview","parameters":[{"description":"UUID that uniquely identifies a particular exchange rating. Automatically generated on create.","in":"path","name":"data.rating.rating_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/v1UpdateExchangeRatingReviewRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetExchangeRatingReviewResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateExchangeRatingReview","tags":["Feedback"],"x-codegen-request-body-name":"body","description":"A reviewing authority can update the review perspective of an exchange rating item. This includes review information not available to un-privileged users."}},"/api/conversation/v1/ratings/{data.rating_id}":{"patch":{"operationId":"Feedback_UpdateExchangeRating","parameters":[{"description":"UUID that uniquely identifies a particular exchange rating. Automatically generated on create.","in":"path","name":"data.rating_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/v1UpdateExchangeRatingRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetExchangeRatingResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateExchangeRating","tags":["Feedback"],"x-codegen-request-body-name":"body","description":"Modify an existing exchange rating."}},"/api/conversation/v1/ratings/{rating_id}":{"delete":{"operationId":"Feedback_DeleteExchangeRating","parameters":[{"in":"path","name":"rating_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":"DeleteExchangeRating","tags":["Feedback"],"description":"Delete an exchange rating."},"get":{"operationId":"Feedback_GetExchangeRating","parameters":[{"in":"path","name":"rating_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/v1GetExchangeRatingResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetExchangeRating","tags":["Feedback"],"description":"Retrieve an exchange rating."}},"/api/conversation/v1/ratings/{rating_id}/review":{"get":{"operationId":"Feedback_GetExchangeRatingReview","parameters":[{"in":"path","name":"rating_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/v1GetExchangeRatingReviewResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetExchangeRatingReview","tags":["Feedback"],"description":"A reviewing authority can retrieve the review perspective of an exchange rating item. This includes review information not available to un-privileged users."}},"/api/conversation/v1/generative-exchanges":{"post":{"operationId":"GenerativeExchange_CreateGenerativeExchange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateGenerativeExchangeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetGenerativeExchangeResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"tags":["GenerativeExchange"],"x-codegen-request-body-name":"body","summary":"CreateGenerativeExchange","description":"","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/generative-exchanges/sse":{"post":{"description":"CreateGenerativeExchangeSSE Service:\nThis service sends GenerativeExchangeSSEData messages with DELTA state as \"Data-Only\" Server-Sent Events (SSE) when available. The stream terminates with a GenerativeExchangeSSEData message containing the COMPLETE state.\nEach message is sent approximately within a second or less of each other. If clients do not receive a message within their specified timeout, they should assume the connection is lost and attempt to reconnect.\nReference:\nhttps://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events\nhttps://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format\nThe following sequence of messages is sent for a single exchange request:\n1. Clients establish a connection to the service by issuing a POST request to the /api/conversation/v1/generative-exchanges/sse endpoint.\n2. The server processes the request and sends a response with a 200 OK status code, Content-Type header set to text/event-stream, and the first \"Data-Only\" message with a state of \"DELTA\". Notes that there is no Metadata or Reference in \"DELTA\" messages.\n\nExample Messages:\nMessage 1: data: {\"state\": 2,\"data\": {\"text\": \"hello\"}}\nMessage 2: data: {\"state\": 2,\"data\": {\"text\": \" \"}}\nMessage 3: data: {\"state\": 2,\"data\": {\"text\": \"world\"}}\nMessage 4: data: {\"state\": 2,\"data\": {\"text\": \"!\"}}\n\nThe final message is sent when the service has completely processed the generative exchange request, and the server terminates the stream.\nThe final message contains a state of COMPLETE, and the GenerativeExchangeSSEData includes the entire text output of the exchange request (including Reference if there is any) as if it was created by the REST API (POST /api/conversation/v1/generative-exchanges).\n\nMessage 5 (final message): data: {\"metadata\": {...},\"state\": 3,\"data\": {\"text\": \"hello world!\",\"reference\": [{\"text_index_start\": 0,\"text_index_stop\": 5,\"exchange_output_index\": 0}]}}","operationId":"GenerativeExchange_CreateGenerativeExchangeSSE","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateGenerativeExchangeRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GenerativeExchangeSSEData"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateGenerativeExchangeSSE","tags":["GenerativeExchange"],"x-codegen-request-body-name":"body","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/generative-exchanges/{generative_exchange_id}":{"get":{"operationId":"GenerativeExchange_GetGenerativeExchange","parameters":[{"description":"Required. An ID representing the generative_exchange_id associated with this response object generated by the LLM.","in":"path","name":"generative_exchange_id","required":true,"schema":{"type":"string"}},{"description":"Required. A string representing the ID of the knowledge domain associated with the generative exchange being created.","in":"query","name":"knowledge_domain_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/v1GetGenerativeExchangeResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"tags":["GenerativeExchange"],"summary":"GetGenerativeExchange","description":""}},"/api/conversation/v1/generative-rating-reviews":{"get":{"operationId":"GenerativeFeedback_ListGenerativeExchangeRatingReviews","parameters":[{"description":"Required. Filter list output to only include ratings for a knowledge collection. In REST form the parameter is expressed as 'collection_id'.","in":"query","name":"collection_id","schema":{"type":"string"}},{"description":"Filter list output to only include ratings for a particular exchange. Overrides the collection_id filter value if supplied. Defaults to empty which disables this filter. In REST form the parameter is expressed as 'exchange_id'.","in":"query","name":"generative_exchange_id","schema":{"type":"string"}},{"description":"Filter list output to only include ratings that are in requested review status. Defaults to UNSPECIFIED which disables this filter. In REST form the parameter is expressed as 'status' with valid values PENDING and COMPLETE.\n\n - UNSPECIFIED: Not a valid exchange rating value\n - PENDING: This exchange rating is waiting to be inspected for approval or rejection (default).\n - COMPLETE: This exchange rating has been inspected and acted upon. No further action will be taken.","in":"query","name":"status","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","PENDING","COMPLETE"],"type":"string"}},{"description":"Filter list output to only include ratings made by a given user. In REST form the parameter is expressed as 'creator_id'.","in":"query","name":"creator_id","schema":{"type":"string"}},{"description":"Filter list output to only include ratings that match a given rank value. In REST form the parameter is expressed as 'rank' with valid values 1-5.","in":"query","name":"rank","schema":{"format":"int32","type":"integer"}},{"description":"Default page size is 100 when omitted. The maximum page size is 100.\nThe REST query parameter is \"page_size\".\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for details.","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\".\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for details.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"If the sort order parameter is provided with a multi page request, it must be provided on all subsequent page requests.\nFor exchange requests the valid options are: rank, rank desc, create_time, create_time desc.\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","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/v1ListGenerativeExchangeRatingReviewsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["GenerativeFeedback"],"summary":"ListGenerativeExchangeRatingReviews","description":""}},"/api/conversation/v1/generative-ratings":{"post":{"operationId":"GenerativeFeedback_CreateGenerativeExchangeRating","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateGenerativeExchangeRatingRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetGenerativeExchangeRatingResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateGenerativeExchangeRating","tags":["GenerativeFeedback"],"x-codegen-request-body-name":"body","description":"Create a generative exchange rating.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/conversation/v1/generative-ratings/{data.rating.rating_id}/review":{"patch":{"operationId":"GenerativeFeedback_UpdateGenerativeExchangeRatingReview","parameters":[{"description":"UUID that uniquely identifies a particular exchange rating. Automatically generated on create.","in":"path","name":"data.rating.rating_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/v1UpdateGenerativeExchangeRatingReviewRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetGenerativeExchangeRatingReviewResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateGenerativeExchangeRatingReview","tags":["GenerativeFeedback"],"x-codegen-request-body-name":"body","description":"A reviewing authority can update the review perspective of an exchange rating item. This includes review information not available to un-privileged users."}},"/api/conversation/v1/generative-ratings/{data.rating_id}":{"patch":{"operationId":"GenerativeFeedback_UpdateGenerativeExchangeRating","parameters":[{"description":"UUID that uniquely identifies a particular exchange rating. Automatically generated on create.","in":"path","name":"data.rating_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/v1UpdateGenerativeExchangeRatingRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1GetGenerativeExchangeRatingResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["GenerativeFeedback"],"x-codegen-request-body-name":"body","summary":"UpdateGenerativeExchangeRating","description":""}},"/api/conversation/v1/generative-ratings/{rating_id}":{"delete":{"operationId":"GenerativeFeedback_DeleteGenerativeExchangeRating","parameters":[{"in":"path","name":"rating_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."}},"tags":["GenerativeFeedback"],"summary":"DeleteGenerativeExchangeRating","description":""},"get":{"operationId":"GenerativeFeedback_GetGenerativeExchangeRating","parameters":[{"in":"path","name":"rating_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/v1GetGenerativeExchangeRatingResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["GenerativeFeedback"],"summary":"GetGenerativeExchangeRating","description":""}},"/api/conversation/v1/generative-ratings/{rating_id}/review":{"get":{"operationId":"GenerativeFeedback_GetGenerativeExchangeRatingReview","parameters":[{"in":"path","name":"rating_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/v1GetGenerativeExchangeRatingReviewResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetGenerativeExchangeRatingReview","tags":["GenerativeFeedback"],"description":"A reviewing authority can retrieve the review perspective of an exchange rating item. This includes review information not available to un-privileged users."}},"/api/messages/v1/messages":{"get":{"operationId":"Messages_ListMessages","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListMessagesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListMessages","tags":["Messages"],"description":"List messages.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/messages/v1/messages/{message_id}":{"delete":{"operationId":"Messages_DeleteMessage","parameters":[{"description":"The id of the message to delete.","in":"path","name":"message_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/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteMessage","tags":["Messages"],"description":"Delete a message."},"get":{"operationId":"Messages_GetMessage","parameters":[{"in":"path","name":"message_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/v1GetMessageResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetMessage","tags":["Messages"],"description":"Get a message."}},"/api/messages/v1/system-events":{"get":{"operationId":"Messages_ListSystemEvents","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1ListSystemEventsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSystemEvents","tags":["Messages"],"description":"ListSystemEvents returns all system events for the user's organization.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/idp/discover":{"post":{"operationId":"OrganizationService_CreateIdpDiscovery","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetIdpDiscoveryResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateIdpDiscovery","tags":["OrganizationService"],"description":"Anonymous can discover the Identity Provider associated with an email domain or user identified by email address.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/idps":{"get":{"operationId":"OrganizationService_ListIdentityProviders","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgListIdentityProvidersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListIdentityProviders","tags":["OrganizationService"],"description":"List the organization identity provider configuration","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/integrations":{"get":{"operationId":"OrganizationService_ListIntegrations","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgListIntegrationsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["OrganizationService"],"summary":"ListIntegrations","description":"","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/org":{"get":{"operationId":"OrganizationService_GetOrganization","parameters":[{"in":"query","name":"org_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/orgGetOrganizationResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["OrganizationService"],"summary":"GetOrganization","description":""},"patch":{"operationId":"OrganizationService_UpdateOrganization","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetOrganizationResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateOrganization","tags":["OrganizationService"],"description":"Use this API to update the following organization properties","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/services":{"get":{"operationId":"OrganizationService_ListServices","parameters":[{"description":"Optional. Filter the response to only include services matching this authority.","in":"query","name":"authority","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/orgListServicesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["OrganizationService"],"summary":"ListServices","description":""},"post":{"operationId":"OrganizationService_CreateService","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgCreateServiceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetServiceResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["OrganizationService"],"x-codegen-request-body-name":"body","summary":"CreateService","description":"","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/services/{data.service_id}":{"patch":{"operationId":"OrganizationService_UpdateService","parameters":[{"description":"A unique identifier for this service connect.\nRandomly generated uuid by server. Immutable after creation.","in":"path","name":"data.service_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/orgUpdateServiceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetServiceResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["OrganizationService"],"x-codegen-request-body-name":"body","summary":"UpdateService","description":""}},"/api/access/v1/services/{service_id}":{"delete":{"operationId":"OrganizationService_DeleteService","parameters":[{"in":"path","name":"service_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."}},"tags":["OrganizationService"],"summary":"DeleteService","description":""},"get":{"operationId":"OrganizationService_GetService","parameters":[{"in":"path","name":"service_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/orgGetServiceResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"tags":["OrganizationService"],"summary":"GetService","description":""}},"/api/access/v1/solutions":{"get":{"operationId":"OrganizationService_ListSolutions","parameters":[{"description":"The number of items to be returned. Valid values are 1-100. Default is 100. The REST query parameter is \"page_size\".","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\".\nsee 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/orgListSolutionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSolutions","tags":["OrganizationService"],"description":"List all solutions configured for this organization"}},"/api/access/v1/solutions/{solution_id}":{"get":{"operationId":"OrganizationService_GetSolution","parameters":[{"description":"Required. The solution id to retrieve.","in":"path","name":"solution_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/orgGetSolutionResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSolution","tags":["OrganizationService"],"description":"Retrieve existing solution by id"}},"/api/access/v1/teams":{"get":{"operationId":"OrganizationService_ListTeams","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgListTeamsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListTeams","tags":["OrganizationService"],"description":"List an Organization's teams","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]},"post":{"operationId":"OrganizationService_CreateTeam","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgCreateTeamRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetTeamResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateTeam","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"Create an empty team","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/teams/{data.team_id}":{"patch":{"operationId":"OrganizationService_UpdateTeam","parameters":[{"description":"Required.\nA unique identifier for this team in UUID format.\nAssigned by server if not supplied during creation.\nImmutable after creation.","in":"path","name":"data.team_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/orgUpdateTeamRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetTeamResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateTeam","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"Update a team's basic information"}},"/api/access/v1/teams/{team_id}":{"delete":{"operationId":"OrganizationService_DeleteTeam","parameters":[{"in":"path","name":"team_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":"DeleteTeam","tags":["OrganizationService"],"description":"Delete a team including all its members"},"get":{"operationId":"OrganizationService_GetTeam","parameters":[{"in":"path","name":"team_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/orgGetTeamResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetTeam","tags":["OrganizationService"],"description":"Retrieve a team"}},"/api/access/v1/teams/{team_id}/users":{"get":{"operationId":"OrganizationService_ListTeamUsers","parameters":[{"in":"path","name":"team_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/orgListTeamUsersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListTeamUsers","tags":["OrganizationService"],"description":"List all the members of an existing team"},"post":{"operationId":"OrganizationService_CreateTeamUser","parameters":[{"in":"path","name":"team_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/orgCreateTeamUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetTeamUserResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateTeamUser","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"Add a member to an existing team"}},"/api/access/v1/teams/{team_id}/users/{data.user_id}":{"patch":{"operationId":"OrganizationService_UpdateTeamUser","parameters":[{"description":"The containing team's id","in":"path","name":"team_id","required":true,"schema":{"type":"string"}},{"description":"Required.\nMust correspond to a valid Org user capable of logging into the Pryon system\nImmutable after creation.","in":"path","name":"data.user_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/orgUpdateTeamUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetTeamUserResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateTeamUser","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"Update an existing team member"}},"/api/access/v1/teams/{team_id}/users/{user_id}":{"delete":{"operationId":"OrganizationService_DeleteTeamUser","parameters":[{"description":"The containing team's id","in":"path","name":"team_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"user_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":"DeleteTeamUser","tags":["OrganizationService"],"description":"Delete a team member"},"get":{"operationId":"OrganizationService_GetTeamUser","parameters":[{"description":"The containing team's id","in":"path","name":"team_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"user_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/orgGetTeamUserResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetTeamUser","tags":["OrganizationService"],"description":"Retrieve a member of an existing team"}},"/api/access/v1/teams/{team_id}/users:batchCreate":{"post":{"operationId":"OrganizationService_BatchCreateTeamUser","parameters":[{"description":"The containing team's id","in":"path","name":"team_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/orgBatchCreateTeamUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgListTeamUsersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"BatchCreateTeamUser","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"Add multiple members to an existing team via JSON data structure supplied in input"}},"/api/access/v1/teams/{team_id}/users:batchDelete":{"delete":{"operationId":"OrganizationService_BatchDeleteTeamUser","parameters":[{"description":"The containing team's id","in":"path","name":"team_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":"BatchDeleteTeamUser","tags":["OrganizationService"],"description":"Remove multiple team members via JSON data structure supplied in input"}},"/api/access/v1/user/current":{"get":{"operationId":"OrganizationService_GetUserInfo","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetUserInfoResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetUserInfo","tags":["OrganizationService"],"description":"A user authenticated with Pryon can request their authorization information.\nIf the Pryon platform cannot validate the user's access grant it will respond with HTTP Unauthorized status.\nIf the Pryon platform does not accept the user's access grant it will respond with HTTP Forbidden status.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/users":{"get":{"operationId":"OrganizationService_ListUsers","parameters":[{"description":"Filter list outputs to only include users that match this status. Defaults to UNSPECIFIED which disables this filter.\nThe REST query parameter is \"status\" and value can be the string or integer representation.\n\n - UNSPECIFIED: UNSPECIFIED: Default value that will never be used by the API as it is indistinguishable from unspecified status.\n - PENDING: PENDING: Waiting to be enabled by an organization admin.\nUseful to organization admins in gradually rolling out Pryon Platform access to organization users (e.g. bulk adding users and then enabling them in batches).\n - DISABLED_BY_ADMIN: DISABLED_BY_ADMIN: Administratively disabled by the organization admin (e.g. due to compromised credentials).\n - DISABLED_BY_SERVICE_OPERATOR: DISABLED_BY_SERVICE_OPERATOR: Disabled by a Pryon Service Operator (e.g. due to abuse).\nOnly a Pryon Service Operator can transition a user into and out of this state.\n - ACTIVE: ACTIVE: The user is in a functionally operational state","in":"query","name":"status","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","PENDING","DISABLED_BY_ADMIN","DISABLED_BY_SERVICE_OPERATOR","ACTIVE"],"type":"string"}},{"description":"Filter list outputs to only include users of this type. Defaults to UNSPECIFIED which disables this filter.\nThe REST query parameter is \"type\" and value can be the string or integer representation.\n\n - UNSPECIFIED: UNSPECIFIED: Default value not used to characterize users internally.\n - HUMAN: HUMAN: A human user identified by a valid email address.\n - MACHINE: MACHINE: A machine user operating without human interaction and identified by its client id.","in":"query","name":"type","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","HUMAN","MACHINE"],"type":"string"}},{"description":"Filter list outputs to only include the users that use this knowledge collection as their default.\nThe REST questy parameter is \"default_collection_id\".","in":"query","name":"default_collection_id","schema":{"type":"string"}},{"description":"The number of items to be returned. Valid values are 1-100. Default is 100.\nREST query parameter is \"page_size\".","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"In case of multiple pages, pages 2-N must specify this parameter using the value of next_page_token provided in response for previous page.\nREST query parameter is \"page_token\".\nsee 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/orgListUsersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListUsers","tags":["OrganizationService"],"description":"List Organization Users"},"post":{"operationId":"OrganizationService_CreateUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgCreateUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetUserResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateUser","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"Create a User","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/users/{data.user_id}":{"patch":{"operationId":"OrganizationService_UpdateUser","parameters":[{"description":"Required on create and is immutable after creation.\nA unique identifier for this user within its Organization.\nThe id value is an email address for human users and a client id for machine users. On user create operations email addresses will automatically be converted to lower case, and this value will be reflected in the REST uris for such email identified users.","in":"path","name":"data.user_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/orgUpdateUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgGetUserResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"UpdateUser","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"Update User"}},"/api/access/v1/users/{user_id}":{"get":{"operationId":"OrganizationService_GetUser","parameters":[{"in":"path","name":"user_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/orgGetUserResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetUser","tags":["OrganizationService"],"description":"Get User by user_id"}},"/api/access/v1/users:batchCreate":{"post":{"operationId":"OrganizationService_BatchCreateUser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgBatchCreateUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/orgListUsersResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/googlerpcStatus"}}},"description":"An unexpected error response."}},"summary":"BatchCreateUser","tags":["OrganizationService"],"x-codegen-request-body-name":"body","description":"BatchCreateUser adds multiple users to an organization and returns a list of users that were created.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/access/v1/users:batchDelete":{"delete":{"operationId":"OrganizationService_BatchDeleteUser","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":"BatchDeleteUser","tags":["OrganizationService"],"description":"BatchDeleteUser removes multiple users from an organization.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/knowledge/v1/subject-categories":{"get":{"operationId":"Subjects_ListSubjectCategories","parameters":[{"description":"Default page size is 100 which is also the maximum page size. Query param is \"page_size\". If page size is default than this param can be omitted otherwise it must be specified on every page request.\nsee 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\".\nsee 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: \"display_name asc\" (default).\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","schema":{"type":"string"}},{"description":"To filter on a specific source then specify a value here.\n\n - UNSPECIFIED: Unspecified - an important option for filtering use cases when no preference is desired. This is not a valid option when creating a subject category\n - SYSTEM_DEFINED: Category is defined by Pryon Cloud Services system\n - USER_DEFINED: Category is defined by users of the system and created via user input\n - QUERY_ATTRIBUTE: A category associated to a content which can be used to improve Exchange response ranking quality based on the context specified in ExchangeInputOption\nSee \"documentation about improving ranking quality\" link for more details.","in":"query","name":"source","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","SYSTEM_DEFINED","USER_DEFINED","QUERY_ATTRIBUTE"],"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/subjectsListSubjectCategoriesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSubjectCategories","tags":["Subjects"],"description":"List subject categories"}},"/api/knowledge/v1/subject-categories/{subject_category_id}":{"get":{"operationId":"Subjects_GetSubjectCategory","parameters":[{"description":"Required.","in":"path","name":"subject_category_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/subjectsGetSubjectCategoryResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSubjectCategory","tags":["Subjects"],"description":"Get subject category by subject_category_id"}},"/api/knowledge/v1/subject/relationship/types":{"get":{"operationId":"Subjects_ListSubjectRelationshipTypes","parameters":[{"description":"Default page size is 100 which is also the maximum page size. Query param is \"page_size\". If page size is default than this param can be omitted otherwise it must be specified on every page request.\nsee 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\".\nsee 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: \"display_name asc\" (default).\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","schema":{"type":"string"}},{"description":"Filter by relationships having a specific direction.\n\n - UNSPECIFIED: Unspecified - an important option for filtering use cases when no preference is desired.\nThis is not a valid option when creating a subject relationship type.\n - UNIDIRECTIONAL: Indicates a one-way relationship from the subject specified by the from_subject_id,\nto the subject specified by the to_subject_id.\n - BIDIRECTIONAL: Indicates a two-way relationship between the subject specified by the from_subject_id,\nand the subject specified by the to_subject_id.","in":"query","name":"direction","schema":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","UNIDIRECTIONAL","BIDIRECTIONAL"],"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/subjectsListSubjectRelationshipTypesResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSubjectRelationshipTypes","tags":["Subjects"],"description":"List subject relationship types"}},"/api/knowledge/v1/subject/relationships":{"get":{"operationId":"Subjects_ListSubjectRelationships","parameters":[{"description":"Default page size is 100 which is also the maximum page size. Query param is \"page_size\". If page size is default than this param can be omitted otherwise it must be specified on every page request.\nsee 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\".\nsee 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: \"to_subject_id asc\" (default) or \"from_subject_id asc\".\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","schema":{"type":"string"}},{"in":"query","name":"from_subject_id","schema":{"type":"string"}},{"in":"query","name":"to_subject_id","schema":{"type":"string"}},{"in":"query","name":"relationship_type_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/subjectsListSubjectRelationshipsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSubjectRelationships","tags":["Subjects"],"description":"List subject relationships"}},"/api/knowledge/v1/subjects":{"get":{"operationId":"Subjects_ListSubjects","parameters":[{"description":"Default page size is 100 which is also the maximum page size. Query param is \"page_size\". If page size is default than this param can be omitted otherwise it must be specified on every page request.\nsee 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\".\nsee 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: \"display_name asc\" (default).\nsee https://cloud.google.com/apis/design/design_patterns#sorting_order.","in":"query","name":"order_by","schema":{"type":"string"}},{"description":"If specified then the list will be filtered to the subject term with regard to term_is_prefix and term_is_case_sensitive.","in":"query","name":"term","schema":{"type":"string"}},{"description":"If specified alongside term then list subjects whose term starts with the string provided.","in":"query","name":"term_is_prefix","schema":{"type":"boolean"}},{"description":"If specified alongside term then filter to those that match regardless of lowercase or uppercase.","in":"query","name":"term_is_case_insensitive","schema":{"type":"boolean"}},{"description":"If specified then 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/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListSubjects","tags":["Subjects"],"description":"List subjects"}},"/api/knowledge/v1/subjects/{subject_id}":{"get":{"operationId":"Subjects_GetSubject","parameters":[{"description":"Required.","in":"path","name":"subject_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/subjectsGetSubjectResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetSubject","tags":["Subjects"],"description":"Get subject by subject_id"}},"/api/regression/v1/collections/{collection_id}/questions":{"get":{"operationId":"RegressionTest_ListTestQuestions","parameters":[{"in":"path","name":"collection_id","required":true,"schema":{"type":"string"}},{"description":"The number of items to be returned. Valid values are 1-100. Default is 100. The REST query parameter is \"page_size\".","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\".\nsee 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/testListTestQuestionsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListTestQuestions","tags":["RegressionTest"],"description":"List test questions associated with a given collection."}},"/api/regression/v1/collections/{collection_id}/questions/{question_id}":{"delete":{"operationId":"RegressionTest_DeleteTestQuestion","parameters":[{"in":"path","name":"collection_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"question_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/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteTestQuestion","tags":["RegressionTest"],"description":"Delete a test question associated with a given collection."},"get":{"operationId":"RegressionTest_GetTestQuestion","parameters":[{"in":"path","name":"collection_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"question_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/testGetTestQuestionResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetTestQuestion","tags":["RegressionTest"],"description":"Retrieve a test question associated with a given collection."}},"/api/regression/v1/collections/{data.collection_id}/questions":{"post":{"operationId":"RegressionTest_CreateTestQuestion","parameters":[{"description":"Required. Immutable after question creation. Must match an existing collection id.","in":"path","name":"data.collection_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/testCreateTestQuestionRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/testGetTestQuestionResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateTestQuestion","tags":["RegressionTest"],"x-codegen-request-body-name":"body","description":"Create a new test question associate with an existing collection. The question will be included in future regression test runs.\nThe number of test questions for a given collection is limited to a maximum capacity. The operation will fail if capacity is met."}},"/api/regression/v1/tests":{"get":{"operationId":"RegressionTest_ListTests","parameters":[{"description":"Required. The parent collection the tests are associated with. The REST query parameter is base_collection_id.","in":"query","name":"base_collection_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/testListTestsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListTests","tags":["RegressionTest"],"description":"List tests associated with a given collection."},"post":{"operationId":"RegressionTest_CreateTest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/testCreateTestRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/testGetTestResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateTest","tags":["RegressionTest"],"x-codegen-request-body-name":"body","description":"Create a test comparing two existing knowledge domains, aka collection versions. A single test may be created for a collection draft-domain pair.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}},"/api/regression/v1/tests/{test_id}":{"delete":{"operationId":"RegressionTest_DeleteTest","parameters":[{"in":"path","name":"test_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/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"DeleteTest","tags":["RegressionTest"],"description":"Delete a test and all its associated test results"},"get":{"operationId":"RegressionTest_GetTest","parameters":[{"in":"path","name":"test_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/testGetTestResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetTest","tags":["RegressionTest"],"description":"Retrieve a test by id."}},"/api/regression/v1/tests/{test_id}/results":{"get":{"operationId":"RegressionTest_ListTestResults","parameters":[{"description":"Required.","in":"path","name":"test_id","required":true,"schema":{"type":"string"}},{"description":"The number of items to be returned. Valid values are 1-100. Default is 100. The REST query parameter is \"page_size\".","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\".\nsee 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/testListTestResultsResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"ListTestResults","tags":["RegressionTest"],"description":"Retrieves the result set associated with this test from storage. The output will only include test results already executed prior to list time."}},"/api/regression/v1/tests/{test_id}/results/{question_id}":{"get":{"operationId":"RegressionTest_GetTestResult","parameters":[{"in":"path","name":"test_id","required":true,"schema":{"type":"string"}},{"in":"path","name":"question_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/testGetTestResultResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"GetTestResult","tags":["RegressionTest"],"description":"Retrieves the test result corresponding to a given question id from storage. The question entity must already have been declared within the scope of the test collection. If the test result does not already exist on the server, such as on a first retrieval operation, it will be generated on the fly."}},"/api/speech/v1/synthesis":{"post":{"operationId":"TextToSpeech_CreateSynthesis","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateSynthesisRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1CreateSynthesisResponse"}}},"description":"A successful response."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"CreateSynthesis","tags":["TextToSpeech"],"x-codegen-request-body-name":"body","description":"Synthesizes speech synchronously according to the text input and settings.","parameters":[{"name":"Authentication","in":"header","required":true,"schema":{"type":"string"},"example":"Authorization: Bearer {base64-encoded-token}"}]}}},"components":{"schemas":{"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"},"rpcStatus":{"properties":{"code":{"format":"int32","type":"integer"},"message":{"type":"string"},"details":{"items":{"$ref":"#/components/schemas/protobufAny"},"type":"array"}},"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"},"v1ConversationCount":{"description":"ConversationCount is a single time-series aggregrate data point representing the number of unique conversations in a certain time period.","properties":{"start_time":{"description":"The intervallic start time corresponding to this data point.","format":"date-time","type":"string"},"end_time":{"description":"The intervallic end time corresponding to this data point.","format":"date-time","type":"string"},"count":{"description":"The number of unique conversations that occurred between start_time and end_time.","format":"uint64","type":"string"}},"type":"object"},"v1ConversationSizeCategories":{"description":"ConversationSizeCategories is a single time-series data point representing the number of conversations size counts in a certain time period.","properties":{"start_time":{"description":"The intervallic start time corresponding to this data point.","format":"date-time","type":"string"},"end_time":{"description":"The intervallic end time corresponding to this data point.","format":"date-time","type":"string"},"one_two_count":{"description":"The number of conversations between start_time and end_time with 1-2 exchanges.","format":"uint64","type":"string"},"three_four_count":{"description":"The number of conversations between start_time and end_time with 3-4 exchanges.","format":"uint64","type":"string"},"five_plus_count":{"description":"The number of conversations between start_time and end_time with 5+ exchanges.","format":"uint64","type":"string"}},"type":"object"},"v1ExchangeConfidenceCategories":{"properties":{"start_time":{"format":"date-time","title":"The intervallic start time in UTC corresponding to this data point","type":"string"},"end_time":{"format":"date-time","title":"The intervallic end time in UTC corresponding to this data point","type":"string"},"low_count":{"format":"uint64","title":"The number of exchanges with answers in the LOW confidence category","type":"string"},"weak_count":{"format":"uint64","title":"The number of exchanges with answers in the WEAK confidence category","type":"string"},"moderate_count":{"format":"uint64","title":"The number of exchanges with answers in the MODERATE confidence category","type":"string"},"high_count":{"format":"uint64","title":"The number of exchanges with answers in the HIGH confidence category","type":"string"}},"type":"object"},"v1ExchangeConfidenceScore":{"properties":{"start_time":{"format":"date-time","title":"The intervallic start time in UTC corresponding to this data point","type":"string"},"end_time":{"format":"date-time","title":"The intervallic end time in UTC corresponding to this data point","type":"string"},"average_score":{"format":"float","title":"The average first answer confidence score in exchanges made during this intervallic time period","type":"number"}},"type":"object"},"v1ExchangeCount":{"properties":{"start_time":{"format":"date-time","title":"The intervallic start time in UTC corresponding to this data point","type":"string"},"end_time":{"format":"date-time","title":"The intervallic end time in UTC corresponding to this data point","type":"string"},"count":{"format":"uint64","title":"The number of requests made during this intervallic time period","type":"string"}},"type":"object"},"v1ExchangeRatingCategories":{"properties":{"start_time":{"format":"date-time","title":"The intervallic start time in UTC corresponding to this data point","type":"string"},"end_time":{"format":"date-time","title":"The intervallic end time in UTC corresponding to this data point","type":"string"},"rating_one_count":{"format":"uint64","title":"The number of exchange ratings with value 1 made during this intervallic time period","type":"string"},"rating_two_count":{"format":"uint64","title":"The number of exchange ratings with value 2 made during this intervallic time period","type":"string"},"rating_three_count":{"format":"uint64","title":"The number of exchange ratings with value 3 made during this intervallic time period","type":"string"},"rating_four_count":{"format":"uint64","title":"The number of exchange ratings with value 4 made during this intervallic time period","type":"string"},"rating_five_count":{"format":"uint64","title":"The number of exchange ratings with value 5 made during this intervallic time period","type":"string"}},"type":"object"},"v1IngestCount":{"properties":{"start_time":{"format":"date-time","title":"The intervallic start time in UTC corresponding to this data point","type":"string"},"end_time":{"format":"date-time","title":"The intervallic end time in UTC corresponding to this data point","type":"string"},"count":{"description":"The number of documents ingested during the requested time period.","format":"uint64","type":"string"}},"type":"object"},"v1ListConversationCountsResponse":{"description":"ListConversationCountsResponse contains filtered and reduced conversation count time-series data.","properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"List of conversation count time-series data points.","items":{"$ref":"#/components/schemas/v1ConversationCount"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"type":"object"},"v1ListConversationSizeCategoriesResponse":{"description":"ListConversationSizeCategoriesResponse contains filtered conversation length count time-series data.","properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"List of conversation length count time-series data points.","items":{"$ref":"#/components/schemas/v1ConversationSizeCategories"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"type":"object"},"v1ListExchangeConfidenceCategoriesResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1ExchangeConfidenceCategories"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"title":"List confidence categories response","type":"object"},"v1ListExchangeConfidenceScoresResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1ExchangeConfidenceScore"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"title":"List confidence scores response","type":"object"},"v1ListExchangeCountsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1ExchangeCount"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"title":"List exchange counts response","type":"object"},"v1ListExchangeRatingCategoriesResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1ExchangeRatingCategories"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"title":"List exchange rating categories","type":"object"},"v1ListIngestCountsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1IngestCount"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"title":"Get ingest count total response","type":"object"},"v1ListSyncCountsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1SyncCount"},"type":"array"},"collection_id":{"description":"Present when results are being filtered by collection. Matches request.","type":"string"},"solution_id":{"description":"Present when results are being filtered by solution. Matches request.","type":"string"}},"title":"List sync counts response","type":"object"},"v1SyncCount":{"properties":{"start_time":{"format":"date-time","title":"The intervallic start time in UTC corresponding to this data point","type":"string"},"end_time":{"format":"date-time","title":"The intervallic end time in UTC corresponding to this data point","type":"string"},"count":{"description":"The number of collection sync operations during the requested time period.","format":"uint64","type":"string"}},"type":"object"},"v1TimeFrame":{"default":"UNSPECIFIED","description":"- DAY: Metrics will be aggregated in 24 hour intervals\n - WEEK: Metrics will be aggregated in 168 hour intervals","enum":["UNSPECIFIED","DAY","WEEK"],"title":"Metric aggregation interval","type":"string"},"collectionGetCollectionResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/collectionKnowledgeCollection"}},"type":"object"},"collectionKnowledgeCollection":{"properties":{"collection_id":{"description":"Required. The Knowledge Collection unique identifier. Immutable after create.","type":"string"},"active_domain_id":{"description":"Unique identifier of the current version Domain.","type":"string"},"active_domain_history":{"description":"Autogenerated. An ordered list of version identifiers that were active at some point in the Collection's lifetime. The oldest version is the first item in the list.","items":{"type":"string"},"type":"array"},"team_ids":{"description":"Unique identifiers of the teams authorized to this Knowledge Collection.","items":{"type":"string"},"type":"array"},"solution_id":{"description":"Required. The licensed solution this collection belongs to.","type":"string"}},"title":"A versioned collection of documents authorized users can interact with","type":"object"},"collectionListActiveDomainsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/domainListDomainItem"},"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"},"collectionListCollectionItem":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/collectionKnowledgeCollection"}},"type":"object"},"collectionListCollectionsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/collectionListCollectionItem"},"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"},"collectionRestoreActiveDomainRequest":{"properties":{"collection_id":{"description":"Required. Id of a valid Knowledge Collection.","type":"string"}},"type":"object"},"collectionUpdateActiveDomainRequest":{"properties":{"collection_id":{"description":"Required. Id of a valid Knowledge Collection.","type":"string"},"knowledge_domain_id":{"title":"The ID of the Knowledge Domain to serve as the active version","type":"string"}},"type":"object"},"collectionUpdateCollectionRequest":{"properties":{"data":{"$ref":"#/components/schemas/collectionKnowledgeCollection"},"update_mask":{"items":{"type":"string"},"title":"Required. The data path corresponding to the fields being updated in this request.\nThe following fields are updatable:\n data.team_ids\n data.solution_id\nExample mask declaration in JSON format:\n updateMask: \"data.teamIds\"\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"type":"object"},"domainGetDomainResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/domainKnowledgeDomainEntity"}},"type":"object"},"domainKnowledgeDomainEntity":{"description":"The top-level message sent by the client for the CreateDomain method.","properties":{"knowledge_domain_id":{"description":"Optional. When specified, it must be a UUID that is unique in the system. When not specified, a UUID will be generated.","type":"string"},"display_name":{"description":"Required. Friendly display name of this KD.","type":"string"},"description":{"description":"Optional. A more elaborate explanation of this KD.","type":"string"},"status":{"$ref":"#/components/schemas/domainKnowledgeDomainEntityStatus"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Knowledge domain specific key/value pair labels.\nLabels can be used to organize and select subsets of objects.\nReserved Pryon labels:\n code_name - Only use this label as directed by Pryon personnel.\n include_user_criteria - true/false.","type":"object"},"kd_succession_id":{"description":"Optional. This is a uuidv4 stable identifier of the versioned KnowledgeCollection parent to this KnowledgeDomain. A KnowledgeCollection is automatically created with every new KnowledgeDomain. This identifier is autogenerated when not supplied and cannot be subsequently updated.","type":"string"},"status_reason":{"description":"Reason that KD was transitioned to its current status value. Generally only relevant when the status is CONTENT_NOT_SUPPORTED.","type":"string"},"team_ids":{"description":"DEPRECATED. Teams are now specified at the collection level.\nIDs of the teams allowed access to this KD.","items":{"type":"string"},"type":"array"},"created_by":{"description":"Automatically assigned and immutable after creation. The user identity that created this knowledge domain.","type":"string"}},"type":"object"},"domainKnowledgeDomainEntityStatus":{"default":"UNKNOWN","description":"Output only. An indicator of readiness of the KD to support conversation exchanges.\n\n - CONTENT_AWAIT: CONTENT_AWAIT: Initial value for a newly created KD. If KD was created with data.uri or data.contents then asynchronous status transition will occur to CONTENT_IDENTIFIED after constituent Content Group and Contents are created. If KD was created without either of these then it will remain in this status until an explicit PATCH with CONTENT_IDENTIFIED status is received.\n - CONTENT_IDENTIFIED: CONTENT_IDENTIFIED: When a KD enters this state, our automation will begin the process of readying the content for Conversation Exchanges by ingesting each constituent Content.\n - CONTENT_READY: CONTENT_READY: The KD's content is ready and able to support conversation exchanges. Each Content in the KD's Content Groups has been successfully ingested.\n - CONTENT_NOT_SUPPORTED: CONTENT_NOT_SUPPORTED: Unable to support conversation exchanges on this KD's content due to some problem readying its Contents. You can look for constituent Contents that have INGESTION_FAILED status to find out more details. To retry, update KD status to CONTENT_IDENTIFIED using PATCH. If the problem persists then remove the INGESTION_FAILED contents from the KD's Content Group(s) and try again.\n - DECOMMISSIONED: DECOMMISSIONED: KD is no longer needed, is not going to be used for conversation exchanges, and should be removed from the system. The KD is going to be removed from the system ASAP by ongoing housekeeping operations. Any KD can transition to DECOMMISSIONED status.","enum":["UNKNOWN","CONTENT_AWAIT","CONTENT_IDENTIFIED","CONTENT_READY","CONTENT_NOT_SUPPORTED","DECOMMISSIONED"],"type":"string"},"domainListDomainItem":{"properties":{"data":{"$ref":"#/components/schemas/domainKnowledgeDomainEntity"},"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"}},"type":"object"},"googlerpcStatus":{"properties":{"code":{"format":"int32","type":"integer"},"message":{"type":"string"},"details":{"items":{"$ref":"#/components/schemas/protobufAny"},"type":"array"}},"type":"object"},"orgTeamRole":{"default":"MEMBER","enum":["MEMBER","EXPERT","AUTHORITY"],"title":"An authorization role assigned to member of a team valid only within the scope of that team","type":"string"},"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"},"ContentTaskValue":{"default":"UNSPECIFIED","description":"Optional for Proxy connectors.","enum":["UNSPECIFIED","LOWEST","LOW","MEDIUM","HIGH","CRITICAL","IMMEDIATE","NEW","IN_PROGRESS","RESOLVED","VERIFIED","CLOSED","OPEN","ON_HOLD","BLOCKED","CANCELLED"],"type":"string"},"v1Content":{"properties":{"content_id":{"description":"Required. ID of this entity (Required only for GetContentResponse).","type":"string"},"connector_id":{"title":"Required. ID of the connector that created this content. (Required only for GetContentResponse)","type":"string"},"seed_source_location":{"description":"Required. The URI used for content discovery. For Pryon Knowledge Platform, this is the KnowledgeDomain's ContentGroup's source location.","type":"string"},"source_location":{"description":"Required. The content URI. This should be the location of this specific item in the remote API.","type":"string"},"display_source_location":{"description":"User facing source location to display if different from source_location. This is used if the preview link should\nbe different than the original location. Useful for when modifications need to be made just for ingestion.","type":"string"},"is_folder":{"description":"Indicates whether this Content is a folder or not. If it is a folder, it will not be ingested, but will be used to recursively discover other Contents.","type":"boolean"},"parent_id":{"description":"Indicates whether this Content is embedded in another Content (i.e. parent_id will be set). This should be used\nin the case of related Content items that one would want to be linked when previewing. E.g. a record that has related\nattachments that all need to be processed separately (e.g. Imgs and PDFs) in different pipelines.","type":"string"},"read_permission":{"$ref":"#/components/schemas/v1ReadPermission"},"version":{"description":"Content version. This should follow the pattern in the remote API and be used consistently across\nall Content items with that particular API.","type":"string"},"created_at":{"description":"Date and time when the content was originally created in connected platform, in epoch millis.","format":"int64","type":"string"},"updated_at":{"description":"Date and time when the content was last updated in connected platform, in epoch millis.","format":"int64","type":"string"},"title":{"description":"Content title.","type":"string"},"description":{"description":"Brief description, summary or abstract of the content.","type":"string"},"comment":{"description":"Comments or annotations associated with the content.","type":"string"},"body":{"description":"For non-file contents such as articles, reports, etc.\nThis field is used to store the body of the content.\nThis can be a maximum of 1MB.","type":"string"},"mime_type":{"description":"Required. MIME type for file content.\nStandard way to indicate the nature and format of a content.","type":"string"},"file_extension":{"title":"File extension (.pdf, .docx, .html, etc.)","type":"string"},"path":{"description":"File path or location within a file system.","type":"string"},"size":{"description":"Size of the file in bytes.","format":"int64","type":"string"},"opaque_data":{"description":"*** Only when the universal connector pushes a content to Pryon's Ingestion Platform ***\nThe opaque_data is an opaque string that can be used to by the PULL API to retreive the content data from underlying content source along with the source_location. For example, the opaque_data can be the drive_id + item_id in SharePoint.","type":"string"},"data":{"description":"*** Only when the universal connector pushes a content to Pryon's Ingestion Platform ***\nIf content is a file and the data size is less than 4 MB.\nThis field can be set to the base64 encoded data of the file.\nIf the data is larger than 4 MB, uploadPart custom API should be used to upload the data.\nOptional for Proxy connectors.","type":"string"},"created_by":{"description":"Content creator or author in connected platform.","type":"string"},"updated_by":{"description":"Identity who last updated the content in connected platform.","type":"string"},"assigned_to":{"description":"Identity to whom a task or content is assigned.","type":"string"},"impact":{"$ref":"#/components/schemas/ContentTaskValue"},"priority":{"$ref":"#/components/schemas/ContentTaskValue"},"urgency":{"$ref":"#/components/schemas/ContentTaskValue"},"state":{"$ref":"#/components/schemas/ContentTaskValue"},"status":{"$ref":"#/components/schemas/ContentTaskValue"},"custom_attributes":{"additionalProperties":{"$ref":"#/components/schemas/v1CustomAttribute"},"description":"Custom attributes that are not part of the recommended set.\nThe key is the CustomAttribute's name.\nThis is used when there is a particular field in the remote API that does not fit\ninto another field on the Content message type. This allows for all primitives\nand should be used for any metadata required for filtering, retrieval or ingestion that\ndo not exist directly in the file data.","type":"object"},"system_status":{"$ref":"#/components/schemas/v1ContentStatus"},"system_status_reason":{"type":"string"}},"type":"object"},"v1ContentDataResponse":{"description":"","properties":{"content_range_header":{"$ref":"#/components/schemas/v1Range"},"bytes_data":{"format":"byte","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string"}},"title":"The response contains the Content-Range header and the content data.\nHTTP/1.1 206 Partial Content\nContent-Range: bytes -/\nContent-Length: \nContent-Type: application/octet-stream","type":"object"},"v1ContentStatus":{"default":"UNKNOWN","description":"The Connector's Content's system status will only be updated by the server.\nDo not set on proxy integrations.\n\n - INITIATED: The content has been identified for processing but has not yet been processed.\nIndicates that the content has been identified and is ready to start the uploading and downloading content data steps.\n - UPLOADING: Indicates that the content is currently being uploaded in parts. This status is useful if you want to track the progress of the upload before all parts are complete.\n - UPLOAD_COMPLETE: Indicates that all parts of the content have been successfully uploaded and the content is ready to be processed.\n - DOWNLOADING: Indicates that the content is currently being downloaded in parts. This status can be used if there's a need to track the progress of the download before all parts are complete.\n - DOWNLOAD_COMPLETE: Indicates that all parts of the content have been successfully downloaded and the content is ready to be processed.\n - PROCESSED: The content has been successfully processed and is ready for ETL and indexing steps.\n - FAILED: There was an error while processing this piece of content. The error could be due to various reasons, such as format issues or communication problems with the source.\n - DELETED: The content has been removed, either because it was deleted from the source and was detected and propagated during the synchronization process.","enum":["UNKNOWN","INITIATED","UPLOADING","UPLOAD_COMPLETE","DOWNLOADING","DOWNLOAD_COMPLETE","PROCESSED","FAILED","DELETED"],"type":"string"},"v1CustomAttribute":{"properties":{"name":{"description":"The name of the attribute.","type":"string"},"value":{"description":"The value of the attribute.","type":"string"},"value_type":{"$ref":"#/components/schemas/v1CustomAttributeType"}},"type":"object"},"v1CustomAttributeType":{"default":"UNKNOWN","enum":["UNKNOWN","STRING","LONG","DOUBLE","DATETIME","BOOLEAN"],"type":"string"},"v1GetReadPermissionResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ReadPermission"}},"type":"object"},"v1GroupPermission":{"properties":{"group_id":{"description":"Required. A group id.","type":"string"},"group_name":{"description":"A group name.","type":"string"},"group_email":{"description":"A group email.","type":"string"}},"type":"object"},"v1ListContentItem":{"properties":{"data":{"$ref":"#/components/schemas/v1Content"},"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"}},"type":"object"},"v1ListContentsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"Array of Contents that match the request.","items":{"$ref":"#/components/schemas/v1ListContentItem"},"type":"array"},"next_page_token":{"description":"An opaque token that the server can interpret to determine the starting point for the next set of results.\nIf 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.","type":"string"}},"type":"object"},"v1ListGroupPermissionMembersResponse":{"properties":{"emails":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1ListGroupPermissionsResponse":{"properties":{"items":{"additionalProperties":{"$ref":"#/components/schemas/v1GroupPermission"},"description":"Required. A map of group id to group permission.","type":"object"}},"type":"object"},"v1Range":{"properties":{"range_start":{"format":"int64","type":"string"},"range_end":{"format":"int64","type":"string"},"total_size":{"format":"int64","type":"string"}},"type":"object"},"v1ReadPermission":{"properties":{"allow_emails":{"description":"A list of emails that have read permission for the content.","items":{"type":"string"},"type":"array"},"allow_group_ids":{"description":"A list of group ids that have read permission for the content. This will\nbe different for each remote API. It does not need to follow any preset\npattern, but should be consistent across the particular remote API.","items":{"type":"string"},"type":"array"},"deny_emails":{"description":"A list of emails that do not have read permission for the content.","items":{"type":"string"},"type":"array"},"deny_group_ids":{"description":"A list of group ids that have read permission for the content. This will\n // be different for each remote API. It does not need to follow any preset\n // pattern, but should be consistent across the particular remote API.","items":{"type":"string"},"type":"array"},"any_required_group_ids":{"description":"A list of group ids where a user needs to a part of AT LEAST ONE of them in order to access the content.\nEven if a user exists in one of these groups, 'read' permission could still be restricted.","items":{"type":"string"},"type":"array"},"all_required_group_ids":{"description":"A list group ids where a user needs to be a part of ALL of them in order to access the object.\nEven if a user exists in all of these groups, 'read' permission could still be restricted.","items":{"type":"string"},"type":"array"},"is_public":{"description":"A flag to indicate if the content is public.","type":"boolean"},"unrestricted_emails":{"description":"A list of emails that always have read permission for the content.","items":{"type":"string"},"type":"array"}},"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.\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"},"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"},"CreateDomainNextVersionWithSourcesRequestMode":{"default":"UNKNOWN","description":" - UNKNOWN: UNKNOWN mode will result in an invalid argument error. An API caller must specify one of the modes below.\n - INGEST_ALL_CONTENTS: All contents will be reprocessed and ingested.\nAlthough this mode is equivalent to create domain using the CreateDomain default method, it's encouraged to use the CreateDomainNextVersion method to create your next domain version for clarity.\n - INGEST_CHANGED_CONTENTS: A Content is considered unchanged only if both of these are true:\n - It was discovered from the same KnowledgeDomainEntity uri, or KnowledgeDomainEntityWithSources source_location in the case of multiple sources.\n - It has the same source_location and detected revision as a Content object in the ancestor KnowledgeDomain.\nIngestion artifacts from unchanged contents are copied to the domain’s next version.\nAll other contents (ie. changed contents) will be reprocessed and ingested.\nIf a KnowledgeDomainEntity is not compatible with the KD succession, for example due to a different KnowledgeDomainEntity.label, an error will be returned. An API caller should use INGEST_ALL_CONTENTS mode instead.\n - INGEST_FAILED_CONTENTS: No revision or difference checks will be made for Contents or PriorKnowledge at the source_locations for any of the ContentGroups.\nOnly Contents that ended up in INGESTION_FAILED in the ancestor KD will be retried, and all previously successfully ingested Contents will be carried forward.\n - INGEST_SELECTED_CONTENTS: Ingest only the contents specified in in ContentGroupSource.Content `content` field. This will only re-ingest\npreviously ingested contents specified. No revision or difference checks will be made for Contents or PriorKnowledge\nat the source_locations for any of the ContentGroups.\nAll previously successfully ingested Contents will be carried forward.","enum":["UNKNOWN","INGEST_ALL_CONTENTS","INGEST_CHANGED_CONTENTS","INGEST_FAILED_CONTENTS","INGEST_SELECTED_CONTENTS"],"type":"string"},"domainContentGroupAssociation":{"properties":{"content_group_id":{"title":"id of a valid Content Group from /api/knowledge/v1/content-groups","type":"string"},"knowledge_domain_id":{"title":"id of a valid Knowledge Domain from /api/knowledge/v1/domains","type":"string"}},"type":"object"},"domainContentGroupSource":{"properties":{"source_location":{"description":"Required. The source types currently supported are:\n1) https:// URI of an HTML webpage to download content of.\nCredentials need to be provided via the Pryon Service credentials API for the following:\n2) https://drive.google.com URLs. Google Drive file and folder URLs (including Google Docs and Sheets).\n3) https://*.sharepoint.com URLs.\n4) https://*.box.com URLs.\n5) https://*.zendesk.com URLs.\n6) https://*.service-now.com URLs.\n7) https://*.s3.region.amazonaws.com URLs.\n8) https://*.atlassian.net URLs.\n9) https://*.my.salesforce.com or https://*.develop.my.salesforce.com URLs.\n10) https://*.vimeo.com or vimeo.com URLs.\n11) https://youtube.com URLs.","type":"string"},"display_name":{"description":"Required. Friendly display name for this source.","type":"string"},"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"},"content_ids":{"description":"Optional. Content IDs of items that we want to specify during this Domain creation. This will only be used alongside\nCreateNextVersionWithSourcesRequest when CreateNextVersionRequest.Mode == INGEST_SELECTED_CONTENTS. Otherwise,\nthis will be ignored. Each Content record must already exist within the Content Group previously, or else error\nreturned.","items":{"type":"string"},"type":"array"}},"type":"object"},"domainCreateDomainNextVersionWithSourcesRequest":{"properties":{"data":{"$ref":"#/components/schemas/domainKnowledgeDomainEntityWithSources"},"ancestor_knowledge_domain_id":{"description":"Required. An existing knowledge domain subject to this versioning operation.","type":"string"},"mode":{"$ref":"#/components/schemas/CreateDomainNextVersionWithSourcesRequestMode"}},"type":"object"},"domainCreateDomainWithSourcesRequest":{"properties":{"data":{"$ref":"#/components/schemas/domainKnowledgeDomainEntityWithSources"}},"type":"object"},"domainDomainContentGroupRequest":{"properties":{"data":{"$ref":"#/components/schemas/domainContentGroupAssociation"}},"type":"object"},"domainGetDomainContentGroupByContentResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/contentContentGroup"}},"type":"object"},"domainGetDomainContentGroupResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/domainContentGroupAssociation"}},"type":"object"},"domainKnowledgeDomainEntityWithSources":{"description":"The top-level message sent by the client for the CreateDomainWithSources method.","properties":{"knowledge_domain_id":{"description":"Optional. When specified, it must be a UUID that is unique in the system. When not specified, a UUID will be generated.","type":"string"},"display_name":{"description":"Required. Friendly display name of this KD.","type":"string"},"description":{"description":"Optional. A more elaborate explanation of this KD.","type":"string"},"status":{"$ref":"#/components/schemas/domainKnowledgeDomainEntityStatus"},"sources":{"description":"Required. Before returning, KD create will create a constituent Content Group for each source.\nFor source folders, a Content object will be created for each file found at each source.\nFor source URIs and Google Docs, only one Content will be created with content from the top-level page.","items":{"$ref":"#/components/schemas/domainContentGroupSource"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. Knowledge domain specific key/value pair labels.\nLabels can be used to organize and select subsets of objects.","type":"object"},"team_ids":{"description":"IDs of the teams allowed access to this KD.","items":{"type":"string"},"type":"array"},"solution_id":{"description":"Optional. The licensed solution this collection belongs to. If not provided, the organization's default solution is automatically assigned.","type":"string"}},"type":"object"},"domainListDomainContentGroupItem":{"properties":{"data":{"$ref":"#/components/schemas/domainContentGroupAssociation"},"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"}},"type":"object"},"domainListDomainContentGroupsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"additionalProperties":{"$ref":"#/components/schemas/domainListDomainContentGroupItem"},"title":"collection of Knowledge Domain to Content Group associations where key is content_group_id","type":"object"}},"type":"object"},"domainListDomainsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"additionalProperties":{"$ref":"#/components/schemas/domainListDomainItem"},"description":"Knowledge Domains that match request criteria. Note that the \"status\" field in this list should NOT be considered up-to-date. To get an up-to-date status, GET the individual item.","type":"object"},"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"},"order_by":{"description":"Returned for convenience and clarity - same as order_by in request.","type":"string"}},"type":"object"},"domainListTagsResponse":{"properties":{"tag_types":{"description":"List of unique types and their tags.","items":{"$ref":"#/components/schemas/domainTagType"},"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 knowledge domain 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"},"order_by":{"description":"Returned for convenience and clarity - same as order_by in request.","type":"string"}},"type":"object"},"domainTag":{"properties":{"value":{"description":"Name of the tag.","type":"string"},"count":{"description":"Count representing mentions of the tag over the KD's contents.\nEmpty if `include_counts` was False (default).","format":"uint64","type":"string"}},"type":"object"},"domainTagSourceType":{"default":"TAG_SOURCE_TYPE_UNSPECIFIED","description":" - TAG_SOURCE_TYPE_UNSPECIFIED: Default. No tags can be created with this source.\n - SYSTEM_DEFINED: Tags created by the Pryon Cloud Services system.\n - USER_DEFINED: Tags defined by users if the system and created via user input.\n - QUERY_ATTRIBUTE: Tags associated to a content which can be used to improve Exchange response ranking quality based on the context specified in ExchangeInputOption.\nSee \"documentation about improving ranking quality\" link for more details.","enum":["TAG_SOURCE_TYPE_UNSPECIFIED","SYSTEM_DEFINED","USER_DEFINED","QUERY_ATTRIBUTE"],"type":"string"},"domainTagType":{"properties":{"type_name":{"description":"Name of the type.","type":"string"},"tag_source_type":{"$ref":"#/components/schemas/domainTagSourceType"},"tags":{"description":"Tags found for the type.","items":{"$ref":"#/components/schemas/domainTag"},"type":"array"}},"type":"object"},"domainUpdateDomainContentGroupsContentPermissionRequest":{"properties":{"knowledge_domain_id":{"description":"Required. The identifier of the knowledge domain asscociated with this update method.","type":"string"}},"title":"input to UpdateDomainContentGroupContentPermission","type":"object"},"domainUpdateDomainContentGroupsGroupPermissionRequest":{"properties":{"knowledge_domain_id":{"description":"Required. The identifier of the knowledge domain asscociated with this update method.","type":"string"}},"title":"input to UpdateDomainContentGroupPermission","type":"object"},"domainUpdateDomainRequest":{"properties":{"data":{"$ref":"#/components/schemas/domainKnowledgeDomainEntity"},"update_mask":{"items":{"type":"string"},"title":"The data path corresponding to the field being updated in this request. Only one field can be updated at a time.\nOnly the following fields are updatable:\n data.status\n data.team_ids\n data.display_name\n data.description\nExample mask declaration in JSON format:\n updateMask: \"data.team_ids\"\nNote:\n If no update_mask is supplied, the default update field is data.status. All other fields will be ignored and retain their current value.\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"title":"input to UpdateDomain - empty for now but being added for future additions so as not to break backward compatibility","type":"object"},"CreateWsExchangeRequestAction":{"default":"UNSPECIFIED_ACTION","description":" - UNSPECIFIED_ACTION: UNSPECIFIED_ACTION: This indicates that an action was not specified, as it is the protobuf default. This is never a valid value, and if received, then an ERROR response message will be returned, and the connection will be closed by the server.\n - START: START: signals the intent to begin an exchange. If an existing conversation is being continued, then conversation_id should be set to the value used in previous exchanges.\nIf text input mode is being used, this text-based message must also include the complete input.raw_text.\nIf audio input mode is being used, this text-based message must include valid input.raw_audio.audio_encoding and input.raw_audio.sample_rate_hertz fields. It cannot include input.raw_audio.content, as input audio should be sent in binary messages that follow. If invalid values are requested for audio_encoding and/or sample_rate_hertz, then an ERROR response message will be sent, and the connection will be closed by the server.\nIn both text and audio input modes, a successful start request will be acknowledged by the server with a PROCESSING text message. Frames of audio should be sent by the client as binary messages following receipt of this PROCESSING text message. After all frames of audio have been sent, a STOP message should be sent by the client.\n - STOP: STOP: This message should be sent following the START message. When audio input mode is being used, STOP should be sent by the client after all audio frames have been sent to the server.","enum":["UNSPECIFIED_ACTION","START","STOP"],"type":"string"},"ExchangeInputAdditionalQuestionRequest":{"default":"UNSPECIFIED","description":"Optional. Specifies whether to include related questions in the response.\n\n - UNSPECIFIED: UNSPECIFIED: Default option, none requested\n - RELATED: RELATED: Request only related questions\n - FOLLOWUP: FOLLOWUP: Request only follow-up questions\n - RELATED_AND_FOLLOWUP: RELATED_AND_FOLLOWUP: Request both related and follow-up questions","enum":["UNSPECIFIED","RELATED","FOLLOWUP","RELATED_AND_FOLLOWUP"],"type":"string"},"WsExchangeResponseDataState":{"default":"UNSPECIFIED_STATE","description":" - UNSPECIFIED_STATE: UNSPECIFIED_STATE: Not specified.\n - ERROR: The \"ERROR\" state indicates that an unsupported request has been received or the API server is having problems. The server will always follow an ERROR response by closing the connection.\n - PROCESSING: The \"PROCESSING\" state indicates that the API has successfully received a START request for audio input and is ready to receive binary messages with audio frames followed by a STOP text message from the client. This message will include the conversation_id and exchange_id values that will be preserved all the way through to the end of the exchange.\n - QUERY_RESULT: The \"QUERY_RESULT\" state indicates that the API has returned the exchange response to the client. The result will include the complete text response. If audio output is enabled, it will be sent as binary messages that precede PROCESSING_COMPLETED.\n - PROCESSING_COMPLETED: The \"PROCESSING_COMPLETED\" state indicates that the API has completed sending the full response for an exchange request.","enum":["UNSPECIFIED_STATE","ERROR","PROCESSING","QUERY_RESULT","PROCESSING_COMPLETED"],"type":"string"},"protobufNullValue":{"default":"NULL_VALUE","description":"`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value.","enum":["NULL_VALUE"],"type":"string"},"v1Attachment":{"properties":{"content_type":{"description":"The content type of the additional information. Format of each type field is application/vnd.pryon.**{content_type}**. Commonly occurring types are:\n- **text** - The answer snippet or the text corresponding to detected short spans within the answer_in_context. Best_n will be the same string as the ‘text’ field and represents the ranking of the sentence within the AIC/chunk.\n- **answer_in_context** - Chunk of text identified as most relevant to the input query. The smaller text answer/reply is extracted from this larger text.\n- **answer_type** - Answer type or classification. Answer types include:\n - **TEXT_EXCERPT**: Default.\n - **FAQ**: An answer derived from the frequently asked questions.\n - **OUT_OF_DOMAIN**: A query that is out of domain.\n - **NON_ASCII_OUT_OF_SCOPE**: A query that is out of scope due to non ascii characters.\n - **BELOW_THRESHOLD**: The best answer scored below the minimum specified score.\n - **NO_ANSWER**: No suitably scored answer was found.\n- **answer_approval_id** - Approval ID of matching verified answer - valid UUID v4 string.\n- **score** - An approximation of the strength of the returned answer and answer_in_context chunk, or the float score returned from a model.\n- **level** - Configurable answer confidence levels to categorize outputs.\n- **content_id** - content_id of the knowledge domain content where the answer is located. A client application may use the content API to get more information about the content.\n- **content_display_name** - Display name of the source file that includes the best sentence answer.\n- **content_source_location** - URL of the source content where the answer and chunk are located.\n- **index** - Index into a custom data source.\n- **followup_choice** - Indicates a multiple-choice question is being returned to the user as a reply to their request. Each of the choices will be an attachment with this value.\n- **related_questions** - Questions related to the input question. e.g. key: rq_best_, value: {content_type:application/vnd.pryon.related_questions, content: }, where ix is the index from 1 onwards.\n- **related_questions_score** - Score of a Related Question, e.g. key: rq_score_best_, value: {content_type:application/vnd.pryon.related_questions_score, content: }, where ix is the index from 1 onwards.\n- **followup_questions** - Followup Question to the input question. e.g. key: fq_best_, value: {content_type:application/vnd.pryon.followup_questions, content: }, where ix is the index from 1 onwards.\n- **followup_questions_score** - Followup Question score. e.g. key: fq_score_best_, value: {content_type:application/vnd.pryon.followup_questions_score, content: }.\n- **start_page** - Page number where the answer_in_context or the chunk starts in a PDF.\n- **start_page_bbox** - Bounding box of the entire page on which the answer is found.\n- **end_page** - Page number where the answer_in_context ends in a PDF.\n- **start_char_index** - Index of the first occurrence of the best_sentence or answer substring within the surrounding answer_in_context chunk.\n- **end_char_index** - Index of the last occurrence of the best_sentence or answer substring within the surrounding answer_in_context chunk.\n- **bbox** - Bounding box coordinates returned as a list of four floating point numbers representing the top-left and bottom-right corners of the box for the answer snippet on the source document image.\n- **flag** - Boolean flag with either true or false values.\n- **texttrack_cue** - relative time offset from the beginning of the video associated with the short answer. e.g. key: \"texttrack_cue\", value: {content_type: application/vnd.pryon.texttrack_cue, content: }.","type":"string"},"content":{"description":"The content of the additional information.","type":"string"}},"type":"object"},"v1Context":{"description":"Additional context for this output.","properties":{"augmentation":{"description":"Predefined additional information provided with the source of this output. See \"documentation about augmenting\" link.","properties":{},"type":"object"}},"type":"object"},"v1CreateExchangeRequest":{"description":"The top-level message sent by the client for the CreateExchange method.","properties":{"conversation_id":{"title":"Optional. The conversation_id value returned in the prior CreateExchangeResponse.\nOmitting conversation_id will start a new conversation on the request","type":"string"},"input":{"$ref":"#/components/schemas/v1ExchangeInput"}},"type":"object"},"v1CreateExchangeResponse":{"description":"The only top-level message returned to the client by the \"CreateExchange\" method.","properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ExchangeResponseData"},"user_id":{"title":"The identifier of the user that originally made the exchange","type":"string"},"knowledge_domain_id":{"title":"UUID of the knowledge domain that supplied this exchange response","type":"string"},"collection_id":{"title":"UUID of the knowledge collection that supplied this exchange response","type":"string"}},"type":"object"},"v1CreateWsExchangeRequest":{"description":"The top-level message sent by the client for the CreateWsExchange (WebSocket) method.","properties":{"action":{"$ref":"#/components/schemas/CreateWsExchangeRequestAction"},"exchange_request":{"$ref":"#/components/schemas/v1CreateExchangeRequest"}},"type":"object"},"v1CreateWsExchangeResponse":{"description":"The only top-level message returned to the client by the \"CreateWsExchange\" (WebSocket) method.","properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1WsExchangeResponseData"},"user_id":{"title":"The identifier of the user that originally made the exchange","type":"string"},"knowledge_domain_id":{"title":"UUID of the knowledge domain that supplied this exchange response","type":"string"},"collection_id":{"title":"UUID of the knowledge collection that supplied this exchange response","type":"string"}},"type":"object"},"v1ExchangeAudioInput":{"description":"Optional.","properties":{"audio_encoding":{"$ref":"#/components/schemas/v1ExchangeAudioInputAudioEncoding"},"sample_rate_hertz":{"description":"Sample rate in Hertz of the audio data.\nThe only valid value currently supported is 16000, which must be explicitly stated by the client.","format":"int32","type":"integer"},"content":{"description":"The bytes of audio data encoded as specified in \"audio_encoding\".\nNote: as with all bytes fields, protobuffers use a pure binary representation, whereas JSON representations use base64.","format":"byte","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string"}},"type":"object"},"v1ExchangeAudioInputAudioEncoding":{"default":"UNSPECIFIED_AUDIO_ENCODING","description":"- UNSPECIFIED_AUDIO_ENCODING: UNSPECIFIED_AUDIO_ENCODING: This indicates that an encoding was not specified, as it is the protobuf default. This is never a valid value and if received then an ERROR response message will be returned.\n - LINEAR16: LINEAR16: Uncompressed 16-bit signed little-endian samples (Linear PCM).","enum":["UNSPECIFIED_AUDIO_ENCODING","LINEAR16"],"title":"Audio encoding of the content in the message\nAudio must be one-channel (mono)","type":"string"},"v1ExchangeAudioOutput":{"properties":{"audio_output_id":{"description":"Random UUID generated by the entity creating the audio output resource.","type":"string"},"audio_encoding":{"$ref":"#/components/schemas/v1ExchangeAudioOutputAudioEncoding"},"sample_rate_hertz":{"description":"The sample rate in Hertz of the audio data returned in \"content\".","format":"int32","type":"integer"},"content":{"description":"The bytes of audio data encoded as specified in \"audio_encoding\".\nNote: as with all bytes fields, protobuffers use a pure binary representation, whereas JSON representations use base64.","format":"byte","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string"}},"type":"object"},"v1ExchangeAudioOutputAudioEncoding":{"default":"UNSPECIFIED_AUDIO_ENCODING","description":"- UNSPECIFIED_AUDIO_ENCODING: UNSPECIFIED: Not specified.\n - LINEAR16: LINEAR16: Uncompressed 16-bit signed little-endian samples (Linear PCM).\n - MP3: MP3: MP3 audio encoding. The sample rate is encoded in the payload.","enum":["UNSPECIFIED_AUDIO_ENCODING","LINEAR16","MP3"],"title":"Audio encoding of the content in the message","type":"string"},"v1ExchangeInput":{"description":"The \"input\" message provides input information to the Conversation system\nspecifies the type of input, text or audio.","properties":{"option":{"$ref":"#/components/schemas/v1ExchangeInputOption"},"language_id":{"title":"W3C Language Tags (https://www.w3.org/International/articles/language-tags/)\nDefaults is en-US","type":"string"},"raw_text":{"description":"Required. Input query to be used for retrieval.","type":"string"},"raw_audio":{"$ref":"#/components/schemas/v1ExchangeAudioInput"},"recommended_questions":{"$ref":"#/components/schemas/ExchangeInputAdditionalQuestionRequest"}},"type":"object"},"v1ExchangeInputFilter":{"properties":{"condition":{"description":"Filter conditions are written as strings.\n\nA single comparable condition is written as \n- is the subject category display name you want to filter on.\n If the type string contains non-alphanumeric characters, it must be surrounded by backquotes.\n- is the comparison operator. Only the “=” operator is supported.\n- is the subject term for the filter\n\nYou can combine conditions with AND, OR operators.\n\nFor example,\n(Star = 'Harrison Ford' AND (Creator = 'George Lucas' OR Director = 'Steven Spielberg'))","type":"string"}},"type":"object"},"v1ExchangeInputOption":{"properties":{"audio_output_enabled":{"description":"If set to true, the system will respond with audio output when available. When audio output cannot be generated, successful exchange responses will include only text output. Default is false.","type":"boolean"},"knowledge_domain_id":{"description":"Optional. Version of a collection. If not defined, the active version of the collection is automatically used.\nLocation: The collection overview tab in the Advanced details listed as the Active Domain ID.\nIf both knowledge_domain_id and collection_id are set, the exchange operation will use knowledge_domain_id as the more specific of the two.","type":"string"},"max_outputs":{"description":"Optional. Specifies the number of outputs to be returned (min 3, max 10). Default is 3.","format":"int32","type":"integer"},"collection_id":{"description":"Required. The knowledge collection, or index, that the exchange is performed against.\nLocation: The collection overview tab in the Advanced details.\nThe exchange operation will automatically determine and use the active version of this collection.","type":"string"},"max_sentence_outputs":{"description":"Optional. Specifies the number of answer snippets returned per chunk. The default is 1 and the max is 10.","format":"int32","type":"integer"},"max_concise_outputs":{"description":"If set, specifies the number of concise spans to be returned per top-level output (min 1, max 10). Default is 1.","format":"int32","type":"integer"},"content_group_ids":{"description":"Optional. Specifies the content groups used to return data.\nContent_group_ids can be retrieved via the contents API.","items":{"type":"string"},"type":"array"},"subject_ids":{"description":"Optional. Specifies the subjects used to return data.","items":{"type":"string"},"type":"array"},"filter":{"$ref":"#/components/schemas/v1ExchangeInputFilter"},"context":{"description":"Additional context for this exchange input.\nThe system will use the context to improve response ranking quality perceived by the user who is making the request.","properties":{},"type":"object"}},"type":"object"},"v1ExchangeOutput":{"properties":{"output_id":{"description":"UUID generated by the entity creating the output resource.","type":"string"},"text":{"description":"The answer snippet or reply displayed to the end-user.","type":"string"},"summary_text":{"description":"The exchange reply that is intended to be translated to speech and played as audio for the end-user. This is generally a shorter form equivalent to \"text\" that works better as a spoken reply. If there is no shorter form summarization available, this will be empty, and \"text\" will be synthesized into speech.","type":"string"},"audio":{"$ref":"#/components/schemas/v1ExchangeAudioOutput"},"attachments":{"additionalProperties":{"$ref":"#/components/schemas/v1Attachment"},"description":"The additional information containing the conversation response to the request query, keyed by a UUIDv4 string.","type":"object"},"subject_ids":{"description":"The subjects known to be associated with this output.","items":{"type":"string"},"type":"array"},"context":{"$ref":"#/components/schemas/v1Context"}},"type":"object"},"v1ExchangeResponseData":{"properties":{"exchange_id":{"description":"UUID generated by the entity creating the exchange response data resource.\nThe exchange_id can be used in the \"feedback\" API.","type":"string"},"conversation_id":{"description":"Conversation ID for subsequent calls, which is saved in the client and returned on the next request.","type":"string"},"normalized_input":{"$ref":"#/components/schemas/v1NormalizedExchangeInput"},"output":{"description":"The Exchange result.","items":{"$ref":"#/components/schemas/v1ExchangeOutput"},"type":"array"}},"type":"object"},"v1GetExchangeResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ExchangeResponseData"},"user_id":{"title":"The identifier of the user that originally made the exchange","type":"string"},"knowledge_domain_id":{"description":"UUID of the knowledge domain that supplied the exchange response.","type":"string"},"collection_id":{"description":"UUID of the knowledge collection that supplied the exchange response.","type":"string"}},"type":"object"},"v1NormalizedExchangeInput":{"properties":{"normalized_input_id":{"description":"UUID generated by the entity creating the normalized input resource.","type":"string"},"raw_text":{"description":"The original input query (raw_text).","type":"string"},"understood_text":{"description":"The normalized input query, that is, raw text, which creates the output.","type":"string"},"understood_subject_ids":{"description":"IDs of subjects found in the input that filter the outputs.","items":{"type":"string"},"type":"array"},"suggested_raw_texts":{"description":"Spelling corrections, if any, or other suggestions found for the input query (raw_text).","items":{"type":"string"},"type":"array"}},"type":"object"},"v1WsExchangeResponseData":{"properties":{"state":{"$ref":"#/components/schemas/WsExchangeResponseDataState"},"exchange":{"$ref":"#/components/schemas/v1ExchangeResponseData"},"error":{"$ref":"#/components/schemas/rpcStatus"}},"type":"object"},"v1CreateExchangeEventRequest":{"description":"CreateExchangeEventRequest represents a request to create a new exchange event.","properties":{"input":{"$ref":"#/components/schemas/v1ExchangeInput"},"conversation_context":{"description":"Conversation context: Obtained from the previous response's ExchangeEventSSEData generative_exchange_conversation_data.conversation_context. This is used to enhance the generative response. This context is utilized to improve the generative response. Modifying a conversation context string from previous responses will lead to errors.","type":"string"},"randomness":{"description":"Controls the randomness of the generated text, ranging from 0 to 1. Higher values result in more random text, while lower values produce more focused and deterministic text. The default value is 0, promoting deterministic and repetitive generative text.","format":"float","type":"number"},"max_answer_in_contexts_num":{"description":"Determines the maximum number of ExchangeOutput's answer_in_contexts to be considered when generating a response. The value must be greater than 0. The default value is 3.","format":"int32","type":"integer"},"min_answer_in_contexts_score":{"description":"Sets the minimum score of ExchangeOutput's answer_in_contexts to be considered when generating a response. The value must be between 0 and 1. The default value is 0.55.","format":"float","type":"number"},"answer_in_contexts_beam_delta_cutoff":{"description":"A maximum allowable answer_in_context's score delta from the highest score to be considered when generating a response. The value must be between 0 and 1. The default value is set to 0.1.","format":"float","type":"number"},"verified_answer_score_threshold":{"description":"Threshold of verified answer to be considered as a final answer. The value must be between 0 and 1. The default value is 0.55.","format":"float","type":"number"},"out_of_domain_score_threshold":{"description":"Threshold of best answer score which out of domain message should be returned as a final answer. The value must be between 0 and 1. The default value is 0.55.","format":"float","type":"number"},"out_of_domain_message":{"description":"The message to be used as a final answer when the input query is out of domain.","type":"string"}},"type":"object"},"v1ExchangeEventSSEData":{"description":"Important note: For forward compatibility, the client implementation should ignore states that are not relevant to them.","properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"state":{"$ref":"#/components/schemas/v1ExchangeEventSSEDataState"},"exchange_input_text":{"description":"The user's input text that was processed/interpreted by the large language model. It may or may not equal to the user's input text.\nThis is returned with GENERATIVE_EXCHANGE_INPUT_DELTA and GENERATIVE_EXCHANGE_INPUT_COMPLETE states.","type":"string"},"exchange_response_data":{"$ref":"#/components/schemas/v1ExchangeResponseData"},"generative_exchange_conversation_data":{"$ref":"#/components/schemas/v1GenerativeExchangeConversationData"},"error":{"$ref":"#/components/schemas/rpcStatus"}},"title":"ExchangeEventSSEData represents the data associated with an exchange event using server-sent events (SSE).\nThe events encompass the following:\n- The outcome of LLM's interpretation of a question query\n- The response from LLM to a chit-chat question query\n- The determination of the best answers by domain-specific models\n- The answer provided by LLM based on the given context","type":"object"},"v1ExchangeEventSSEDataState":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: Not specified.\n - GENERATIVE_EXCHANGE_INPUT_DELTA: Required. This is partial data indicating how the large language model interpreted the exchange input query.\n - GENERATIVE_EXCHANGE_INPUT_COMPLETE: Required. The \"GENERATIVE_EXCHANGE_INPUT_COMPLETE\" state indicates that the API has finished sending the full response of how the large language model interpreted the input query.\n - EXCHANGE_RESPONSE_COMPLETE: This is the determination of the best answers by domain-specific models\n - GENERATIVE_EXCHANGE_RESPONSE_DELTA: Required. This is partial data indicating how the large language model interpreted the exchange response.\n - GENERATIVE_EXCHANGE_RESPONSE_COMPLETE: Required. The \"GENERATIVE_EXCHANGE_RESPONSE_COMPLETE\" state indicates that the API has finished sending the full response of how the large language model interpreted the exchange response.\n - ERROR: The \"ERROR\" state indicates that an unsupported request has been received or the API server is having problems. The server will always follow an ERROR response by closing the connection.","enum":["UNSPECIFIED","GENERATIVE_EXCHANGE_INPUT_DELTA","GENERATIVE_EXCHANGE_INPUT_COMPLETE","EXCHANGE_RESPONSE_COMPLETE","GENERATIVE_EXCHANGE_RESPONSE_DELTA","GENERATIVE_EXCHANGE_RESPONSE_COMPLETE","ERROR"],"type":"string"},"v1GenerativeExchangeConversationData":{"properties":{"data":{"$ref":"#/components/schemas/v1GenerativeExchangeResponseData"},"conversation_context":{"description":"A string representing the conversation context. This string should be passed back to the server in the next request and is not intended for direct use by a client.","type":"string"}},"type":"object"},"v1GenerativeExchangeResponseData":{"properties":{"text":{"description":"Required. A string containing the text output of the generative exchange.","type":"string"},"reference":{"description":"Optional. A Reference message containing information about a specific reference made in the text output of the generative exchange, including the start and end indices of the reference in the text, and the index of the exchange output that the reference corresponds to.","items":{"$ref":"#/components/schemas/v1Reference"},"type":"array"},"generative_exchange_id":{"description":"Required. An ID representing the generative_exchange_id associated with this response object generated by the LLM.","type":"string"},"knowledge_domain_id":{"description":"Required. A string representing the ID of the knowledge domain associated with the generative exchange being created.","type":"string"},"exchange_id":{"description":"Optional. An ID representing an extractive exchange_id associated with this response object from sources.","type":"string"},"collection_id":{"description":"Optional. An ID representing the ID of the collection associated with the generative exchange being created.","type":"string"}},"type":"object"},"v1Reference":{"properties":{"text_index_start":{"description":"Required. An integer representing the start index of the reference in the text output of the generative exchange.\nIndexing starts at 1. Value of 0 is inconsequential.","format":"int32","type":"integer"},"text_index_end":{"description":"Required. An integer representing the end index of the reference in the text output of the generative exchange.\nIndexing starts at 1. Value of 0 is inconsequential.","format":"int32","type":"integer"},"exchange_output_index":{"description":"Required. An integer representing the index of the exchange output that the reference corresponds to.\nIndexing starts at 1. Value of 0 is inconsequential.","format":"int32","type":"integer"}},"type":"object"},"ApprovalItemApprovalStatus":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","PENDING_REVIEW","REJECTED","APPROVED"],"title":"- PENDING_REVIEW: PENDING_REVIEW: This approval item is pending review\n - REJECTED: REJECTED: This approval item has been rejected\n - APPROVED: APPROVED: This approval item has been approved","type":"string"},"v1ApprovalItem":{"properties":{"approval_status":{"$ref":"#/components/schemas/ApprovalItemApprovalStatus"},"approval_id":{"description":"Optional. Random UUID generated on a CreateApproval request.","type":"string"},"conv_review_id":{"description":"Optional. Refers to the conversation review UUID for the approved exchange output.","type":"string"},"exchange_id":{"description":"Optional. Refers to the parent exchange that the approved review is a part of.","type":"string"},"knowledge_domain_id":{"description":"Required. Refers to the knowledge domain of the approved review.","type":"string"},"kd_succession_id":{"title":"Optional. Refers to kd_succession_id of the approved review.\nIf kd_succession_id is not passed (first KD in lineage) this is set to the knowledge_domain_id","type":"string"},"input_understood_text":{"description":"Required. Normalized input text of Exchange Question.","type":"string"},"output_text":{"description":"Required. Answer output text displayed to the user.","type":"string"},"approver_id":{"readOnly":true,"title":"Output only. User ID of the Org Administrator who approved the review","type":"string"},"uri":{"description":"Optional. Link to further information.","type":"string"},"uri_display_name":{"description":"Optional. Display name for above link.","type":"string"},"contact_info":{"$ref":"#/components/schemas/v1ContactInfo"},"attachments":{"additionalProperties":{"$ref":"#/components/schemas/v1Attachment"},"description":"Optional. Attachments from the associated exchange output, keyed by a UUIDv4 string.","type":"object"}},"type":"object"},"v1ContactInfo":{"properties":{"contact_name":{"description":"Name of the person to contact.","type":"string"},"contact_email":{"description":"Email of the above person.","type":"string"}},"type":"object"},"v1CreateApprovalRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1ApprovalItem"}},"type":"object"},"v1CreateApprovalResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ApprovalItem"}},"type":"object"},"v1CreateExchangeRatingRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1ExchangeRating"}},"type":"object"},"v1ExchangeRating":{"properties":{"rating_id":{"description":"UUID that uniquely identifies a particular exchange rating. Automatically generated on create.","type":"string"},"exchange_id":{"description":"Required. This is an ExchangeResponseData's exchange_id from Exchange API's response.\nExchangeRatings can only be created for exchanges matching active domains.","type":"string"},"output_id":{"description":"Required. The ID of the output that this feedback is for. Relevant to n-best exchange responses. Defaults to \"best_1\".","type":"string"},"creator_id":{"description":"Output field only, automatically populated. User ID (e.g. email address) that provided this feedback.","type":"string"},"question":{"description":"Output field only, automatically populated. The question that was recorded for the exchange that is being rated.","type":"string"},"rank":{"description":"Required. The rank value given by the user. Range from 1 to 5 with 5 being the most positive rating.","format":"int32","type":"integer"},"message":{"description":"Optional user comment. Provides additional context on the rating. For example, a rating of 5 means \"The answer was on topic and helpful\".","type":"string"},"freeform_text":{"description":"Optional freeform text for feedback provider.","type":"string"}},"type":"object"},"v1ExchangeRatingReview":{"properties":{"rating":{"$ref":"#/components/schemas/v1ExchangeRating"},"collection_id":{"description":"UUID of the knowledge collection from which the exchange being rated came. Automatically populated on create. Immutable.","type":"string"},"knowledge_domain_id":{"description":"UUID of the knowledge domain from which the exchange being rated came. Automatically populated on create. Immutable.","type":"string"},"reviewer_ids":{"description":"Output field only, automatically populated. IDs of the reviewing authorities that viewed/inspected this item.","items":{"type":"string"},"type":"array"},"flagged":{"description":"Reviewing authorities can flag this rating item upon inspection. The exact meaning of flagging is intentionally vague and is left to the API to use as necessary.","type":"boolean"},"approval_id":{"description":"Output field only, automatically populated. The approval item related to this exchange rating. May be empty.","type":"string"},"status":{"$ref":"#/components/schemas/v1ExchangeRatingReviewStatus"}},"title":"Authority perspective of an ExchangeRating","type":"object"},"v1ExchangeRatingReviewStatus":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: Not a valid exchange rating value\n - PENDING: This exchange rating is waiting to be inspected for approval or rejection (default).\n - COMPLETE: This exchange rating has been inspected and acted upon. No further action will be taken.","enum":["UNSPECIFIED","PENDING","COMPLETE"],"type":"string"},"v1GetApprovalResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ApprovalItem"}},"type":"object"},"v1GetExchangeRatingResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ExchangeRating"}},"type":"object"},"v1GetExchangeRatingReviewResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ExchangeRatingReview"}},"type":"object"},"v1ListApprovalItem":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ApprovalItem"}},"type":"object"},"v1ListApprovalsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"Approval Items meeting the list filter/ordering criteria.","items":{"$ref":"#/components/schemas/v1ListApprovalItem"},"type":"array"},"next_page_token":{"description":"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 for details.","type":"string"},"total_size":{"description":"This is the total number of items in the collection across all the pages.\nIt is returned with every page and may change during page traversal.\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for more details.","format":"int32","type":"integer"},"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"},"v1ListExchangeRatingReviewsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1GetExchangeRatingReviewResponse"},"type":"array"},"next_page_token":{"description":"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 for details.","type":"string"},"total_size":{"description":"This is the total number of items in the collection across all the pages matching the given list filter.\nIt is returned with every page and may change during page traversal.\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for more details.","format":"int32","type":"integer"},"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"},"v1UpdateApprovalRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1ApprovalItem"}},"type":"object"},"v1UpdateApprovalResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1ApprovalItem"}},"type":"object"},"v1UpdateExchangeRatingRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1ExchangeRating"},"update_mask":{"items":{"type":"string"},"title":"Required. The data path corresponding to the fields being updated in this request.\nExchange Rating Creator can update the following fields:\n data.rank\n data.message\n data.freeform_text\nExample mask declaration in JSON format:\n updateMask: \"data.freeformText\"\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"type":"object"},"v1UpdateExchangeRatingReviewRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1ExchangeRatingReview"},"update_mask":{"items":{"type":"string"},"title":"Required. The data path corresponding to the fields being updated in this request.\nExchange Rating Reviewer can update the following fields:\n data.flagged\n data.status\nExample mask declaration in JSON format:\n updateMask: \"data.flagged\"\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"type":"object"},"v1CreateGenerativeExchangeRequest":{"properties":{"knowledge_domain_id":{"description":"Required. A string representing the ID of the knowledge domain associated with the generative exchange being created.","type":"string"},"exchange_data":{"$ref":"#/components/schemas/v1ExchangeResponseData"},"randomness":{"description":"Controls the randomness of the generated text, ranging from 0 to 1. Higher values result in more random text, while lower values produce more focused and deterministic text. The default value is 0, promoting deterministic and repetitive generative text.","format":"float","type":"number"},"max_answer_in_contexts_num":{"description":"Determines the maximum number of ExchangeOutput's answer_in_contexts to be considered when generating a response. The default value is 3.","format":"int32","type":"integer"},"min_answer_in_contexts_score":{"description":"Sets the minimum score of ExchangeOutput's answer_in_contexts to be considered when generating a response. The default value is 0.55.","format":"float","type":"number"},"collection_id":{"title":"UUID of the knowledge collection that supplied this exchange response","type":"string"}},"type":"object"},"v1GenerativeExchangeSSEData":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"state":{"$ref":"#/components/schemas/v1GenerativeExchangeSSEDataState"},"data":{"$ref":"#/components/schemas/v1GenerativeExchangeResponseData"},"error":{"$ref":"#/components/schemas/rpcStatus"}},"type":"object"},"v1GenerativeExchangeSSEDataState":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: UNSPECIFIED: Not specified.\n - ERROR: The \"ERROR\" state indicates that an unsupported request has been received or the API server is having problems. The server will always follow an ERROR response by closing the connection.\n - DELTA: The \"DELTA\" state indicates that the API has completed sending a partial response for a generative exchange request.\n - COMPLETE: The \"COMPLETE\" state indicates that the API has completed sending the full response for a generative exchange request.","enum":["UNSPECIFIED","ERROR","DELTA","COMPLETE"],"type":"string"},"v1GetGenerativeExchangeResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1GenerativeExchangeResponseData"}},"type":"object"},"v1CreateGenerativeExchangeRatingRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1GenerativeExchangeRating"}},"type":"object"},"v1GenerativeExchangeRating":{"properties":{"rating_id":{"description":"UUID that uniquely identifies a particular exchange rating. Automatically generated on create.","type":"string"},"generative_exchange_id":{"description":"Required. This is an GenerativeExchangeResponseData's generative_exchange_id from Exchange API's response.\nSpecify type and populate this field. ExchangeRatings can only be created for exchanges matching active domains.","type":"string"},"exchange_id":{"description":"Optional. An ID representing an extractive exchange_id associated with this response object from sources.","type":"string"},"exchange_output_ids":{"description":"Optional. A list of output_ids from extractive output that this generated answer is for.\nRelevant to n-best extractive exchange responses. Defaults to \"best_1\".\nNote: This must exist alongside the generative response, and not be chit-chat, otherwise it will be ignored.","items":{"type":"string"},"type":"array"},"creator_id":{"description":"Output field only, automatically populated. User ID (e.g. email address) that provided this feedback.","type":"string"},"question":{"description":"Output field only, automatically populated. The question that was recorded for the exchange that is being rated.","type":"string"},"rank":{"description":"Required. The rank value given by the user. Range from 1 to 5 with 5 being the most positive rating.","format":"int32","type":"integer"},"message":{"description":"Optional user comment. Provides additional context on the rating. For example, a rating of 5 means \"The answer was on topic and helpful\".","type":"string"},"freeform_text":{"description":"Optional freeform text for feedback provider.","type":"string"}},"type":"object"},"v1GenerativeExchangeRatingReview":{"properties":{"rating":{"$ref":"#/components/schemas/v1GenerativeExchangeRating"},"collection_id":{"description":"UUID of the knowledge collection from which the exchange being rated came. Automatically populated on create. Immutable.","type":"string"},"knowledge_domain_id":{"description":"UUID of the knowledge domain from which the exchange being rated came. Automatically populated on create. Immutable.","type":"string"},"reviewer_ids":{"description":"Output field only, automatically populated. IDs of the reviewing authorities that viewed/inspected this item.","items":{"type":"string"},"type":"array"},"flagged":{"description":"Reviewing authorities can flag this rating item upon inspection. The exact meaning of flagging is intentionally vague and is left to the API to use as necessary.","type":"boolean"},"approval_id":{"description":"Output field only, automatically populated. The approval item related to this exchange rating. May be empty.","type":"string"},"status":{"$ref":"#/components/schemas/v1GenerativeExchangeRatingReviewStatus"}},"title":"Authority perspective of an ExchangeRating","type":"object"},"v1GenerativeExchangeRatingReviewStatus":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: Not a valid exchange rating value\n - PENDING: This exchange rating is waiting to be inspected for approval or rejection (default).\n - COMPLETE: This exchange rating has been inspected and acted upon. No further action will be taken.","enum":["UNSPECIFIED","PENDING","COMPLETE"],"type":"string"},"v1GetGenerativeExchangeRatingResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1GenerativeExchangeRating"}},"type":"object"},"v1GetGenerativeExchangeRatingReviewResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1GenerativeExchangeRatingReview"}},"type":"object"},"v1ListGenerativeExchangeRatingReviewsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1GetGenerativeExchangeRatingReviewResponse"},"type":"array"},"next_page_token":{"description":"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 for details.","type":"string"},"total_size":{"description":"This is the total number of items in the collection across all the pages matching the given list filter.\nIt is returned with every page and may change during page traversal.\nSee https://cloud.google.com/apis/design/design_patterns#list_pagination for more details.","format":"int32","type":"integer"},"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"},"v1UpdateGenerativeExchangeRatingRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1GenerativeExchangeRating"},"update_mask":{"items":{"type":"string"},"title":"Required. The data path corresponding to the fields being updated in this request.\nExchange Rating Reviewer can update the following fields:\n data.flagged\n data.status\nExample mask declaration in JSON format:\n updateMask: \"data.flagged\"\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"type":"object"},"v1UpdateGenerativeExchangeRatingReviewRequest":{"properties":{"data":{"$ref":"#/components/schemas/v1GenerativeExchangeRatingReview"},"update_mask":{"items":{"type":"string"},"title":"Required. The data path corresponding to the fields being updated in this request.\nExchange Rating Reviewer can update the following fields:\n data.flagged\n data.status\nExample mask declaration in JSON format:\n updateMask: \"data.flagged\"\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"type":"object"},"MessageMessageType":{"default":"MESSAGE_TYPE_UNKNOWN","description":" - MESSAGE_TYPE_NOTIFICATION: Messages from Pryon platform.","enum":["MESSAGE_TYPE_UNKNOWN","MESSAGE_TYPE_NOTIFICATION"],"type":"string"},"SystemEventSeverity":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: UNSPECIFIED: Default value that will never be used by the API.\n - LOW: LOW: A scheduled activity will be occurring that is not expected to affect system usage.\n - MEDIUM: MEDIUM: Minor software updates that will not impact overall system functionality but may have temporary performance impacts.\n - HIGH: HIGH: System impacted and partial administrative and system functionality may be temporarily affected.","enum":["UNSPECIFIED","LOW","MEDIUM","HIGH"],"type":"string"},"v1GetMessageResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1Message"}},"type":"object"},"v1GetSystemEventResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1SystemEvent"}},"type":"object"},"v1ListMessagesResponse":{"description":"Ordered by create_time desc (most recent to oldest).","properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1GetMessageResponse"},"type":"array"}},"type":"object"},"v1ListSystemEventsResponse":{"description":"Ordered by create_time desc (most recent to oldest).","properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/v1GetSystemEventResponse"},"type":"array"}},"type":"object"},"v1Message":{"properties":{"message_id":{"description":"Omit for create.","type":"string"},"msg_type":{"$ref":"#/components/schemas/MessageMessageType"},"from":{"description":"User id of sender. Defaulted to 'sys@pryoninc.com' in the MESSAGE_TYPE_NOTIFICATION case.","type":"string"},"recipient":{"description":"User id of the receiving user.","type":"string"},"subject":{"description":"Limit 128 bytes.","type":"string"},"body":{"description":"Limit 4096 bytes.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"title":"Optional. Message key/value pair labels.\nLabels can be used to include additional information relevant to the type of message.\nExpect the following labels by message type:\nMESSAGE_TYPE_NOTIFICATION: collection_display_name, collection_id, knowledge_domain_id, knowledge_domain_status, knowledge_domain_status_reason","type":"object"}},"type":"object"},"v1SystemEvent":{"properties":{"event_id":{"description":"Required. Server assigned identifier for the given system event instance.","type":"string"},"title":{"description":"Required. A brief subject for the associated system event.","type":"string"},"description":{"description":"Optional. A description of this system event.","type":"string"},"notify_time":{"description":"Optional. Message clients may use this property to notify users in advance of upcoming system events.","format":"date-time","type":"string"},"start_time":{"description":"Required. Start time of system event.","format":"date-time","type":"string"},"end_time":{"description":"Required. End time of system event.","format":"date-time","type":"string"},"severity":{"$ref":"#/components/schemas/SystemEventSeverity"}},"type":"object"},"OIDCApplicationGrant":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: UNSPECIFIED: Default value not used to characterize users internally.\n - AUTHORIZATION_CODE: AUTHORIZATION_CODE: An application that uses authorization code flow to identify its human users.\n - CLIENT_CREDENTIALS: CLIENT_CREDENTIALS: A trusted machine application that uses the client credentials flow to identify itself.\n - PKCE: PKCE: Mobile applications and signle page clients. Not currently in use.","enum":["UNSPECIFIED","AUTHORIZATION_CODE","CLIENT_CREDENTIALS","PKCE"],"type":"string"},"UserInfoTeamAssign":{"properties":{"team_id":{"type":"string"},"roles":{"items":{"$ref":"#/components/schemas/orgTeamRole"},"type":"array"}},"type":"object"},"orgAttributeSetting":{"properties":{"name":{"description":"Required. The name of the attribute.","type":"string"},"display_name":{"description":"A user friendly display name of the attribute.\nDefaults to name if not provided.","type":"string"}},"type":"object"},"orgBatchCreateTeamUserRequest":{"properties":{"items":{"description":"The team members to be added to the team.\nMembers specified in a batch that are already present in the system will not be altered.","items":{"$ref":"#/components/schemas/orgTeamUser"},"type":"array"},"team_id":{"title":"The containing team's id","type":"string"}},"type":"object"},"orgBatchCreateUserRequest":{"description":"BatchCreateUserRequest is the payload used for creating multiple users at once within an organization.","properties":{"items":{"items":{"$ref":"#/components/schemas/orgUser"},"type":"array"}},"type":"object"},"orgCreateServiceRequest":{"properties":{"data":{"$ref":"#/components/schemas/orgServiceConnect"}},"type":"object"},"orgCreateTeamRequest":{"properties":{"data":{"$ref":"#/components/schemas/orgTeam"}},"type":"object"},"orgCreateTeamUserRequest":{"properties":{"data":{"$ref":"#/components/schemas/orgTeamUser"},"team_id":{"type":"string"}},"type":"object"},"orgCreateUserRequest":{"description":"CreateUserRequest is the payload used for creating a single user.","properties":{"data":{"$ref":"#/components/schemas/orgUser"}},"type":"object"},"orgGetIdpDiscoveryResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgOIDCInfo"}},"type":"object"},"orgGetIntegrationResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgIntegration"}},"type":"object"},"orgGetOrganizationResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgOrganization"}},"type":"object"},"orgGetServiceResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgService"}},"type":"object"},"orgGetSolutionResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgSolution"}},"type":"object"},"orgGetTeamResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgTeam"}},"type":"object"},"orgGetTeamUserResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgTeamUser"}},"type":"object"},"orgGetUserInfoResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgUserInfo"}},"type":"object"},"orgGetUserResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/orgUser"}},"type":"object"},"orgIdentityProvider":{"description":"Represents an OIDC compatible Identity Provider server.","properties":{"idp_id":{"description":"Required. The idp_id is generated server side from OIDC connect configuration. Ignored on create and immutable after.","type":"string"},"org_id":{"description":"Required. Server assigned.","type":"string"},"email_domains":{"description":"Required. Email domains that can be used to authenticate users belonging to this org (e.g. pryon.com, pryoninc.com).\nProvides disambiguation capabilities between different organizations.","items":{"type":"string"},"type":"array"},"discovery_uri":{"title":"Required. The well-known open id discovery endpoint.\nExample: https://login.pryon.net/.well-known/openid-configuration","type":"string"},"issuer_uri":{"title":"Required. The OAuth2 issuer url.\nExample: https://pryon-dev.auth0.com/","type":"string"},"jwks_uri":{"title":"Required. The OIDC json web key set descriptor url.\nExample: https://dev-767749.okta.com/oauth2/default/v1/keys","type":"string"},"redirect_uri":{"description":"The redirect URI to supply in the OpenID Connect flow.","type":"string"},"scopes":{"description":"The OAuth2 scopes supported in token claims.","items":{"type":"string"},"type":"array"},"disable_auto_create_user":{"title":"”Controls creation of user records on first login. Set to true if valid system users will be added manually at a later time. Defaults to false.”","type":"boolean"}},"type":"object"},"orgIntegration":{"description":"This is a particular available Integration that a user can create Service and ServiceConnect objects around.\nThese should be listed when populating the available connectors in our platform.","properties":{"integration_id":{"description":"Required. The ID associated with this particular integration. This can be an ID generated by a third-party\nsystem, so can vary in length/format.","type":"string"},"description":{"description":"A user-friendly short blurb about the Integration.","type":"string"},"overview":{"description":"Longer text related to this Integration. Should include all the information and caveats for setting\nup this particular service.","type":"string"},"type_name":{"description":"Required. The specific type (e.g. slack, salesforce, etc...) to pass to the integration provider.","type":"string"},"name":{"description":"Required. The display name of the Integration.","type":"string"},"brand_color":{"title":"The grouping color associated with this Integration","type":"string"},"icon_url":{"description":"Required. URL for an icon to be displayed for this universal connector.\nSupports public URL that not require authentication and base64 encoded data URL\nhttps://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs\ndata:image/png;base64,\nSupported mime-type TBD.\nRecommended size TBD.","type":"string"},"bearer_token":{"description":"Required. The bearer token used to connect to this particular integration.","type":"string"},"project_id":{"description":"Required. The id used to connect to this particular integration.","type":"string"}},"type":"object"},"orgListIdentityProviderItem":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"idp":{"$ref":"#/components/schemas/orgIdentityProvider"},"clients":{"items":{"$ref":"#/components/schemas/orgOIDCApplication"},"type":"array"}},"type":"object"},"orgListIdentityProvidersResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/orgListIdentityProviderItem"},"type":"array"}},"type":"object"},"orgListIntegrationsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/orgGetIntegrationResponse"},"type":"array"}},"type":"object"},"orgListServicesResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/orgGetServiceResponse"},"type":"array"}},"type":"object"},"orgListSolutionsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/orgGetSolutionResponse"},"type":"array"},"next_page_token":{"description":"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.","type":"string"},"total_size":{"format":"int32","title":"This is the total number of items in the collection across all the pages. It is computed with the first page request and returned with every subsequent page. The count will not include items that were added or removed after the fist page retrieval.\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"},"orgListTeamUsersResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/orgTeamUser"},"type":"array"}},"type":"object"},"orgListTeamsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/orgTeam"},"type":"array"}},"type":"object"},"orgListUsersRequestType":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: UNSPECIFIED: Default value not used to characterize users internally.\n - HUMAN: HUMAN: A human user identified by a valid email address.\n - MACHINE: MACHINE: A machine user operating without human interaction and identified by its client id.","enum":["UNSPECIFIED","HUMAN","MACHINE"],"type":"string"},"orgListUsersResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"Users that match the filter criteria.","items":{"$ref":"#/components/schemas/orgGetUserResponse"},"type":"array"},"next_page_token":{"description":"Optional. Pagination support if the results are returned in batches.","type":"string"}},"type":"object"},"orgOIDCApplication":{"description":"Represents an OAuth2 client application already known to the Identity Provider server.","properties":{"client_id":{"description":"Required. Client ID of the application.","type":"string"},"org_id":{"description":"Required. Server assigned.","type":"string"},"display_name":{"description":"Required. A frienly name to identify this application with. Will appear as the user's name in list of machine users available to org admins.","type":"string"},"grant_type":{"$ref":"#/components/schemas/OIDCApplicationGrant"},"allow_user_impersonation":{"description":"When true, the app can use the X-Pryon-Authenticated-User header to impersonate a user.\nThe value of the header is an email and the email domain must match one of the Org email_domains.","type":"boolean"}},"type":"object"},"orgOIDCInfo":{"properties":{"client_id":{"description":"Readonly. The OIDC client application the Provider trusts on behalf of user being authenticated.","type":"string"},"discovery_uri":{"description":"Readonly. The IDP url supporting the Client Authentication Flow.","type":"string"},"redirect_uri":{"description":"Readonly. The redirect URI to supply in the OpenID Connect flow.","type":"string"},"scopes":{"description":"Readonly. The scopes supported for authentication.","items":{"type":"string"},"type":"array"}},"type":"object"},"orgOrganization":{"description":"An Organization that is using the Pryon Platform. Organizations have users and identity providers that are used to authenticate the Org users.","properties":{"org_id":{"description":"Required. A valid domain name representing this organization that is unique within this system. Example: \"pryoninc.com\".","type":"string"},"display_name":{"description":"Required. A friendly display name for this Organization.","type":"string"},"status":{"$ref":"#/components/schemas/orgOrganizationStatus"},"default_collection_id":{"description":"Default collection ID for this Organization.\nThis field is ignored by create operations, since a knowledge collection could not exist at that time.\nRemoving the default collection is possible but may trigger errors for end users not targeting a specific collection at exchange time.","type":"string"},"default_solution_id":{"description":"Required. Default solution ID for this Organization. Readonly.\nSolutions contain collection data and are associated with specific licensing terms. Solutions are managed by PRYON_OPERATOR.","type":"string"}},"type":"object"},"orgOrganizationStatus":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: UNSPECIFIED: Default value that will never be used by the API as it is indistinguishable from unspecified state.\n - DISABLED: DISABLED: Organization administratively disabled by a Pryon service operator (e.g. due to security concerns, abuse, billing).\n - PENDING: PENDING: Pending verification by a Pryon service operator before enabling/disabling this organization.\n - ACTIVE: ACTIVE: The Organization is active and in use. For an Organization to be active, it must have both users and identity providers configured.\n - DELETED: DELETED: Organization has been deleted by a Pryon Service Operator.","enum":["UNSPECIFIED","DISABLED","PENDING","ACTIVE","DELETED"],"type":"string"},"orgRole":{"default":"ORG_WORKER","enum":["ORG_WORKER","ORG_ADMIN"],"title":"An authorization role assigned to users","type":"string"},"orgService":{"description":"Represents a third-party service associated with this organization.\nThird-party services are used by the Pryon platform at runtime for various tasks.\nFor example: file and content servers such as box.com, Google Drive, etc.","properties":{"service_id":{"description":"A unique identifier for this service connect.\nRandomly generated uuid by server. Immutable after creation.","type":"string"},"service_name":{"description":"A friendly name for this third-party service.\nRequired for create operations. Can be modified after creation.","type":"string"},"type":{"$ref":"#/components/schemas/orgServiceType"},"authority":{"description":"Authority that this service should be used with.\nFor example, the authority of https://app.box.com/folder/0 is app.box.com.\nRequired. Cannot be modified after creation.","type":"string"},"type_name":{"description":"Required for UNIVERSAL_API type. The type name for this universal connector.","type":"string"},"icon_url":{"description":"Required for UNIVERSAL_API type. URL for an icon to be displayed for this universal connector.\nSupports public URL that not require authentication and base64 encoded data URL\nhttps://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs\ndata:image/png;base64,\nSupported mime-type TBD.\nRecommended size TBD.","type":"string"},"attribute_settings":{"additionalProperties":{"$ref":"#/components/schemas/orgAttributeSetting"},"description":"A map of attribute settings for this universal connector.\nThe key is the AttributeSetting's name.","type":"object"},"service_url":{"title":"Required for UNIVERSAL_API type. This universal connector's endpoint for Pryon's Ingestion to pull the data from this connector.\nThe Pryon platform will use this URL to query this connector.\nFor example, http://int-xyz-connector.svc.cluster.local:8080","type":"string"},"base_url":{"title":"The data source for this universal connector to retrieve the data.\nBase URL for underlying content endpoint.\nFor example, https://api.servicenow.com","type":"string"},"default_query_parameters":{"additionalProperties":{"type":"string"},"title":"Default query parameters for this universal connector to perform content discovery.\nThese parameters be used when listing content from this connector to identify relevant URIs.\nThey can be overwritten by the query parameters specified in the seed uri from ContentGroup.source_location.\nscheme://authority/path?query_key1=query_value1&query_key1=query_value1","type":"object"},"default_header_parameters":{"additionalProperties":{"type":"string"},"description":"Default header parameters for this universal connector to perform content discovery.\nSimilar to default_query_params, but for headers.","type":"object"},"max_pages_size":{"description":"The max pages size to be used when listing content from this universal connector.","format":"int32","type":"integer"},"max_bytes_size":{"description":"The max bytes size to be used when getting content data from this universal connector.","format":"int32","type":"integer"},"max_requests_per_second":{"description":"The max requests/sec to be used when listing content and getting content data from this universal connector.","format":"int32","type":"integer"}},"type":"object"},"orgServiceConnect":{"description":"Represents a third party service with its connection information.","properties":{"service_id":{"description":"A unique identifier for this service connect.\nRandomly generated uuid by server. Immutable after creation.","type":"string"},"service_name":{"description":"A friendly name for this third-party service.\nRequired for create operations. Can be modified after creation.","type":"string"},"type":{"$ref":"#/components/schemas/orgServiceType"},"connect_config":{"description":"The connection information necessary for the Pryon platform to act as a client to this service.\nThis configuration is specific to the kind of service described here and not regulated by this API.\nMay include passwords, keys and certificates information.\nRequired for create operations. Can be modified after creation.","properties":{},"type":"object"},"authority":{"description":"Authority that this service should be used with.\nFor example, the authority of https://app.box.com/folder/0 is app.box.com.\nRequired. Cannot be modified after creation.","type":"string"},"type_name":{"description":"Required for UNIVERSAL_API type. The type name for this universal connector.","type":"string"},"icon_url":{"description":"Required for UNIVERSAL_API type. URL for an icon to be displayed for this universal connector.\nSupports public URL that not require authentication and base64 encoded data URL\nhttps://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs\ndata:image/png;base64,\nSupported mime-type TBD.\nRecommended size TBD.","type":"string"},"attribute_settings":{"additionalProperties":{"$ref":"#/components/schemas/orgAttributeSetting"},"description":"A map of attribute settings for this universal connector.\nThe key is the AttributeSetting's name.","type":"object"},"service_url":{"title":"Required for UNIVERSAL_API type. This universal connector's endpoint for Pryon's Ingestion to pull the data from this connector.\nThe Pryon platform will use this URL to query this connector.\nFor example, http://int-xyz-connector.svc.cluster.local:8080","type":"string"},"service_bearer_token":{"description":"Required for external deployment of for UNIVERSAL_API type.\nPryon's universal connector's endpoint's bearer token for Pryon's Ingestion to pull the data from this connector.","type":"string"},"base_url":{"title":"The data source for this universal connector to retrieve the data.\nBase URL for underlying content endpoint.\nFor example, https://api.servicenow.com","type":"string"},"default_query_parameters":{"additionalProperties":{"type":"string"},"title":"Default query parameters for this universal connector to perform content discovery.\nThese parameters be used when listing content from this connector to identify relevant URIs.\nThey can be overwritten by the query parameters specified in the seed uri from ContentGroup.source_location.\nscheme://authority/path?query_key1=query_value1&query_key1=query_value1","type":"object"},"default_header_parameters":{"additionalProperties":{"type":"string"},"description":"Default header parameters for this universal connector to perform content discovery.\nSimilar to default_query_params, but for headers.","type":"object"},"max_pages_size":{"description":"The max pages size to be used when listing content from this universal connector.","format":"int32","type":"integer"},"max_bytes_size":{"description":"The max bytes size to be used when getting content data from this universal connector.","format":"int32","type":"integer"},"max_requests_per_second":{"description":"The max requests/sec to be used when listing content and getting content data from this universal connector.","format":"int32","type":"integer"}},"type":"object"},"orgServiceType":{"default":"UNSPECIFIED","description":" - UNIVERSAL_API: To be used for any connector that supports Pryon's universal connector api (i.e. /api/connector/v1/connectors/{connector_id}/...).","enum":["UNSPECIFIED","BOX","GDRIVE","SHAREPOINT","ZENDESK","SERVICENOW","S3","CONFLUENCE","SALESFORCE","VIMEO","YOUTUBE","UNIVERSAL_API"],"type":"string"},"orgSolution":{"description":"A solution is an organization sub-division owning its own data and configured with its own licensing and access permissions.","properties":{"solution_id":{"description":"Required. Server assigned and immutable.","type":"string"},"display_name":{"description":"A friendly name for a solution. Please note that the name \"default\" is reserved and cannot be assigned to newly created solutions.","type":"string"},"max_collection_count":{"description":"Required. The maximum number of collections this solution may contain as per licensing agreement.","format":"int32","type":"integer"},"max_collection_size":{"description":"Required. The maximum number of contents allowed for each collection in this solution as per licesing agreement.","format":"int32","type":"integer"},"max_collection_refresh_count":{"description":"Required. The maximum number of refresh operations, including collection creation, per collection per month allowed for this solution.","format":"int32","type":"integer"},"max_admin_seats":{"description":"Required. The maximum number of users with solution adminstrator privileges as per licensing agreement.","format":"int32","type":"integer"},"max_authority_seats":{"description":"Required. The maximum number of users with team authority privileges as per licensing agreement.","format":"int32","type":"integer"},"max_machine_seats":{"description":"Required. The maximum number of machine user accounts allowed to connect access this solution as per licensing agreement.","format":"int32","type":"integer"},"max_exchange_count":{"description":"Required. The maximum number of exchanges per solution per month allowed for this solution.","format":"int32","type":"integer"}},"type":"object"},"orgTeam":{"properties":{"team_id":{"description":"Required.\nA unique identifier for this team in UUID format.\nAssigned by server if not supplied during creation.\nImmutable after creation.","type":"string"},"display_name":{"description":"Required.\nA friendly name assigned to a team.","type":"string"},"description":{"description":"Free text description of a team.","type":"string"}},"type":"object"},"orgTeamUser":{"properties":{"user_id":{"description":"Required.\nMust correspond to a valid Org user capable of logging into the Pryon system\nImmutable after creation.","type":"string"},"roles":{"description":"This is applicable within the containing team only.\nA user may hold different roles across different teams.","items":{"$ref":"#/components/schemas/orgTeamRole"},"type":"array"}},"type":"object"},"orgUpdateServiceRequest":{"properties":{"data":{"$ref":"#/components/schemas/orgServiceConnect"},"update_mask":{"items":{"type":"string"},"title":"Required. A comma separated list of fields being updated in this request.\nThe following fields are updatable:\n data.service_name\n data.connect_config\n data.type_name\n data.icon_url\n data.attribute_settings\n data.service_url\n data.service_bearer_token\n data.base_url\n data.default_query_parameters\n data.default_header_parameters\n data.max_pages_size\n data.max_bytes_size\n data.max_requests_per_second\nExample mask declaration in JSON format:\n updateMask: \"data.service_name\"\nsee https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask","type":"array"}},"type":"object"},"orgUpdateTeamRequest":{"properties":{"data":{"$ref":"#/components/schemas/orgTeam"},"update_mask":{"items":{"type":"string"},"title":"Required.\nThe caller must provide the fields that are changing as part of this update.\nExample field mask when team name is being updated\n update_mask {\n paths: [\"data.name\"]\n },\n}","type":"array"}},"type":"object"},"orgUpdateTeamUserRequest":{"properties":{"data":{"$ref":"#/components/schemas/orgTeamUser"},"team_id":{"title":"The containing team's id","type":"string"},"update_mask":{"items":{"type":"string"},"title":"Required.\nThe caller must provide the fields that are changing as part of this update.\nExample field mask when a team member's roles are being updated\n update_mask {\n paths: [\"data.roles\"]\n },\n}","type":"array"}},"type":"object"},"orgUpdateUserRequest":{"properties":{"data":{"$ref":"#/components/schemas/orgUser"},"update_mask":{"items":{"type":"string"},"title":"Required field.\nThe caller must provide the fields that are changing as part of this\nupdate.\nExample updating of knowledge_collection_id and roles:\nupdate_review_request {\n user {\n default_collection_id: \"my-default-kc-id\",\n roles: [\"ORG_ADMIN\"],\n },\n update_mask {\n paths: [\"user.roles\", \"user.default_collection_id\"]\n },\n}","type":"array"}},"type":"object"},"orgUser":{"description":"A representation of a Pryon Platform User.\nUsers always belong to an Organization and have one or more Roles.","properties":{"user_id":{"description":"Required on create and is immutable after creation.\nA unique identifier for this user within its Organization.\nThe id value is an email address for human users and a client id for machine users. On user create operations email addresses will automatically be converted to lower case, and this value will be reflected in the REST uris for such email identified users.","type":"string"},"status":{"$ref":"#/components/schemas/orgUserStatus"},"roles":{"description":"List of Roles a user can have.\nThis field is required in CreateUserRequest.\nThis field can be modified in UpdateUserRequest.","items":{"$ref":"#/components/schemas/orgRole"},"type":"array"},"default_collection_id":{"description":"Default collection ID for this user\nThis overrides the default collection specified in the users Organization.\nThis property can be updated via UpdateUserRequest. Pass an empty string to unset.","type":"string"},"user_name":{"description":"Optional. The human user's name or a friendly identifier for a machine user.","type":"string"}},"type":"object"},"orgUserInfo":{"description":"Represents a user's identity within the Pryon platform and enables authorization API flows.","properties":{"subject_id":{"description":"Readonly. An email address for human users and a client id for machine/app clients.","type":"string"},"org_id":{"description":"Readonly. The Org the user is registered with.","type":"string"},"roles":{"description":"Readonly. The Pryon authorization roles that have been assigned to this user.","items":{"$ref":"#/components/schemas/orgRole"},"type":"array"},"teams":{"description":"Readonly. The Team assigments this user carries.","items":{"$ref":"#/components/schemas/UserInfoTeamAssign"},"type":"array"},"default_collection_id":{"description":"Readonly. The default collection this user may interact with when no other options are specified. May be empty.","type":"string"},"org_collection_id":{"description":"Readonly. The collection the user is inhering from her org's default. May be emtpy.","type":"string"}},"type":"object"},"orgUserStatus":{"default":"UNSPECIFIED","enum":["UNSPECIFIED","PENDING","DISABLED_BY_ADMIN","DISABLED_BY_SERVICE_OPERATOR","ACTIVE"],"title":"- UNSPECIFIED: UNSPECIFIED: Default value that will never be used by the API as it is indistinguishable from unspecified status.\n - PENDING: PENDING: Waiting to be enabled by an organization admin.\nUseful to organization admins in gradually rolling out Pryon Platform access to organization users (e.g. bulk adding users and then enabling them in batches).\n - DISABLED_BY_ADMIN: DISABLED_BY_ADMIN: Administratively disabled by the organization admin (e.g. due to compromised credentials).\n - DISABLED_BY_SERVICE_OPERATOR: DISABLED_BY_SERVICE_OPERATOR: Disabled by a Pryon Service Operator (e.g. due to abuse).\nOnly a Pryon Service Operator can transition a user into and out of this state.\n - ACTIVE: ACTIVE: The user is in a functionally operational state","type":"string"},"SubjectCategoryEntitySource":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: Unspecified - an important option for filtering use cases when no preference is desired. This is not a valid option when creating a subject category\n - SYSTEM_DEFINED: Category is defined by Pryon Cloud Services system\n - USER_DEFINED: Category is defined by users of the system and created via user input\n - QUERY_ATTRIBUTE: A category associated to a content which can be used to improve Exchange response ranking quality based on the context specified in ExchangeInputOption\nSee \"documentation about improving ranking quality\" link for more details.","enum":["UNSPECIFIED","SYSTEM_DEFINED","USER_DEFINED","QUERY_ATTRIBUTE"],"type":"string"},"SubjectRelationshipTypeEntityDirection":{"default":"UNSPECIFIED","description":" - UNSPECIFIED: Unspecified - an important option for filtering use cases when no preference is desired.\nThis is not a valid option when creating a subject relationship type.\n - UNIDIRECTIONAL: Indicates a one-way relationship from the subject specified by the from_subject_id,\nto the subject specified by the to_subject_id.\n - BIDIRECTIONAL: Indicates a two-way relationship between the subject specified by the from_subject_id,\nand the subject specified by the to_subject_id.","enum":["UNSPECIFIED","UNIDIRECTIONAL","BIDIRECTIONAL"],"type":"string"},"subjectsGetSubjectCategoryResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/subjectsSubjectCategoryEntity"}},"type":"object"},"subjectsGetSubjectRelationshipResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/subjectsSubjectRelationshipEntity"}},"type":"object"},"subjectsGetSubjectRelationshipTypeResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/subjectsSubjectRelationshipTypeEntity"}},"type":"object"},"subjectsListSubjectCategoriesResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"Subject categories that match request criteria.","items":{"$ref":"#/components/schemas/subjectsGetSubjectCategoryResponse"},"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"},"order_by":{"description":"Returned for convenience and clarity - same as order_by in request.","type":"string"}},"type":"object"},"subjectsListSubjectRelationshipTypesResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"Subject Relationship Types that match request criteria.","items":{"$ref":"#/components/schemas/subjectsGetSubjectRelationshipTypeResponse"},"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"},"order_by":{"description":"Returned for convenience and clarity - same as order_by in request.","type":"string"}},"type":"object"},"subjectsListSubjectRelationshipsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"description":"Subject Relationships that match request criteria.","items":{"$ref":"#/components/schemas/subjectsGetSubjectRelationshipResponse"},"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"},"order_by":{"description":"Returned for convenience and clarity - same as order_by in request.","type":"string"}},"type":"object"},"subjectsSubjectCategoryEntity":{"properties":{"subject_category_id":{"description":"Required.","type":"string"},"display_name":{"description":"Required. Short name of the subject category.","type":"string"},"description":{"description":"Required. Wordy explanation of the subject category.","type":"string"},"source":{"$ref":"#/components/schemas/SubjectCategoryEntitySource"},"exclusion":{"description":"When users specify input context, contents that match an exclusion category will be ranked lower than contents that match an inclusion category. Default is false (i.e. inclusion).","type":"boolean"}},"title":"A subject category","type":"object"},"subjectsSubjectRelationshipEntity":{"description":"A directed edge from one subject entity to another subject entity.","properties":{"subject_relationship_id":{"description":"Required.","type":"string"},"relationship_type_id":{"description":"Required. Type of relationship e.g. synonym, acronym, misspelling, parent, child, etc.\nThis also determines if relationship is uni- or bi-directional.","type":"string"},"from_subject_id":{"description":"Required. Unique ID of the subject which link is being directed from.","type":"string"},"to_subject_id":{"description":"Required. Unique ID of the subject to which link is being directed.","type":"string"},"strength":{"description":"Required. The strength of the link - can also be thought of as edge weight.","format":"float","type":"number"}},"type":"object"},"subjectsSubjectRelationshipTypeEntity":{"description":"Description of subject relationship type.","properties":{"relationship_type_id":{"description":"Required.","type":"string"},"display_name":{"description":"Required. Short name of the type of subject link/relationship.","type":"string"},"description":{"description":"Required. Wordy explanation.","type":"string"},"direction":{"$ref":"#/components/schemas/SubjectRelationshipTypeEntityDirection"}},"type":"object"},"testAnswerPropertyChange":{"properties":{"base_value":{"title":"The answer property as returned by the base collection","type":"string"},"draft_value":{"title":"The answer property as returned by the draft domain","type":"string"}},"type":"object"},"testCreateTestQuestionRequest":{"properties":{"data":{"$ref":"#/components/schemas/testTestQuestion"}},"type":"object"},"testCreateTestRequest":{"properties":{"data":{"$ref":"#/components/schemas/testTest"}},"type":"object"},"testGetTestQuestionResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/testTestQuestion"}},"type":"object"},"testGetTestResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/testTest"}},"type":"object"},"testGetTestResultResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/testTestResult"}},"type":"object"},"testListTestQuestionsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/testGetTestQuestionResponse"},"type":"array"},"next_page_token":{"description":"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.","type":"string"},"total_size":{"format":"int32","title":"This is the total number of items matching query criteria across all the pages. It is computed with the first page request and returned with every subsequent page. The count will not include items that were added or removed after the fist page retrieval.\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"},"testListTestResultsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/testGetTestResultResponse"},"type":"array"},"next_page_token":{"description":"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.","type":"string"},"total_size":{"format":"int32","title":"This is the total number of items in the collection across all the pages. It is computed with the first page request and returned with every subsequent page. The count will not include items that were added or removed after the fist page retrieval.\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"},"testListTestsResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1CollectionMetadata"},"items":{"items":{"$ref":"#/components/schemas/testGetTestResponse"},"type":"array"}},"type":"object"},"testTest":{"properties":{"test_id":{"description":"Required. Server assigned and immutable after creation.","type":"string"},"base_collection_id":{"description":"Required. An existing collection configured with a set of test questions to execute.","type":"string"},"draft_domain_id":{"description":"Required. An incumbent knowledge domain to be tested against the known collection id above.","type":"string"},"name":{"description":"A human friendly test name.","type":"string"}},"type":"object"},"testTestQuestion":{"properties":{"collection_id":{"description":"Required. Immutable after question creation. Must match an existing collection id.","type":"string"},"question_id":{"description":"Required. Server assigned and immutable.","type":"string"},"text":{"description":"Required. Immutable after question creation.","type":"string"}},"type":"object"},"testTestResult":{"properties":{"test_id":{"description":"Required. Server assigned.","type":"string"},"question_id":{"description":"Required. Server assigned.","type":"string"},"base_exchange_id":{"description":"Required. Server assigned.","type":"string"},"draft_exchange_id":{"description":"Required. Server assigned.","type":"string"},"confidence_level":{"$ref":"#/components/schemas/testAnswerPropertyChange"},"response_text":{"$ref":"#/components/schemas/testAnswerPropertyChange"},"answer_in_context":{"$ref":"#/components/schemas/testAnswerPropertyChange"},"source_location":{"$ref":"#/components/schemas/testAnswerPropertyChange"},"out_of_domain":{"$ref":"#/components/schemas/testAnswerPropertyChange"},"verified_answer":{"$ref":"#/components/schemas/testAnswerPropertyChange"}},"type":"object"},"v1AudioEncoding":{"default":"UNSPECIFIED_AUDIO_ENCODING","enum":["UNSPECIFIED_AUDIO_ENCODING","MP3"],"type":"string"},"v1CreateSynthesisRequest":{"properties":{"source_text":{"description":"Required. Either plain text or SSML input to be synthesized.","type":"string"},"options":{"$ref":"#/components/schemas/v1SynthesisOption"},"conversation_id":{"description":"Required. Specify a valid conversation_id for the authenticated user of the synthesis service.","type":"string"}},"type":"object"},"v1CreateSynthesisResponse":{"properties":{"metadata":{"$ref":"#/components/schemas/v1ResourceMetadata"},"data":{"$ref":"#/components/schemas/v1SynthesisResponseData"}},"type":"object"},"v1SynthesisOption":{"properties":{"audio_encoding":{"$ref":"#/components/schemas/v1AudioEncoding"}},"type":"object"},"v1SynthesisResponseData":{"properties":{"audio":{"description":"The audio byte stream encoded as specified in the request.","format":"byte","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string"},"audio_encoding":{"$ref":"#/components/schemas/v1AudioEncoding"}},"type":"object"}}},"x-original-swagger-version":"2.0","x-tagGroups":[{"name":"Retrieval","tags":["Exchange","ExchangeEvent","Feedback","GenerativeExchange","GenerativeFeedback","TextToSpeech"]},{"name":"Reporting","tags":["Analytics","Reports","Usage"]},{"name":"Collection Management","tags":["KnowledgeCollectionService","KnowledgeDomain","ContentService","RegressionTest","Subjects"]},{"name":"Organization Management","tags":["ConnectorServiceExternal","OrganizationService","Messages"]},{"name":"Ops Console","tags":["Operations"]}]}