Pryon Content Service API
The ContentService API from Pryon — 13 operation(s) for contentservice.
The ContentService API from Pryon — 13 operation(s) for contentservice.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pryon-contentservice-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Pryon Content Service API
version: '1.0'
x-refined-note:
- x-logo differs across the merged source definitions and was not carried
description: 'Operations tagged ContentService across 3 of this provider''s published API definitions: pryon-admin-openapi.json, pryon-contentservice-api-openapi.yml, pryon-getcontentimage-swagger-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.pryon.net
description: Pryon Cloud
- url: /
tags:
- name: ContentService
paths:
/api/knowledge/v1/content-groups:
get:
operationId: ContentService_ListContentGroups
parameters:
- description: 'Optional: ID for Knowledge Domain under which to search for ContentGroups.'
in: query
name: knowledge_domain_id
schema:
type: string
- description: 'Optional: ID for Content which is contained by matching Content Groups.'
in: query
name: content_id
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentListContentGroupsResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: ListContentGroups
tags:
- ContentService
description: Get a list of all the Content Groups. The filters supported are knowledge_domain_id and content_id
post:
operationId: ContentService_CreateContentGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/contentCreateContentGroupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetContentGroupResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: CreateContentGroup
tags:
- ContentService
x-codegen-request-body-name: body
description: CRD methods for a ContentGroup
parameters:
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/content-groups/{content_group_id}:
delete:
operationId: ContentService_DeleteContentGroup
parameters:
- description: ID of ContentGroup to delete
in: path
name: content_group_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
type: object
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: DeleteContentGroup
tags:
- ContentService
description: Delete a Content Group and all its associations with Contents. This will not alter the Content resources. This request will be rejected if the Content Group is a member of any Knowledge Domain.
get:
operationId: ContentService_GetContentGroup
parameters:
- description: ID of ContentGroup to return
in: path
name: content_group_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetContentGroupResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: GetContentGroup
tags:
- ContentService
description: Get a Content Group by id
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/content-groups/{content_group_id}/contents:
delete:
operationId: ContentService_DeleteContentGroupContents
parameters:
- description: ID of ContentGroup to return
in: path
name: content_group_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
type: object
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: DeleteContentGroupContents
tags:
- ContentService
description: Delete all child Content associations with the parent Content Group. The Content resources are not altered.
get:
operationId: ContentService_ListContentGroupContents
parameters:
- description: 'Required: id of a valid Content Group from /api/knowledge/v1/content-groups'
in: path
name: content_group_id
required: true
schema:
type: string
- description: 'The default page size is 500, which is also the maximum page size. The REST query parameter is "page_size". If page size is the default, this param can be omitted; otherwise, it must be specified on every page request.
see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
in: query
name: page_size
schema:
format: int32
type: integer
- description: 'If there are multiple pages, any pages after the first must specify this parameter using the value of next_page_token provided in the previous page''s response. The REST query parameter is "page_token".
see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
in: query
name: page_token
schema:
type: string
- description: 'Optional: if caller only needs the item ID''s then set this to true.'
in: query
name: return_only_id
schema:
type: boolean
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentListContentGroupContentsResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: ListContentGroupContents
tags:
- ContentService
description: List Content Group Contents, by content_group_id
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/content-groups/{content_group_id}/contents/{content_id}:
delete:
operationId: ContentService_DeleteContentGroupContent
parameters:
- description: 'Required: ID of the ContentGroup'
in: path
name: content_group_id
required: true
schema:
type: string
- description: 'Required: ID of the Content'
in: path
name: content_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
type: object
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: DeleteContentGroupContent
tags:
- ContentService
description: Delete Content association with the parent Content Group. The Content resource is not altered.
get:
operationId: ContentService_GetContentGroupContent
parameters:
- description: 'Required: ID of the ContentGroup'
in: path
name: content_group_id
required: true
schema:
type: string
- description: 'Required: ID of the Content'
in: path
name: content_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetContentGroupContentResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: GetContentGroupContent
tags:
- ContentService
description: Get Content Group Content, by content_id
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/content-groups/{content_group_id}:cascade:
delete:
operationId: ContentService_CascadeDeleteContentGroup
parameters:
- description: ID of ContentGroup to delete
in: path
name: content_group_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
type: object
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: CascadeDeleteContentGroup
tags:
- ContentService
description: Delete Content Group and all its associations with Contents. This will not alter the Content resources. This request will remove the Content Group from any Knowledge Domains it is member of.
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/content-groups/{data.content_group_id}:
patch:
operationId: ContentService_UpdateContentGroup
parameters:
- description: 'Required: ID of this entity'
in: path
name: data.content_group_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/contentUpdateContentGroupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetContentGroupResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: UpdateContentGroup
tags:
- ContentService
x-codegen-request-body-name: body
description: Update a Content Group. This can only currently be used to update the display_name field.
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/content-groups/{data.content_group_id}/contents/{data.content_id}:
post:
operationId: ContentService_CreateContentGroupContent
parameters:
- description: 'Required: ID of the ContentGroup'
in: path
name: data.content_group_id
required: true
schema:
type: string
- description: 'Required: ID of the Content'
in: path
name: data.content_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/contentContentGroupContentRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetContentGroupContentResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: CreateContentGroupContent
tags:
- ContentService
x-codegen-request-body-name: body
description: CRD methods for ContentGroupContent, a join of a ContentGroup with Content
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/contents:
get:
operationId: ContentService_ListContents
parameters:
- description: 'Optional: ID for KnowledgeDomain to filter search. The REST query parameter is "knowledge_domain_id".'
in: query
name: knowledge_domain_id
schema:
type: string
- description: 'Optional: ID for ContentGroup to filter search. The REST query parameter is "content_group_id".'
in: query
name: content_group_id
schema:
type: string
- description: 'Optional: SourceLocation string to filter search. The REST query parameter is "source_location".'
in: query
name: source_location
schema:
type: string
- description: 'The default page size is 500, which is also the maximum page size. The REST query parameter is "page_size". If page size is default, this param can be omitted; otherwise it must be specified on every page request.
see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
in: query
name: page_size
schema:
format: int32
type: integer
- description: 'If there are multiple pages, pages 2-N must specify this parameter using the value of next_page_token provided in the previous page''s response. The REST query parameter is "page_token".
see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
in: query
name: page_token
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentListContentsResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: ListContents
tags:
- ContentService
description: Get the list of Contents associated with a Knowledge Domain
post:
operationId: ContentService_CreateContent
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/contentCreateContentRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetContentResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: CreateContent
tags:
- ContentService
x-codegen-request-body-name: body
description: CRD methods for Contents
parameters:
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/contents/{content_id}:
delete:
operationId: ContentService_DeleteContent
parameters:
- description: Required ID of Content to delete
in: path
name: content_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
type: object
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: DeleteContent
tags:
- ContentService
description: Delete the Content and all its constituent child resources. This request will be rejected if Content is a member of any Content Groups.
get:
operationId: ContentService_GetContent
parameters:
- description: 'Required: ID of Content to return'
in: path
name: content_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetContentResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
tags:
- ContentService
summary: GetContent
description: ''
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/contents/{content_id}/image:
get:
operationId: ContentService_GetContentImage
parameters:
- description: 'Required: ID of Content (e.g. application/vnd.pryon.content.id attachment from Exchange API)'
in: path
name: content_id
required: true
schema:
type: string
- description: 'Required: The page number within the content_id (e.g. application/vnd.pryon.start_page attachment from Exchange API).'
in: query
name: page
schema:
format: int32
type: integer
- description: 'Optional: A value of true indicates the image data should not be compressed (Default is compressed).'
in: query
name: uncompressed
schema:
type: boolean
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
type: object
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: GetContentImage
tags:
- ContentService
description: 'This is an EXPERIMENTAL REST API to get an image representation of the content
The HTTP GET returns bytes data of image/jpeg Content-Type.
Query parameters:
page - Required. A page number within the content_id (e.g. application/vnd.pryon.start_page attachment from Exchange API)
uncompressed - Optional. A value of 1 indicates the image data should not be compressed. Default value is 0 (compressed). If compressed image data is not found, the API will return uncompressed image data.'
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/contents/{content_id}/subjects:
get:
operationId: ContentService_ListContentSubjects
parameters:
- description: Content that subject must be found in
in: path
name: content_id
required: true
schema:
type: string
- description: 'The default page size is 100, which is also the maximum page size. The REST query parameter is "page_size". If page size is default, this param can be omitted; otherwise it must be specified on every page request.
see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
in: query
name: page_size
schema:
format: int32
type: integer
- description: 'If there are multiple pages, any pages after the first must specify this parameter using the value of next_page_token provided in the previous page''s response. The REST query parameter is "page_token".
see https://cloud.google.com/apis/design/design_patterns#list_pagination.'
in: query
name: page_token
schema:
type: string
- description: 'If there are multiple pages, a sort order can be used and is applicable to the pages but not to the items in a page. If this parameter is provided on a multi-page request, it must be provided on all subsequent page requests. Supported options are: "reference_count desc" (default) and "reference_count asc".
see https://cloud.google.com/apis/design/design_patterns#sorting_order.'
in: query
name: order_by
schema:
type: string
- description: If specified, the list will be filtered to subjects of the specified category.
in: query
name: subject_category_id
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/subjectsListSubjectsResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: ListContentSubjects
tags:
- ContentService
description: List subjects associated with a content item
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/contents/{content_id}/summary:
get:
operationId: ContentService_GetSummary
parameters:
- description: 'Required: ID of the content whose summary should be returned'
in: path
name: content_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/contentGetSummaryResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: GetSummary
tags:
- ContentService
description: Get summary associated with a Content ID
servers:
- url: https://api.pryon.net
description: Pryon Cloud
/api/knowledge/v1/contents/{content_id}:cascade:
delete:
operationId: ContentService_CascadeDeleteContent
parameters:
- description: Required ID of Content to delete
in: path
name: content_id
required: true
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
type: object
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/googlerpcStatus'
description: An unexpected error response.
summary: CascadeDeleteContent
tags:
- ContentService
description: Delete the Content and all its constituent child resources. This will also remove the Content from all Content Groups it is a member of - this has the effect of removing it from the relevant Knowledge Domains as well.
servers:
- url: https://api.pryon.net
description: Pryon Cloud
components:
schemas:
subjectsListSubjectsResponse:
properties:
metadata:
$ref: '#/components/schemas/v1CollectionMetadata'
items:
description: Subjects that match request criteria.
items:
$ref: '#/components/schemas/subjectsGetSubjectResponse'
type: array
next_page_token:
title: 'If there are multiple pages, this will be returned and must be specified in each request for pages 2-N using the "page_token" query param. However, the only reliable way to know if more pages exist is to request the next page when a full page of items is returned.
see https://cloud.google.com/apis/design/design_patterns#list_pagination'
type: string
page_size:
description: Returned for convenience and clarity - same as page_size in request.
format: int32
type: integer
order_by:
description: Returned for convenience and clarity - same as order_by in request.
type: string
type: object
contentListContentsResponse:
properties:
metadata:
$ref: '#/components/schemas/v1CollectionMetadata'
items:
items:
$ref: '#/components/schemas/contentListContentItem'
title: Array of Contents that match the request
type: array
next_page_token:
title: 'If there are multiple pages, this will be returned and must be specified in each request for pages 2-N using the "page_token" query param. However, the only reliable way to know if more pages exist is to request the next page when a full page of items is returned.
see https://cloud.google.com/apis/design/design_patterns#list_pagination'
type: string
page_size:
description: Returned for convenience and clarity - same as page_size in request.
format: int32
type: integer
type: object
contentSummaryItem:
properties:
text:
type: string
html:
type: string
type: object
subjectsSubjectEntity:
properties:
subject_id:
title: hash of subject_category_id and term
type: string
term:
description: Required. A case-insensitive natural language term that represents the subject.
type: string
subject_category_id:
title: Required. Subject category
type: string
definition:
description: Optional. Natural language definition of the subject. This is provided by an expert.
type: string
reference_count:
format: uint64
title: "!Deprecation Warning!: This field will no longer be kept up to date and must be considered inaccurate. To view subject reference counts \nplease see ListDomainSubjects.\nOptional. Number of references to the subject found in the content. This is provided if known and will otherwise be zero.\nReference count at different levels:\nContent - occurrences in content (0 for Prior Knowledge content subjects)\nContent Group - occurrences in all contents in CG\nKnowledge Domain - occurrences in all contents in KD"
type: string
content_count:
format: uint64
title: 'Optional. The number of contents that refer to the subject. This is provided if known and will otherwise be zero.
Content - 1
Content Group - count of all contents it occurs in, in the CG
Knowledge Domain - count of all contents it occurs in, in the KD'
type: string
title: A subject is an unique tuple of term and category
type: object
contentGetContentGroupContentResponse:
properties:
metadata:
$ref: '#/components/schemas/v1ResourceMetadata'
data:
$ref: '#/components/schemas/contentContentGroupContent'
type: object
contentListContentGroupContentsResponse:
properties:
metadata:
$ref: '#/components/schemas/v1CollectionMetadata'
items:
items:
$ref: '#/components/schemas/contentListContentGroupContentItem'
title: Map of all ContentGroup Content joins that match the request, keyed off of content_id
type: array
next_page_token:
title: 'If there are multiple pages, this will be returned and must be specified in each request for pages 2-N using the "page_token" query param. However, the only reliable way to know if more pages exist is to request the next page when a full page of items is returned.
see https://cloud.google.com/apis/design/design_patterns#list_pagination'
type: string
total_size:
format: int32
title: 'This is the total number of items in the collection across all the pages. It is returned with every page and may change during page traversal.
see https://cloud.google.com/apis/design/design_patterns#list_pagination'
type: integer
page_size:
description: Returned for convenience and clarity - same as page_size in request.
format: int32
type: integer
type: object
contentListContentGroupsResponse:
properties:
metadata:
$ref: '#/components/schemas/v1CollectionMetadata'
items:
additionalProperties:
$ref:
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pryon/refs/heads/main/openapi/pryon-contentservice-api-openapi.yml