UpGuard trust_exchange API
The trust_exchange API from UpGuard — 15 operation(s) for trust_exchange.
The trust_exchange API from UpGuard — 15 operation(s) for trust_exchange.
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/upguard-trust-exchange-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
description: 'Access information from the CyberRisk platform programmatically using this API.
You can find or generate an API key to access this API in your CyberRisk Account Settings.
Please authorize all requests by setting the "Authorization" header to your api key.
The base url for all public endpoints is https://cyber-risk.upguard.com/api/public'
title: UpGuard CyberRisk breaches Trust Exchange API
version: 1.13.2
servers:
- url: https://cyber-risk.upguard.com/api/public
security:
- API key in header: []
tags:
- name: trust_exchange
paths:
/trust_exchange/content_library/document:
get:
description: 'Returns a single document from the organization''s content library by UUID.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Get content library document
operationId: getContentLibraryDocument
parameters:
- description: The UUID of the document.
name: uuid
in: query
required: true
schema:
type: string
responses:
'200':
description: A single content library document.
content:
application/json:
schema:
$ref: '#/components/schemas/contentLibraryDocument'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
post:
description: 'Creates a new document in the organization''s content library via multipart file upload.
Required API key permissions: `TrustExchange` and `ReadWrite` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Create content library document
operationId: createContentLibraryDocument
parameters:
- description: The name of the document.
name: document_name
in: query
required: true
schema:
type: string
maxLength: 500
minLength: 2
- description: 'The document type (e.g. SOC 2 Report, ISO 27001, etc.).
This must match an exist document type available for your organization.'
name: document_type
in: query
required: true
schema:
type: string
maxLength: 1000
minLength: 2
- description: A description of the document.
name: document_description
in: query
schema:
type: string
maxLength: 5000
- description: 'Set whether this document should be accessible without access requests if it is added to a published trust page.
Leave this param unset to use your organization''s default access protection setting.'
name: public_trust_page_access
in: query
schema:
type: string
responses:
'200':
description: A single content library document.
content:
application/json:
schema:
$ref: '#/components/schemas/contentLibraryDocument'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
description: The file to upload.
format: binary
required:
- file
/trust_exchange/content_library/document/archive:
post:
description: 'Archives or unarchives a document in the organization''s content library. If the document is
included in any trust pages, it will be removed from those trust pages before being archived.
Required API key permissions: `TrustExchange` and `ReadWrite` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Archive content library document
operationId: archiveContentLibraryDocument
parameters:
- description: The UUID of the document to archive or unarchive.
name: uuid
in: query
required: true
schema:
type: string
- description: Set to true to archive the document, or false to unarchive it.
name: set_archived
in: query
required: true
schema:
type: boolean
responses:
'204':
description: ''
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/content_library/document/delete:
post:
description: 'Deletes a document from the organization''s content library.
The document must not be in use by any questionnaires or trust pages.
Required API key permissions: `TrustExchange` and `ReadWrite` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Delete content library document
operationId: deleteContentLibraryDocument
parameters:
- description: The UUID of the document.
name: uuid
in: query
required: true
schema:
type: string
responses:
'204':
description: ''
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/content_library/document/download_version:
get:
description: 'Downloads the file content of a specific version (or the latest version) of a content library document.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Download content library document version
operationId: downloadContentLibraryDocument
parameters:
- description: The UUID of the document.
name: uuid
in: query
required: true
schema:
type: string
- description: The version number to download. If omitted, the latest version is returned.
name: version
in: query
schema:
type: integer
format: int64
responses:
'200':
description: Binary file response
headers:
Content-Disposition:
description: 'in: header
name: Content-Disposition'
schema:
type: string
Content-Type:
description: 'in: header
name: Content-Type'
schema:
type: string
content:
application/octet-stream:
schema: {}
'403':
description: Account does not have access to requested entities
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/content_library/document/history:
get:
description: 'Returns the history of changes for a content library document.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Get content library document history
operationId: getContentLibraryDocumentHistory
parameters:
- description: The UUID of the document.
name: uuid
in: query
required: true
schema:
type: string
- example: 100
description: 'The number of results to return per page.
Valid values range from 1 to 100.
Defaults to 50 if not specified.'
name: page_size
in: query
schema:
type: integer
format: int64
- example: eyJ2IjoxMDAsImUiOjE3MDAwMDAwMDAsImgiOiJhYmMxMjMifQ==
description: 'Token to retrieve a specific page of results.
Omit to retrieve the first page.
Use the `next_page_token` from the previous response to get the next page.'
name: page_token
in: query
schema:
type: string
responses:
'200':
description: Content library document history response.
content:
application/json:
schema:
$ref: '#/components/schemas/contentLibraryDocumentHistoryResponse'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/content_library/document/list:
get:
description: 'Returns a paginated list of documents in the organization''s content library.
Results are paginated. Use the `page_size` parameter to control how many results are returned per page.
Use the `next_page_token` from the response to retrieve subsequent pages.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: List content library documents
operationId: listContentLibraryDocuments
parameters:
- example: 10
description: 'The number of results to return per page.
Valid values range from 1 to 100.
Defaults to 10 if not specified.'
name: page_size
in: query
schema:
type: integer
format: int64
- example: eyJ2IjoxMDAsImUiOjE3MDAwMDAwMDAsImgiOiJhYmMxMjMifQ==
description: 'Token to retrieve a specific page of results.
Omit to retrieve the first page.
Use the `next_page_token` from the previous response to get the next page.'
name: page_token
in: query
schema:
type: string
- example: SOC
description: Filter documents by name (substring match, case-insensitive).
name: filter_name
in: query
schema:
type: string
- example: SOC 2 Report
description: Filter documents by document type names (set this param multiple times to specify multiple types).
name: filter_document_types
in: query
style: form
explode: true
schema:
type: array
items:
type: string
- example: true
description: Filter to only documents added to any trust center.
name: filter_added_to_any_trust_center
in: query
schema:
type: boolean
- example: false
description: Set to true to retrieve archived documents. By default, only non-archived documents are returned.
name: archived
in: query
schema:
type: boolean
responses:
'200':
description: List of content library documents.
content:
application/json:
schema:
$ref: '#/components/schemas/contentLibraryDocumentListResponse'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/content_library/document/update:
post:
description: 'Updates the properties of a document in the organization''s content library.
Only fields that are provided in the request body are updated; omitted fields are left unchanged.
Required API key permissions: `TrustExchange` and `ReadWrite` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Update content library document
operationId: updateContentLibraryDocument
responses:
'204':
description: ''
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateContentLibraryDocumentBody'
/trust_exchange/content_library/document/upload_version:
post:
description: 'Uploads a new version of an existing document in the organization''s content library via multipart file upload.
Required API key permissions: `TrustExchange` and `ReadWrite` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Upload new version of content library document
operationId: uploadVersionContentLibraryDocument
parameters:
- description: The UUID of the document to upload a new version for.
name: uuid
in: query
required: true
schema:
type: string
responses:
'204':
description: ''
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
description: The new version file to upload.
format: binary
required:
- file
/trust_exchange/content_library/type/list:
get:
description: 'Returns a list of document types available for the organization''s content library.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: List content library document types
operationId: getContentLibraryTypes
responses:
'200':
description: List of content library document types.
content:
application/json:
schema:
$ref: '#/components/schemas/getContentLibraryTypesResponse'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/questionnaire/list:
get:
description: 'Returns a list of inbound security questionnaires that are available to all users in the organisation.
This includes all questionnaires where the "Allow others in my account to reuse answers" setting is enabled.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: List inbound questionnaires
operationId: listQuestionnaires
parameters:
- description: Number of items per page (1-200, default 50)
name: page_size
in: query
schema:
type: integer
format: int64
- description: Pagination token for the next page of results
name: page_token
in: query
schema:
type: string
- name: sort_by
in: query
schema:
type: string
default: date_created
- name: sort_dir
in: query
schema:
type: string
default: desc
- description: Filter by text (searches name, sender org, questionnaire type)
name: filter_text
in: query
schema:
type: string
responses:
'200':
description: List of inbound questionnaires.
content:
application/json:
schema:
$ref: '#/components/schemas/questionnaireListResponse'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/trust_center:
get:
description: 'Returns detailed information about a single trust center by UUID.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Get trust center
operationId: getTrustCenter
parameters:
- description: The UUID of the trust center.
name: uuid
in: query
required: true
schema:
type: string
responses:
'200':
description: Trust center detail.
content:
application/json:
schema:
$ref: '#/components/schemas/trustCenterDetail'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/trust_center/access:
get:
description: 'Returns information about who has access to trust centers, including users and
organizations with access, pending access requests, and invited emails.
NOTE: This endpoint is not specific to a single trust center, as access is not specific to a single trust center.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Get trust center access
operationId: getTrustCenterAccess
responses:
'200':
description: Trust center access detail.
content:
application/json:
schema:
$ref: '#/components/schemas/trustCenterAccessResponse'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/trust_center/access_log:
get:
description: 'Returns the access log for all trust centers, showing who has viewed them or downloaded documents.
Results are paginated. Use the `page_size` parameter to control how many results are returned per page.
Use the `next_page_token` from the response to retrieve subsequent pages.
NOTE: This endpoint is not specific to a single trust center, as access is not specific to a single trust center.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Get trust center access log
operationId: getTrustCenterAccessLog
parameters:
- example: 100
description: 'The number of results to return per page.
Valid values range from 1 to 100.
Defaults to 50 if not specified.'
name: page_size
in: query
schema:
type: integer
format: int64
- example: eyJ2IjoxMDAsImUiOjE3MDAwMDAwMDAsImgiOiJhYmMxMjMifQ==
description: 'Token to retrieve a specific page of results.
Omit to retrieve the first page.
Use the `next_page_token` from the previous response to get the next page.'
name: page_token
in: query
schema:
type: string
responses:
'200':
description: Trust center access log.
content:
application/json:
schema:
$ref: '#/components/schemas/trustCenterAccessLogResponse'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/trust_center/list:
get:
description: 'Returns a list of trust centers for the authenticated organization.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: List trust centers
operationId: listTrustCenters
responses:
'200':
description: List of trust centers.
content:
application/json:
schema:
$ref: '#/components/schemas/ListTrustCentersResponseBody'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
/trust_exchange/trust_center/subscription/list:
get:
description: 'Returns email subscriptions for trust center updates.
Results are paginated. Use the `page_size` parameter to control how many results are returned per page.
Use the `next_page_token` from the response to retrieve subsequent pages.
Required API key permissions: `TrustExchange` (select when creating API key in Account Settings)'
tags:
- trust_exchange
summary: Get trust center subscriptions
operationId: getTrustCenterSubscriptions
parameters:
- example: 100
description: 'The number of results to return per page.
Valid values range from 1 to 100.
Defaults to 100 if not specified.'
name: page_size
in: query
schema:
type: integer
format: int64
- example: eyJ2IjoxMDAsImUiOjE3MDAwMDAwMDAsImgiOiJhYmMxMjMifQ==
description: 'Token to retrieve a specific page of results.
Omit to retrieve the first page.
Use the `next_page_token` from the previous response to get the next page.'
name: page_token
in: query
schema:
type: string
responses:
'200':
description: Trust center subscriptions.
content:
application/json:
schema:
$ref: '#/components/schemas/trustCenterSubscriptionsResponse'
'403':
description: Account does not have access to requested entities
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'422':
description: An invalid parameter was supplied or a mandatory parameter was missing
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'429':
description: Too many requests have been made to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
'500':
description: An internal system error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/endpointError'
components:
schemas:
trustCenterAccessQuestionnaireRequest:
type: object
properties:
id:
description: ID of the questionnaire.
type: integer
format: int64
trustCenterSubscriptionsResponse:
type: object
properties:
next_page_token:
description: The token used to fetch the next page of results, if there are more results.
type: string
subscriptions:
description: The email subscriptions for the trust center.
type: array
items:
$ref: '#/components/schemas/trustCenterSubscription'
total_results:
description: The total number of subscriptions.
type: integer
format: int64
trustCenterAccessQuestionnaireResource:
type: object
properties:
expired:
description: If access to the questionnaire has expired or not.
type: boolean
expires:
description: Access expiry date (null if it will never expire).
type: string
format: date-time
id:
description: ID of the questionnaire.
type: integer
format: int64
questionnaireListResponse:
type: object
properties:
next_page_token:
description: Pagination token for fetching the next
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/upguard/refs/heads/main/openapi/upguard-trust-exchange-api-openapi.yml