PowerPlatformConnectors/certified-connectors/Seismic Configuration/apiDefinition.swagger.json

1160 строки
32 KiB
JSON

{
"swagger": "2.0",
"info": {
"title": "Seismic Configuration",
"description": "Seismic configuration connector provides set of actions required for adding or updating content properties, fetching teamsites and updating email opt-outs.",
"contact": {
"name": "Seismic",
"email": "support@seismic.com",
"url": "https://seismic.com"
},
"license": {
"name": "seismic"
},
"version": "v2"
},
"host": "api.seismic.com",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/integration/v2/contentProperties/{contentPropertyId}/values": {
"get": {
"tags": [
"Content Properties"
],
"summary": "Content properties - Get values of a content property",
"description": "Provides the list of content property values for a given content property.",
"operationId": "GetContentPropertyValues",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "contentPropertyId",
"description": "Content Property Id",
"required": true,
"type": "string",
"x-ms-summary": "Content Property Id"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.ContentManager.DomainOfValues"
}
}
}
}
},
"post": {
"tags": [
"Content Properties"
],
"summary": "Content properties - Add values to a content property",
"description": "Add one or more content property values to an existing content property.",
"operationId": "AddContentPropertyValues",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "contentPropertyId",
"description": "Content Property Id",
"required": true,
"type": "string",
"x-ms-summary": "Content Property Id"
},
{
"in": "body",
"name": "body",
"description": "Body",
"schema": {
"type": "array",
"items": {
"type": "string",
"title": "Content Property Value"
}
}
}
],
"responses": {
"201": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.ContentManager.DomainOfValues"
}
}
}
}
}
},
"/integration/v2/contentProperties": {
"get": {
"tags": [
"Content Properties"
],
"summary": "Content properties - Get all",
"description": "Provides the list of content properties defined within the system.",
"operationId": "GetContentProperties",
"produces": [
"application/json"
],
"parameters": [
{
"in": "query",
"name": "teamsiteId",
"description": "Teamsite Id",
"type": "string",
"x-ms-summary": "Teamsite Id"
},
{
"in": "query",
"name": "includeValues",
"description": "Include Values",
"type": "boolean",
"default": true,
"x-ms-summary": "Include Values?"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.ContentProperties.ContentProperty"
}
}
}
}
},
"post": {
"tags": [
"Content Properties"
],
"summary": "Content properties - Add a content property",
"description": "Add a content property and associate it to an existing teamsite.",
"operationId": "AddContentProperty",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "Body",
"schema": {
"$ref": "#/definitions/Seismic.ContentManager.AddContentPropertyRequest"
}
}
],
"responses": {
"201": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Seismic.ContentManager.AddContentPropertyResponse"
}
}
}
}
},
"/integration/v2/system/optouts": {
"get": {
"tags": [
"Privacy Management"
],
"summary": "Email opt-outs - Get list",
"description": "Get a list of registered opt-outs.",
"operationId": "GetGdprEmails",
"produces": [
"text/plain",
"application/json",
"text/json"
],
"parameters": [
{
"in": "query",
"name": "offset",
"description": "Default 0",
"type": "integer",
"format": "int32",
"x-ms-summary": "(optional) Page Offset. Default is 0."
},
{
"in": "query",
"name": "limit",
"description": "Default 1000",
"type": "integer",
"format": "int32",
"x-ms-summary": "(optional) Page Limit. Default is 1000."
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Seismic.PrivacyManagement.GdprEmailSettingResponse"
}
}
}
},
"put": {
"tags": [
"Privacy Management"
],
"summary": "Email opt-outs - Add or update emails",
"description": "This action allows one or more email addresses to be added or updated in the tracking opt-out list.",
"operationId": "UpsertGdprEmails",
"consumes": [
"application/json"
],
"produces": [
"text/plain",
"application/json",
"text/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.PrivacyManagement.GdprEmailSettingUpsertRequest"
}
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Seismic.PrivacyManagement.GdprPagedEmailSettingResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Seismic.PrivacyManagement.GdprPagedEmailSettingResponse"
}
}
}
}
},
"/integration/v2/system/optouts/{email}": {
"delete": {
"tags": [
"Privacy Management"
],
"summary": "Email opt-outs - Delete email",
"description": "Deletes a single email address from the opt-out list",
"operationId": "DeleteGdprEmail",
"parameters": [
{
"in": "path",
"name": "email",
"description": "Email",
"required": true,
"type": "string",
"x-ms-summary": "Email Id"
}
],
"responses": {
"204": {
"description": "Success"
}
}
}
},
"/integration/v2/teamsites": {
"get": {
"tags": [
"Teamsites"
],
"summary": "Teamsite - Get all teamsites",
"description": "Provides the full list of teamsites that are available in the current tenant.",
"operationId": "GetTeamsites",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.Teamsites.TeamsiteResponse"
}
}
}
}
}
},
"/integration/v2/teamsites/{teamsiteId}": {
"get": {
"tags": [
"Teamsites"
],
"summary": "Teamsite - Get teamsite information",
"description": "Get the name of a given teamsite.",
"operationId": "GetTeamsiteDetails",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "teamsiteId",
"description": "Teamsite Id",
"required": true,
"type": "string",
"x-ms-summary": "Teamsite Id"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Seismic.Teamsites.TeamsiteResponse"
}
}
}
}
},
"/integration/v2/users/teamsites": {
"get": {
"tags": [
"Users"
],
"summary": "User - Get teamsites",
"description": "Get the current user's assigned teamsites.",
"operationId": "GetUserTeamsites",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.Teamsites.TeamsiteResponse"
}
}
}
}
}
},
"/integration/v2/users/profiles": {
"get": {
"tags": [
"Users"
],
"summary": "User - Get profiles",
"description": "Get the list of content profiles that the current user has access to.",
"operationId": "GetUserProfiles",
"produces": [
"application/json"
],
"parameters": [
{
"in": "query",
"name": "application",
"type": "string",
"x-ms-summary": "Application Name",
"x-ms-visibility": "advanced",
"description": "(Optional) Profiles for given application name, such as DocCenter, OutlookPlugin, etc."
},
{
"in": "query",
"name": "isPredictiveOnly",
"type": "boolean",
"x-ms-summary": "Predictive Profiles Only?",
"x-ms-visibility": "advanced",
"description": "(Optional) Profiles applicable on predictive contents only. Default is false."
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.DocCenter.ContentProfileResponse"
}
}
}
}
}
},
"/webhooks/v1/eventTypes": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
}
}
}
}
},
"summary": "Get webhooks event types",
"operationId": "GetWebhooksEventTypes",
"description": "Get webhooks event types",
"parameters": [],
"x-ms-visibility": "internal"
}
},
"/webhooks/v1/subscriptions": {
"x-ms-notification-content": {
"description": "Schema of the notification content",
"schema": {
"$ref": "#/definitions/NotificationContent"
}
},
"post": {
"summary": "Create a webhook subscription",
"description": "Create a webhook subscription. See https://developer.seismic.com/seismicsoftware/docs/webhooksoverview for details.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"callbackUrl": {
"type": "string",
"description": "callbackUrl",
"title": "callbackUrl",
"x-ms-visibility": "internal",
"x-ms-notification-url": true
},
"eventTypes": {
"type": "array",
"items": {
"type": "string",
"title": "eventTypes",
"x-ms-dynamic-values": {
"operationId": "GetWebhooksEventTypes",
"value-path": "name",
"value-collection": "value",
"value-title": "name"
},
"description": ""
},
"title": "eventTypes"
},
"filter": {
"type": "string",
"description": "Example: $.data..[?(@.id == 'demo')] , JsonPath based filter expression, refer https://developer.seismic.com/seismicsoftware/docs/webhooksoverview#filtering-events for details.",
"title": "filter"
}
},
"required": [
"callbackUrl",
"eventTypes"
]
}
}
],
"responses": {
"201": {
"description": "Webhook subscription successfully created",
"schema": {
"$ref": "#/definitions/CreateWebhookResponse"
}
},
"400": {
"description": "Bad request. User input is invalid.",
"schema": {
"$ref": "#/definitions/Error"
}
},
"500": {
"description": "Internal server error.",
"schema": {
"$ref": "#/definitions/Error"
}
}
},
"operationId": "SubscribeToEvents",
"x-ms-trigger": "single"
}
}
},
"definitions": {
"NotificationContent": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the event.",
"format": "uuid"
},
"version": {
"type": "string",
"description": "The version of the event, e.g., \"ContentManagerCreateFileV1\"."
},
"occurredAt": {
"type": "string",
"description": "ISO 8601 timestamp when the event occurred in UTC.",
"format": "date-time"
},
"tenantId": {
"type": "string",
"description": "Unique identifier for the tenant.",
"format": "uuid"
},
"tenantName": {
"type": "string",
"description": "Name of the tenant."
},
"data": {
"type": "object",
"additionalProperties": true,
"description": "See event documentation for complete payload.",
"properties": {
"teamSiteId": {
"type": "string"
},
"fileId": {
"type": "string"
},
"fileName": {
"type": "string"
},
"format": {
"type": "string"
},
"userId": {
"type": "string"
},
"versionId": {
"type": "string"
},
"requestId": {
"type": "string"
},
"schemaId": {
"type": "string"
},
"batchId": {
"type": "string"
},
"batchInstanceId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"taskId": {
"type": "string"
},
"programId": {
"type": "string"
},
"workflowId": {
"type": "string"
},
"activeVersionId": {
"type": "string"
},
"contentId": {
"type": "string"
},
"contentVersionId": {
"type": "string"
},
"contentName": {
"type": "string"
},
"contentParentId": {
"type": "string"
},
"destinationParentId": {
"type": "string"
},
"newContentId": {
"type": "string"
},
"newContentVersionId": {
"type": "string"
},
"folderId": {
"type": "string"
},
"folderName": {
"type": "string"
},
"folderParentId": {
"type": "string"
},
"profileVersionId": {
"type": "string"
},
"profileName": {
"type": "string"
},
"profileType": {
"type": "string"
},
"schemaName": {
"type": "string"
},
"status": {
"type": "string"
},
"schemaDescription": {
"type": "string"
},
"spaceId": {
"type": "string"
},
"creatorId": {
"type": "string"
},
"workflowName": {
"type": "string"
},
"workflowStepId": {
"type": "string"
},
"stepName": {
"type": "string"
}
}
},
"application": {
"type": "string",
"description": "The application where the event originated."
},
"productArea": {
"description": "The product area related to the event.",
"type": "string"
}
},
"required": [
"id",
"version",
"occurredAt",
"tenantId",
"tenantName",
"data",
"application",
"productArea"
]
},
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
]
},
"CreateWebhookRequest": {
"type": "object",
"required": [
"callbackUrl",
"eventTypes"
],
"properties": {
"callbackUrl": {
"type": "string",
"format": "uri",
"description": "The URL to which the events will be sent.",
"x-ms-notification-url": true,
"x-ms-visibility": "internal"
},
"eventTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of event types the webhook is interested in. See all event types at https://developer.seismic.com/seismicsoftware/docs/seismicwebhooks"
},
"filter": {
"type": "string",
"description": "Only delivers the webhook if it matches with filter"
}
}
},
"CreateWebhookResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the created webhook subscription."
},
"callbackUrl": {
"type": "string",
"format": "uri",
"description": "Confirmed URL to which events will be sent."
},
"eventTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Event type for which the webhook was created."
},
"status": {
"type": "string",
"enum": [
"active",
"inactive"
],
"description": "Status of the webhook subscription."
}
},
"required": [
"id",
"callbackUrl",
"eventTypes",
"status"
]
},
"Seismic.ContentManager.AddContentPropertyRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "The name of the new content property."
},
"type": {
"type": "string",
"description": "Supported types are string, integer, float, date, tag, multi-value and boolean.",
"title": "Type",
"enum": [
"string",
"integer",
"float",
"date",
"tag",
"multi-value",
"boolean"
]
},
"domainOfValues": {
"type": "array",
"x-ms-summary": "Content Property Values",
"items": {
"type": "string",
"title": "Content Property Value",
"description": "(Optional) The list of values for this content property. Default is empty array."
}
},
"teamSites": {
"type": "array",
"x-ms-summary": "Teamsite Ids",
"description": "List of applicable teamsites. At least 1 teamsite is required.",
"items": {
"$ref": "#/definitions/Seismic.ContentManager.ContentPropertyTeamSiteInfo"
}
}
},
"required": [
"name",
"type",
"teamSites",
"domainOfValues"
]
},
"Seismic.ContentManager.AddContentPropertyResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"x-ms-summary": "Content Property Id"
}
}
},
"Seismic.ContentManager.ContentPropertyTeamSiteInfo": {
"type": "object",
"properties": {
"teamSiteId": {
"type": "string",
"title": "Id",
"x-ms-summary": "Teamsite Id",
"description": "Teamsite Id where this content property is applicable. At least 1 teamsite is required."
},
"isRequired": {
"type": "boolean",
"title": "Is Required",
"x-ms-summary": "Is A Required Property?",
"enum": [
true,
false
],
"description": "(Optional) Boolean field to indicate whether the new property is a required property in this teamsite. Default is false."
}
},
"required": [
"teamSiteId"
]
},
"Seismic.ContentManager.DomainOfValues": {
"type": "object",
"properties": {
"id": {
"type": "string",
"x-ms-summary": "Content Property Value Id"
},
"value": {
"type": "string",
"x-ms-summary": "Content Property Value"
}
}
},
"Seismic.PrivacyManagement.GdprPagedEmailSettingResponse": {
"type": "object",
"properties": {
"totalRequests": {
"format": "int32",
"type": "integer",
"x-ms-summary": "Total Optouts Count"
},
"totalSucceeded": {
"format": "int32",
"type": "integer",
"x-ms-summary": "Succeeded Optouts Count"
},
"errors": {
"type": "array",
"x-ms-summary": "Errors",
"items": {
"$ref": "#/definitions/Seismic.PrivacyManagement.GdprPagedEmailSettingResponseError"
}
}
}
},
"Seismic.PrivacyManagement.GdprPagedEmailSettingResponseError": {
"type": "object",
"properties": {
"email": {
"type": "string",
"x-ms-summary": "Email Id"
},
"error": {
"type": "string",
"x-ms-summary": "Error Message"
}
}
},
"Seismic.PrivacyManagement.GdprEmailSettingResponse": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.PrivacyManagement.GdprEmailSettingResponse"
}
},
"totalCount": {
"format": "int64",
"type": "integer",
"x-ms-summary": "Total Count"
},
"pageCap": {
"format": "int32",
"type": "integer",
"x-ms-summary": "Page Cap"
},
"limit": {
"format": "int32",
"type": "integer",
"x-ms-summary": "Page Limit"
},
"offset": {
"format": "int64",
"type": "integer",
"x-ms-summary": "Page Offset"
},
"continuationToken": {
"type": "string",
"x-ms-summary": "Continuation Token"
},
"nextPageLink": {
"type": "string",
"x-ms-summary": "Next Page Link"
}
}
},
"Seismic.ContentProperties.ContentProperty": {
"type": "object",
"properties": {
"id": {
"type": "string",
"x-ms-summary": "Content Property Id"
},
"name": {
"type": "string",
"x-ms-summary": "Content Property Name"
},
"type": {
"type": "string",
"x-ms-summary": "Content Property Type"
},
"hasDomainOfValues": {
"type": "boolean",
"x-ms-summary": "Content Property Has Domain Values?"
},
"domainOfValues": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.ContentManager.DomainOfValues"
}
},
"teamsites": {
"type": "array",
"items": {
"$ref": "#/definitions/Seismic.ContentProperties.ContentPropertyTeamsite"
}
}
}
},
"Seismic.ContentProperties.ContentPropertyTeamsite": {
"type": "object",
"properties": {
"teamsiteId": {
"type": "string",
"x-ms-summary": "Teamsite Id"
},
"teamsiteName": {
"type": "string",
"x-ms-summary": "Teamsite Name"
},
"isRequired": {
"type": "boolean",
"x-ms-summary": "Is A Required Teamsite?"
}
}
},
"Seismic.DocCenter.Application": {
"type": "object",
"properties": {
"id": {
"type": "string",
"x-ms-summary": "Application Id"
},
"name": {
"type": "string",
"x-ms-summary": "Application Name"
}
}
},
"Seismic.DocCenter.ContentProfileResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"x-ms-summary": "Content Profile Id"
},
"versionId": {
"type": "string",
"x-ms-summary": "Content Profile Version Id"
},
"name": {
"type": "string",
"x-ms-summary": "Content Profile Name"
},
"type": {
"type": "string",
"x-ms-summary": "Content Profile Type"
},
"modifiedAt": {
"format": "date-time",
"type": "string",
"x-ms-summary": "Content Profile Last Modified Date"
},
"coverImageId": {
"type": "string",
"x-ms-summary": "Content Profile Cover Image Id"
},
"coverImageUrl": {
"type": "string",
"x-ms-summary": "Content Profile Cover Image Url"
},
"isPredictiveOnly": {
"type": "boolean",
"x-ms-summary": "Is A Predctive Supported Content Profile?"
},
"isPublished": {
"type": "boolean",
"x-ms-summary": "Is A Published Content Profile?"
},
"isDefault": {
"type": "boolean",
"x-ms-summary": "Is A Default Content Profile?"
},
"applications": {
"type": "array",
"x-ms-summary": "Applications",
"items": {
"$ref": "#/definitions/Seismic.DocCenter.Application"
}
},
"teamSiteId": {
"type": "string",
"x-ms-summary": "Teamsite Id"
}
}
},
"Seismic.PrivacyManagement.GdprEmailSettingUpsertRequest": {
"type": "object",
"properties": {
"email": {
"type": "string",
"title": "Email",
"description": "Email id for which the opt-out needs to be configured."
},
"emailOptOut": {
"type": "boolean",
"title": "Email Optout",
"x-ms-summary": "Opt Out From Email Communications?",
"enum": [
true,
false
],
"description": "Opt out from email communications."
},
"trackingOptOut": {
"type": "boolean",
"title": "Tracking Optout",
"x-ms-summary": "Opt Out From Livesend Tracking?",
"enum": [
true,
false
],
"description": "Opt out from LiveSend tracking."
},
"meetingsOptOut": {
"type": "boolean",
"title": "Meetings Optout",
"x-ms-summary": "Opt Out From Meetings?",
"enum": [
true,
false
],
"description": "Opt out from meeting recordings."
}
},
"required": [
"email"
]
},
"Seismic.Teamsites.TeamsiteResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"x-ms-summary": "Teamsite Id"
},
"name": {
"type": "string",
"x-ms-summary": "Teamsite Name"
},
"isDefault": {
"type": "boolean",
"x-ms-summary": "Is Default Teamsite?"
}
}
}
},
"parameters": {},
"responses": {},
"securityDefinitions": {
"oauth2-auth": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "https://auth.seismic.com/central/connect/authorize",
"tokenUrl": "https://auth.seismic.com/central/connect/token",
"scopes": {
"seismic.webhook seismic.self.view seismic.self.manage seismic.user.view seismic.user.manage seismic.library.view seismic.library.manage seismic.configuration.view seismic.configuration.manage offline_access": "seismic.webhook seismic.self.view seismic.self.manage seismic.user.view seismic.user.manage seismic.library.view seismic.library.manage seismic.configuration.view seismic.configuration.manage offline_access"
}
}
},
"security": [
{
"oauth2-auth": [
"seismic.webhook seismic.self.view seismic.self.manage seismic.user.view seismic.user.manage seismic.library.view seismic.library.manage seismic.configuration.view seismic.configuration.manage offline_access"
]
}
],
"tags": [
{
"name": "Teamsites"
},
{
"name": "Content Properties"
},
{
"name": "Privacy Management"
},
{
"name": "Users"
}
],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://seismic.com/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://seismic.com/privacy-policy/"
},
{
"propertyName": "Categories",
"propertyValue": "Marketing;Sales and CRM"
}
]
}