Merge branch 'microsoft:dev' into dev
This commit is contained in:
Коммит
dc26e8a026
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.1",
|
||||
"title": "Dokobit Portal",
|
||||
"description": "Use Dokobit portal with all the features that it has but make it automated so that you don't have to waste your time on the administrative job. Put together an automated document signing process puzzle from only the parts you need: signing, sharing, downloading or deleting documents, removing and replacing signers, getting details about signers and signature information.",
|
||||
"contact": {
|
||||
|
@ -26,7 +26,7 @@
|
|||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"description": "Create a PDF or ASIC file for signing.",
|
||||
"description": "Create a PDF, ASIC or ADOC file for signing.",
|
||||
"operationId": "Portal-CreateSigning",
|
||||
"parameters": [
|
||||
{
|
||||
|
@ -49,7 +49,8 @@
|
|||
"x-ms-visibility": "important",
|
||||
"enum": [
|
||||
"pdf",
|
||||
"asic"
|
||||
"asic",
|
||||
"adoc"
|
||||
]
|
||||
},
|
||||
"postback_url": {
|
||||
|
@ -1493,4 +1494,4 @@
|
|||
"propertyValue": "Productivity"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,207 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"description": "It is a PDF operation tool to automate the work related to your PDF (for example, watermark and merge multiple files) and improve the work efficiency. We support Japanese language.",
|
||||
"version": "1.0.0",
|
||||
"title": "PDFcross",
|
||||
"contact": {
|
||||
"name": "PotCross Support",
|
||||
"url": "https://pot-cross.com/en/",
|
||||
"email": "support@pot-cross.com"
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://pdfcross.com/en"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://pdfcross.com/en/privacy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Content and Files;Productivity"
|
||||
}
|
||||
],
|
||||
"host": "api.pdfcross.com",
|
||||
"basePath": "/v1",
|
||||
"tags": [
|
||||
{
|
||||
"name": "merge",
|
||||
"description": "Merge PDF files"
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"description": "Add password at PDF files"
|
||||
},
|
||||
{
|
||||
"name": "watermark text",
|
||||
"description": "Add watermark at PDF files"
|
||||
}
|
||||
],
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"/merge": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"merge"
|
||||
],
|
||||
"summary": "Merge multiple PDF files into one PDF",
|
||||
"description": "This is effective when you want to combine PDFs from multiple departments into one pdf file as meeting materials.",
|
||||
"operationId": "mergePDF",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/pdf"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "body",
|
||||
"name": "files",
|
||||
"description": "PDF files to merge",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"fileContent"
|
||||
],
|
||||
"properties": {
|
||||
"fileContent": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"format": "byte"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "merged file",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/watermark_text": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"watermark text"
|
||||
],
|
||||
"summary": "Add text watermark",
|
||||
"description": "By inserting a watermark such as [Confidential] on each page of the PDF, you can make the viewer understand the characteristics of the material.",
|
||||
"operationId": "addWatermarkText",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/pdf"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "body",
|
||||
"name": "file",
|
||||
"description": "The content of the PDF document. The watermark is only English or Japanese.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"fileContent",
|
||||
"watermarkText"
|
||||
],
|
||||
"properties": {
|
||||
"fileContent": {
|
||||
"type": "string",
|
||||
"format": "byte"
|
||||
},
|
||||
"watermarkText": {
|
||||
"type": "string",
|
||||
"description": "The text of the watermark. Only English or Japanese"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "PDF added watermark",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/password": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"password"
|
||||
],
|
||||
"summary": "Protect your PDF with a password",
|
||||
"description": "You can protect the file by prompting for a password when you open the PDF file. This is useful for highly confidential files.",
|
||||
"operationId": "addPassword",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/pdf"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "body",
|
||||
"name": "file",
|
||||
"description": "The content of the PDF document and password.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"fileContent",
|
||||
"password"
|
||||
],
|
||||
"properties": {
|
||||
"fileContent": {
|
||||
"type": "string",
|
||||
"format": "byte"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "PDF added password",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
"ApiKeyAuth": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "X-API-KEY"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for PDFcross. You can get API key in https://pdfcross.com/",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#FF964F",
|
||||
"capabilities": [],
|
||||
"publisher": "PotCross GK.",
|
||||
"stackOwner": "PotCross GK."
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
# PDFcross
|
||||
It is a PDF operation tool to automate the work related to your PDF (for example, watermark and merge multiple files) and improve the work efficiency.
|
||||
We support Japanese language.
|
||||
|
||||
## Publisher: Publisher's Name
|
||||
PotCross GK.
|
||||
|
||||
## Prerequisites
|
||||
In order to use this connector, you will need the following:
|
||||
- A PDFcross Account. You can [get the Account](https://pdfcross.com/).
|
||||
- A PDFcross API key. You can [get the API key](https://pdfcross.com/).
|
||||
- An active Microsoft Power Automate subscription
|
||||
|
||||
## Supported Operations
|
||||
|
||||
### Merge
|
||||
Merge multiple PDF files into one PDF. [Documentation](https://pdfcross.com/en/docs/power-automate/merge-documents)
|
||||
|
||||
### Password
|
||||
Protect your PDF with a password. [Documentation](https://pdfcross.com/en/docs/power-automate/add-password)
|
||||
|
||||
### Watermark
|
||||
Watermark the PDF. [Documentation](https://pdfcross.com/en/docs/power-automate/add-watermark)
|
||||
|
||||
## Obtaining Credentials
|
||||
You can get your own API key from [PDFcross dashboard](https://dashboard.pdfcross.com/).
|
||||
|
||||
## Known Issues and Limitations
|
||||
Total file size up to 10M.
|
||||
|
||||
## Deployment Instructions
|
||||
Please use [these instructions](https://docs.microsoft.com/en-us/connectors/custom-connectors/paconn-cli). to deploy this connector as custom connector in Microsoft Power Automate and Power Apps.
|
|
@ -0,0 +1,69 @@
|
|||
# Talkdesk Connector
|
||||
The Talkdesk connector provides a better way for organizations to intelligently unlock the promise and potential of great customer experience with end-to-end cloud solutions. Connect to other external systems already supported by Microsoft(within Power Apps and Power Automate) to be able to execute actions in Talkdesk like create an agent, create a callback, get a user by email, etc. or trigger your own flows when a contact is created/updated, note is created, inbound call starts, etc. in Talkdesk.
|
||||
|
||||
## Prerequisites
|
||||
You will need the following to proceed:
|
||||
* A Microsoft Power Apps or Power Automate plan with custom connector feature
|
||||
* The [Power platform CLI tools](https://docs.microsoft.com/connectors/custom-connectors/paconn-cli)
|
||||
* Access to a Talkdesk account and a Talkdesk Client Id and Client Secret. If you dont have access, please contact our sales team(https://talkdesk.com).
|
||||
|
||||
|
||||
### Set up an endpoint in Talkdesk for clients to access the instance
|
||||
We need to create an OAuth application endpoint in the Talkdesk instance. This will allow for external client applications to access our Talkdesk instance.
|
||||
|
||||
#### NOTE
|
||||
> Role required: admin
|
||||
|
||||
You can follow the steps below:
|
||||
|
||||
1. In your Talkdesk instance, Navigate to Builder > OAuth Clients and then click New OAuth Client.
|
||||
2. Fill the form with the following details:
|
||||
- For OAuth client name, use a unique name that identifies the application that you require OAuth access for.
|
||||
- For Grant type check Refresh token and Authorization code
|
||||
- In Redirect URI's please add "https://global.consent.azure-apim.net/redirect"
|
||||
- Add the following scopes: `contacts:read agents-bulk:write callback:write notifications:write industries-activity:write users:read presence-user:read account-custom-status:read ccaas-user-status:write webhooks-trigger:write webhooks-schema:read account:read presence-account:read`
|
||||
- Client Id and Client Secret will be automatically generated when you click the Save button
|
||||
- Save this `Client ID` to be used in apiProperties.json file in later steps and save this `Client Secret` to use it in later steps while deploying the connector.
|
||||
|
||||
### Update Talkdesk instance details and Client ID
|
||||
#### Update instance details
|
||||
1. Go to your Talkdesk instance, copy the account name.
|
||||
2. Replace `YourTalkdeskAccount` in
|
||||
- apiProperties.json file - under authorizationURL, tokenURL and refreshURL
|
||||
- apiDefinitions.swagger.json file - authorizationURL and tokenURL.
|
||||
|
||||
#### Update Client ID
|
||||
Replace `YourTalkdeskClientId` in apiProperties.json file by using the Client ID value noted before when creating the OAuth client in Talkdesk.
|
||||
|
||||
## Deploying the connector
|
||||
Run the following commands and follow the prompts:
|
||||
|
||||
```paconn
|
||||
paconn create -e [Power Platform Environment GUID] --api-prop [Path to apiProperties.json] --api-def [Path to apiDefinition.swagger.json] --icon [Path to icon.png] --secret [The OAuth2 client secret for the connector]
|
||||
```
|
||||
|
||||
## Supported Actions
|
||||
The connector supports the following actions:
|
||||
* `Get contact by Id`: Get contact by Id from Talkdesk
|
||||
* `Create a new agent`: Create a new agent in Talkdesk
|
||||
* `Create a callback`: Create a new callback in Talkdesk
|
||||
* `Create a workspace notification`: Create a new workspace notification in Talkdesk
|
||||
* `Get user by email`: Get user by email from Talkdesk
|
||||
* `Get account configured custom status used by agents`: Get account configured custom status used by agents in Talkdesk
|
||||
* `Get user presence`: Get user presence in Talkdesk
|
||||
* `Update user status`: Update user status in Talkdesk. This action has to be used after the SubscribePresenceForAllUsers action
|
||||
* `Unsubscribe webhook`: Unsubscribe webhook when trigger is deleted
|
||||
* `Suscribe presence for all users`: Subscribe to the presence of all users from the authenticated account. This actions has to be used before UpdateUserStatus action
|
||||
|
||||
## Supported Triggers
|
||||
The connector supports the following triggers:
|
||||
* `When a contact is created`: When a contact is created in Talkdesk
|
||||
* `When a contact is updated`: When a contact is updated in Talkdesk
|
||||
* `When a note is created`: When a note is created in Talkdesk
|
||||
* `When agent logs in`: When agent logs in Talkdesk
|
||||
* `When agent logs out`: When agent logs out Talkdesk
|
||||
* `When outbound call ends`: When outbound call ends in Talkdesk
|
||||
* `When inbound call reaches contact center`: When inbound call reaches contact center in Talkdesk
|
||||
* `When inbound call ends`: When inbound call ends in Talkdesk
|
||||
* `When inbound call starts`: When inbound call starts in Talkdesk
|
||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"token": {
|
||||
"type": "oauthSetting",
|
||||
"oAuthSettings": {
|
||||
"identityProvider": "oauth2",
|
||||
"clientId": "YourTalkdeskClientId",
|
||||
"scopes": [
|
||||
"contacts:read agents-bulk:write callback:write notifications:write industries-activity:write users:read presence-user:read account-custom-status:read ccaas-user-status:write webhooks-trigger:write webhooks-schema:read account:read presence-account:read"
|
||||
],
|
||||
"redirectMode": "Global",
|
||||
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
|
||||
"properties": {
|
||||
"IsFirstParty": "False",
|
||||
"IsOnbehalfofLoginSupported": false
|
||||
},
|
||||
"customParameters": {
|
||||
"authorizationUrl": {
|
||||
"value": "https://proint.talkdeskid.com/oauth/authorize"
|
||||
},
|
||||
"tokenUrl": {
|
||||
"value": "https://proint.talkdeskid.com/oauth/token"
|
||||
},
|
||||
"refreshUrl": {
|
||||
"value": "https://proint.talkdeskid.com/oauth/token"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#bf91fc",
|
||||
"capabilities": [],
|
||||
"publisher": "Talkdesk",
|
||||
"stackOwner": "Talkdesk"
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"token": {
|
||||
"type": "oauthSetting",
|
||||
"oAuthSettings": {
|
||||
"identityProvider": "aad",
|
||||
"clientId": "[[DUMMY]]",
|
||||
"scopes": [],
|
||||
"redirectMode": "Global",
|
||||
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
|
||||
"properties": {
|
||||
"IsFirstParty": "False",
|
||||
"AzureActiveDirectoryResourceId": "[[DUMMY]]",
|
||||
"IsOnbehalfofLoginSupported": true
|
||||
},
|
||||
"customParameters": {
|
||||
"loginUri": {
|
||||
"value": "https://login.windows.net"
|
||||
},
|
||||
"tenantId": {
|
||||
"value": "common"
|
||||
},
|
||||
"resourceUri": {
|
||||
"value": "[[DUMMY]]"
|
||||
},
|
||||
"enableOnbehalfOfLogin": {
|
||||
"value": "false"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"token:TenantId": {
|
||||
"type": "string",
|
||||
"metadata": {
|
||||
"sourceType": "AzureActiveDirectoryTenant"
|
||||
},
|
||||
"uiDefinition": {
|
||||
"constraints": {
|
||||
"required": "false",
|
||||
"hidden": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#060303",
|
||||
"capabilities": [],
|
||||
"publisher": "Cireson",
|
||||
"stackOwner": "Cireson"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
# Tikit
|
||||
Tikit for Microsoft Teams enables conversational ticketing in a system you already use. Turn messages from chat into tickets, authenticate with M365 single sign on, deflect common questions with artificial intelligence and report with Power BI.
|
||||
|
||||
## Publisher: Cireson
|
||||
|
||||
## Prerequisites
|
||||
You will need to have an active Tikit, [Microsoft 365 Service Desk](https://www.tikit.ai/pricing/) subscription to leverage this connector.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
### Create New Ticket
|
||||
This action will give you the ability to create new ticket.
|
||||
|
||||
### Update a Ticket
|
||||
This action will give you the ability to update specific ticket.
|
||||
|
||||
### Add Comment to a ticket
|
||||
This action will give you the ability to add a comment to a specific ticket by specifying the ticket Id.
|
||||
You can also make the comment public or private.
|
||||
|
||||
### Get Ticket
|
||||
This action will give you the ability to get specific ticket by specifying the ticket Id.
|
||||
|
||||
### Get all tickets
|
||||
This action will give you the ability to get all tickets.
|
||||
You can also customize your query base on OData filter.
|
||||
|
||||
### Get File(s) Attached to a Ticket
|
||||
This action will give you the ability to get all files attached to a specific ticket by specifying the ticket Id.
|
||||
|
||||
## Obtaining Credentials
|
||||
Create an access (API) token at https://web.tikit.ai/settings/token
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {},
|
||||
"iconBrandColor": "#da3b01",
|
||||
"capabilities": [],
|
||||
"publisher": "Troy Taylor",
|
||||
"stackOwner": "U.S. Department of Heath & Human Services"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
# CDC Content Services
|
||||
Content syndication allows CDC to offer web content to other sites and applications. Media, topics, and organizations data is available.
|
||||
|
||||
## Publisher: Troy Taylor, Hitachi Solutions
|
||||
|
||||
## Prerequisites
|
||||
The documentation for this service can be reviewed on the [CDC](https://tools.cdc.gov/api/docs/info.aspx) site.
|
||||
|
||||
## Obtaining Credentials
|
||||
There are no credentials needed for this service.
|
||||
|
||||
## Supported Operations
|
||||
### Get a list of media
|
||||
Retrieve media available in the Content Services system.
|
||||
### Get media by ID
|
||||
Retrieves the details of a media that can be syndicated.
|
||||
### Get media types
|
||||
Retrieves a list of the available media types.
|
||||
### Get topics
|
||||
Retrieves a list of the available topics.
|
||||
### Get audiences
|
||||
Retrieves a list of the available audiences.
|
||||
### Get tags
|
||||
Retrieves a list of available tags.
|
||||
### Retrieve tag by ID
|
||||
Retrieves a tag object using its ID.
|
||||
### Get media by tag ID
|
||||
Retrieves media objects using a tag ID.
|
||||
### Get related tags
|
||||
Retrieves tag objects related to another tag.
|
||||
### Get tag types
|
||||
Returns a list of the available tag types.
|
||||
### Get languages
|
||||
Returns a list of the available languages.
|
||||
### Get organizations
|
||||
Returns a list of the available organizations.
|
||||
### Get organization types
|
||||
Returns a list of the available organization types.
|
||||
### Get sources
|
||||
Returns a list of the available sources.
|
||||
|
||||
## Known Issues and Limitations
|
||||
There are no known issues at this time.
|
|
@ -443,8 +443,8 @@
|
|||
"in": "query",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"description": "Filter vulnerabilities based on the affected products",
|
||||
"x-ms-summary": "Affected products"
|
||||
"description": "Filter vulnerabilities based on cpeMatchString of affected products",
|
||||
"x-ms-summary": "CPE Match String"
|
||||
}, {
|
||||
"name": "cvssV2Metrics",
|
||||
"in": "query",
|
||||
|
@ -514,7 +514,7 @@
|
|||
"in": "query",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"description": "heywords from vulnerability description or reference links.",
|
||||
"description": "keywords from vulnerability description or reference links.",
|
||||
"x-ms-summary": "Keyword(s)"
|
||||
}, {
|
||||
"name": "modStartDate",
|
||||
|
@ -667,7 +667,7 @@
|
|||
}
|
||||
},
|
||||
"summary": "Retrieve CPE information",
|
||||
"description": "Retrieve CPE information",
|
||||
"description": "Retrieve Common Platform Enumeration information",
|
||||
"operationId": "GetCPECollection",
|
||||
"parameters": [{
|
||||
"name": "addOns",
|
||||
|
|
|
@ -1,41 +1,38 @@
|
|||
# NIST National Vulnerability Database
|
||||
The NVD is the U.S. government repository of standards based vulnerability management data represented using the Security Content Automation Protocol (SCAP). This data enables automation of vulnerability management, security measurement, and compliance. The NVD includes databases of security checklist references, security-related software flaws, misconfigurations, product names, and impact metrics. This product uses the NVD API but is not endorsed or certified by the NVD.
|
||||
The NVD is the U.S. government repository of standards-based vulnerability management data represented using the Security Content Automation Protocol (SCAP). This data enables automation of vulnerability management, security measurement, and compliance. The NVD includes databases of security checklist references, security-related software flaws, misconfigurations, product names, and impact metrics. This product uses the NVD API but is not endorsed or certified by the NVD.
|
||||
|
||||
|
||||
## Publisher: Paul Culmsee
|
||||
|
||||
## Prerequisites
|
||||
## Obtaining Credentials
|
||||
NIST NVD uses API keys to allow access to the API. You can get an API key [here](https://nvd.nist.gov/developers/request-an-api-key).
|
||||
* On the API key requests page, enter data into the three fields on the requests form.
|
||||
* Scroll to the bottom of the Terms of Use, and then click the check box marked "I agree to the Terms of Use."
|
||||
* Check the inbox of the email address provided in the steps above for an email from nvd-noreply@nist.gov.
|
||||
* Activate and view the API Key by opening the single-use hyperlink. Store the API Key in a secure location as the page will no longer be available after it is closed. If your key is not activated within seven days, a request for a new API Key must be submitted.
|
||||
* Activate and view the API Key by opening the single-use hyperlink. Store the API Key in a secure location as the page will no longer be available after it is closed. If your key isn't activated within seven days, a request for a new API Key must be submitted.
|
||||
|
||||
## Supported Operations
|
||||
### Retrieve a specific CVE
|
||||
Get details of a specific CVE. A unique identifier known as the CVE ID allows stakeholders a common means of discussing and researching a specific, unique exploit.
|
||||
|
||||
### Retrieve a collection of CVE
|
||||
Get a collection of CVE. The Common Vulnerabilities and Exposures (CVE) program is a dictionary or glossary of vulnerabilities that have been identified for specific code bases, such as software applications or open libraries
|
||||
Get a collection of CVE. The Common Vulnerabilities and Exposures (CVE) program is a dictionary or glossary of vulnerabilities identified for specific code bases, such as software applications or open libraries
|
||||
|
||||
### Retrieve CPE information
|
||||
Get a collection of CPE. The Official CPE Dictionary, is a searchable repository of hardware and software products maintained by the National Vulnerability Database (NVD)
|
||||
Get a collection of CPE. The Official CPE Dictionary is a searchable repository of hardware and software products maintained by the National Vulnerability Database (NVD)
|
||||
|
||||
## API Documentation
|
||||
https://nvd.nist.gov/developers
|
||||
|
||||
## Known Issues and Limitations
|
||||
* FIltering by date is very specific in terms of format. It is unlikely you need to filter based on time so I suggest you specify 000 for subseconds and use hh:mm for UTC offset. Eg. For Power Automate flows, this is an example of correctly specifying a date with no UTC offset. formatDateTime(utcNow(), 'yyyy-MM-ddTHH:mm:ss:000 UTC+00:00')
|
||||
* When filtering by date, please note the format. As it is unlikely you need to filter based on time, I suggest you specify 000 for sub-seconds and use hh:mm for UTC offset. Eg. For Power Automate flows, this is an example of correctly specifying a date with no UTC offset. formatDateTime(utcNow(), 'yyyy-MM-ddTHH:mm:ss:000 UTC+00:00')
|
||||
|
||||
* There are a large number of vulnerabilties stored in a highly granular way. You will need to filter your results and learn the schema to apply filters. eg Filtering by CPE Match string or CVE match string is documented (here)[http://cpe.mitre.org/specification/index.html]
|
||||
* There are a large number of vulnerabilities stored in a highly granular way. You will need to filter your results and learn the schema to apply filters. E.g Filtering by CPE Match string or CVE match string is documented (here)[http://cpe.mitre.org/specification/index.html]
|
||||
|
||||
* Each API Key is associated with a single email address. If an email address is used to request an additional API key, clicking the single-use hyperlink will invalidate the key previously associated with that email address. The key will not be invalidated if the email is used to request another key, but the link is not opened. There is no process for retrieving a forgotten key.
|
||||
|
||||
* The rate limit with an API key is 100 requests in a rolling 60 second window.
|
||||
|
||||
* The best practice for making requests within the rate limit is to use the modified date parameters. No more than once every two hours, automated requests should include a range where modStartDate equals the time of the last CVE or CPE received and modEndDate equals the current time. Enterprise scale development should enforce this approach through a single requestor to ensure all users are in sync and have the latest CVE and CPE information. It is also recommended that users "sleep" their scripts for six seconds between requests.
|
||||
* The best practice for making requests within the rate limit is to use the modified date parameters. No more than once every two hours, automated requests should include a range where modStartDate equals the time of the last CVE or CPE received and modEndDate equals the current time. Enterprise-scale development should enforce this approach through a single requestor to ensure all users are in sync and have the latest CVE and CPE information. It is also recommended that users "sleep" their scripts for six seconds between requests.
|
||||
|
||||
* Always update this connector via the command line tool. The custom connector UI will report and error with the "Remote Auth Reader" policy because the UI does not allow an empty value. If you save the connector via the custom connector UI, it writes an invalid value to the policy which will stop the Get Zones endpoint from working.
|
||||
```
|
||||
paconn create --api-def apiDefinition.swagger.json --api-prop apiProperties.json.
|
||||
```
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
# OpenAI
|
||||
|
||||
OpenAI is an artificial intelligence research laboratory. The company conducts research in the field of AI with the stated goal of promoting and developing friendly AI in a way that benefits humanity as a whole.
|
||||
Through this connector you can access the Generative Pre-trained Transformer 3 (GPT-3), an autoregressive language model that uses deep learning to produce human-like text.
|
||||
|
||||
## Publisher: Robin Rosengrün | R2Power
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You need an OpenAI account and available tokens. The account comes with a 3 month trial and enough tokens for testing the service.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
The connector supports the following operations:
|
||||
|
||||
- `List engines`: This action will return all available GPT-3 engines.
|
||||
- `Completion`: This action will complete your prompt and is the main action you will use.
|
||||
|
||||
## Obtaining Credentials
|
||||
|
||||
In your account you can create an API key [here](https://beta.openai.com/account/api-keys)
|
||||
|
||||
## API Documentation
|
||||
|
||||
Visit [the OpenAI documentation page](https://beta.openai.com/docs/api-reference/introduction) for further details.
|
||||
|
||||
## Known issues and limitations
|
||||
|
||||
When entering your API key in the Power Platform, you need to type it as: "Bearer YOUR_API_KEY" (the word "Bearer" a blank and the actual API_KEY)
|
||||
Only the "Completion" action is supported right now, feel free to add other actions.
|
||||
|
||||
## Deployment Instructions
|
||||
|
||||
When entering your API key in the Power Platform, you need to type it as: "Bearer YOUR_API_KEY" (the word "Bearer" a blank and the actual API_KEY)
|
|
@ -0,0 +1,213 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "OpenAI",
|
||||
"description": "Connect to the OpenAI API and use the Power of GPT3, API key must be entered as \"Bearer YOUR_API_KEY\"",
|
||||
"version": "1.0"
|
||||
},
|
||||
"host": "api.openai.com",
|
||||
"basePath": "/",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [],
|
||||
"produces": [],
|
||||
"paths": {
|
||||
"/v1/engines/{engine}/completions": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "GPT3 completed your prompt",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"description": "id"
|
||||
},
|
||||
"object": {
|
||||
"type": "string",
|
||||
"description": "object"
|
||||
},
|
||||
"created": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "created"
|
||||
},
|
||||
"model": {
|
||||
"type": "string",
|
||||
"description": "Which GPT3 Engine was used",
|
||||
"title": "Model",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"choices": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"text": {
|
||||
"type": "string",
|
||||
"description": "Completion text",
|
||||
"title": "Text"
|
||||
},
|
||||
"index": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Number of completion",
|
||||
"title": "Index"
|
||||
},
|
||||
"logprobs": {
|
||||
"type": "string",
|
||||
"description": "Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens. For example, if logprobs is 3, the API will return a list of the 3 most likely tokens.",
|
||||
"title": "Logprobs"
|
||||
},
|
||||
"finish_reason": {
|
||||
"title": "Finish reason",
|
||||
"type": "string",
|
||||
"description": "Reason why the text finished (stop condition / natural end / length)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Returned Completion(s)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "GPT3 Completes your prompt",
|
||||
"description": "GPT3 Completes your prompt",
|
||||
"operationId": "Completion",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "engine",
|
||||
"in": "path",
|
||||
"type": "string",
|
||||
"description": "The used engine, choose between text-davinci-002, text-curie-001, text-babbage-001, text-ada-001",
|
||||
"required": true,
|
||||
"default": "text-davinci-002",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-summary": "Engine",
|
||||
"enum": [
|
||||
"text-davinci-002",
|
||||
"text-curie-001",
|
||||
"text-babbage-001",
|
||||
"text-ada-001"
|
||||
],
|
||||
"x-ms-enum-values": [
|
||||
{
|
||||
"displayName": "DaVinci - most expensive",
|
||||
"value": "text-davinci-002"
|
||||
},
|
||||
{
|
||||
"displayName": "Curie",
|
||||
"value": "text-curie-001"
|
||||
},
|
||||
{
|
||||
"displayName": "Babbage",
|
||||
"value": "text-babbage-001"
|
||||
},
|
||||
{
|
||||
"displayName": "Ada - cheapest",
|
||||
"value": "text-ada-001"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"prompt": {
|
||||
"type": "string",
|
||||
"description": "Text that will be completed by GPT3",
|
||||
"title": "prompt",
|
||||
"default": "What is your favorite animal and why? Tell me also about the size and weight of this animal."
|
||||
},
|
||||
"n": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "How many completions to generate for each prompt",
|
||||
"default": 1
|
||||
},
|
||||
"best_of": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "If set to more than 1, generates multiple completions server-side and returns the \"best\". Must be greater than \"n\". Use with caution, can consume a lot of tokens.",
|
||||
"default": 1
|
||||
},
|
||||
"temperature": {
|
||||
"type": "number",
|
||||
"format": "float",
|
||||
"description": "Higher values means the model will take more risks. Try 0.9 for more creative applications, and 0 (argmax sampling) for ones with a well-defined answer. Use this OR top p",
|
||||
"title": "temperature",
|
||||
"default": 1
|
||||
},
|
||||
"max_tokens": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "One token equals roughly 4 characters of text (up to 4000 tokens between prompt and completion)",
|
||||
"title": "max tokens",
|
||||
"default": 100
|
||||
},
|
||||
"top_p": {
|
||||
"type": "number",
|
||||
"format": "float",
|
||||
"description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.",
|
||||
"title": "top p"
|
||||
},
|
||||
"frequency_penalty": {
|
||||
"type": "number",
|
||||
"format": "float",
|
||||
"description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the models likelihood to repeat the same line verbatim.",
|
||||
"title": "frequency penalty",
|
||||
"default": 0
|
||||
},
|
||||
"presence_penalty": {
|
||||
"type": "number",
|
||||
"format": "float",
|
||||
"description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the models likelihood to talk about new topics.",
|
||||
"title": "presence penalty",
|
||||
"default": 0
|
||||
},
|
||||
"user": {
|
||||
"type": "string",
|
||||
"title": "user",
|
||||
"description": "A unique identifier representing your end-user, which will help OpenAI to monitor and detect abuse"
|
||||
},
|
||||
"stop": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"prompt"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "Authorization"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "Enter API Key as as \"Bearer YOUR_API_KEY\"",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#da3b01",
|
||||
"capabilities": [],
|
||||
"publisher": "Robin Rosengrün",
|
||||
"stackOwner": "OpenAI"
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче