microsoft / PowerPlatformConnectors

This is a repository for Microsoft Power Automate, Power Apps, and Azure Logic Apps connectors
https://aka.ms/connectors
MIT License
958 stars 1.25k forks source link

paconn validate (Bad Request for url) #58

Closed garrytrinder closed 4 years ago

garrytrinder commented 5 years ago

Describe the bug When attempting to validate a connector you get the below error

image

Navigating to the URL given in the error

https://api.powerapps.com/providers/Microsoft.PowerApps/objectIds/c03fcc17-7e4e-4a4a-bf0f-5f39e2844a83/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true

returns

{"message":"No HTTP resource was found that matches the request URI 'https://api.powerapps.com/providers/Microsoft.PowerApps/objectIds/c03fcc17-7e4e-4a4a-bf0f-5f39e2844a83/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true'."}

To Reproduce paconn validate --api-def apiDefinition.swagger.json

Expected behavior A clear and concise description of what you expected to happen.

Environment summary paconn-cli version 0.0.10 running in Docker container on MacOS Mojave

docker run --rm -it -v $(pwd):/usr/app/paconn garryt/paconn-cli

mamurshe commented 4 years ago

Thanks for reporting the issue. I will investigate and respond by next week.

mamurshe commented 4 years ago

I was able to reproduce this error. I will fix this by end of next week.

mamurshe commented 4 years ago

@garrytrinder The error I reproduced isn't the same one you got. Can you please send me a copy of the swagger file? Please feel free to send the smallest subset that can be used to reproduce the error.

michi88 commented 4 years ago

I'm running into the same error, unfortunately.

$ paconn validate -s settings.json
{
  "message": "No HTTP resource was found that matches the request URI 'https://preview.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true'."
}
404 Client Error: Not Found for url: https://preview.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true

paconn==0.0.11

This is for a new connector I want to submit.

settings.json

{

    "apiProperties": "apiProperties.json",
    "apiDefinition": "apiDefinition.swagger.json",
    "icon": "icon.png",
    "powerAppsApiVersion": "2016-11-01",
    "powerAppsUrl": "https://preview.api.powerapps.com"
}

apiProperties.json

{
  "properties": {
    "capabilities": [],
    "connectionParameters": {
      "token": {
        "oAuthSettings": {
          "clientId": "Cg13CyJLi6ibicOYMweTl12uI1X6Rq6FTb7j9Y3v",
          "customParameters": {
            "authorizationUrl": {
              "value": "https://signrequest.com/api/v1/oauth2/authorize/"
            },
            "refreshUrl": {
              "value": "https://signrequest.com/api/v1/oauth2/token/"
            },
            "tokenUrl": {
              "value": "https://signrequest.com/api/v1/oauth2/token/"
            }
          },
          "identityProvider": "oauth2",
          "properties": {
            "IsFirstParty": "False"
          },
          "redirectMode": "Global",
          "redirectUrl": "https://global.consent.azure-apim.net/redirect",
          "scopes": [
            "write"
          ]
        },
        "type": "oauthSetting"
      }
    },
    "iconBrandColor": "#ffffff"
  }
}
apiDefinition.swagger.json

```json { "swagger": "2.0", "info": { "title": "SignRequest API", "termsOfService": "https://signrequest.com/#/terms", "contact": { "email": "tech-support@signrequest.com" }, "x-logo": { "url": "https://signrequest.com/images/logo-padded.png", "altText": "SignRequest" }, "description": "Creates signature requests using the SignRequest.com service.", "version": "v1" }, "host": "signrequest.com", "schemes": [ "https" ], "basePath": "/api/v1", "consumes": [ "application/json" ], "produces": [ "application/json" ], "securityDefinitions": { "oauth2_auth": { "type": "oauth2", "flow": "accessCode", "authorizationUrl": "https://signrequest.com/api/v1/oauth2/authorize/", "tokenUrl": "https://signrequest.com/api/v1/oauth2/token/", "scopes": { "write": "write" } } }, "security": [ { "Token": [] } ], "paths": { "/signrequest-quick-create/": { "post": { "operationId": "SignrequestQuickCreateCreate", "summary": "Send SignRequest", "description": "Creates and sends a new SignRequest.", "parameters": [ { "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/SignRequestQuickCreate" } } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/SignRequestQuickCreate" } } }, "tags": [ "signrequest-quick-create" ], "x-ms-visibility": "important" }, "parameters": [] }, "/teams/": { "get": { "operationId": "TeamsList", "summary": "Retrieve a list of Teams", "description": "Retrieves a list of teams.", "parameters": [ { "name": "page", "in": "query", "description": "A page number within the paginated result set.", "required": false, "type": "integer" }, { "name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer" }, { "name": "include_personal", "in": "query", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "", "schema": { "required": [ "count", "results" ], "type": "object", "properties": { "count": { "type": "integer" }, "next": { "type": "string", "format": "uri", "x-nullable": true }, "previous": { "type": "string", "format": "uri", "x-nullable": true }, "results": { "type": "array", "items": { "$ref": "#/definitions/Team" } } } } } }, "tags": [ "teams" ], "x-ms-visibility": "internal" }, "parameters": [] }, "/templates/": { "get": { "operationId": "TemplatesList", "summary": "Retrieve a list of Templates", "description": "Retrieves a list of templates.", "parameters": [ { "name": "page", "in": "query", "description": "A page number within the paginated result set.", "required": false, "type": "integer" }, { "name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer" }, { "name": "subdomain", "in": "query", "required": false, "type": "string" } ], "responses": { "200": { "description": "", "schema": { "required": [ "count", "results" ], "type": "object", "properties": { "count": { "type": "integer" }, "next": { "type": "string", "format": "uri", "x-nullable": true }, "previous": { "type": "string", "format": "uri", "x-nullable": true }, "results": { "type": "array", "items": { "$ref": "#/definitions/Template" } } } } } }, "tags": [ "templates" ], "x-ms-visibility": "internal" }, "parameters": [] }, "/webhooks/": { "post": { "operationId": "WebhooksCreate", "summary": "When a document status changes", "description": "Triggers when the document status of a SignRequest changes.", "parameters": [ { "name": "data", "in": "body", "required": true, "schema": { "$ref": "#/definitions/WebhookSubscription" } } ], "responses": { "201": { "description": "", "schema": { "$ref": "#/definitions/WebhookSubscription" } } }, "tags": [ "webhooks" ], "x-ms-trigger": "single", "x-ms-visibility": "important" }, "parameters": [], "x-ms-notification-content": { "schema": { "type": "object", "properties": { "document": { "$ref": "#/definitions/Document" } } } } } }, "definitions": { "DocumentAttachment": { "required": [ "document" ], "type": "object", "properties": { "url": { "title": "Document Attachment Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "uuid": { "title": "Document Attachment Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "name": { "title": "Document Attachment Name", "description": "Defaults to filename, including extension", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "file": { "title": "Document Attachment File", "description": "Temporary URL to document attachment, expires in five minutes", "type": "string", "readOnly": true, "x-nullable": true, "format": "uri", "x-ms-visibility": "advanced" }, "file_from_content": { "title": "Document Attachment File From Content", "description": "Base64 encoded document content", "type": "string", "x-nullable": true, "x-ms-visibility": "advanced" }, "file_from_content_name": { "title": "Document Attachment File From Content Name", "description": "Filename, including extension. Required when using `file_from_content`.", "type": "string", "x-nullable": true, "x-ms-visibility": "advanced" }, "file_from_url": { "title": "Document Attachment File From Url", "description": "Publicly accessible URL of document to be downloaded by SignRequest", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "document": { "title": "Document Attachment Document", "type": "string", "format": "uri", "x-ms-visibility": "advanced" } } }, "InlineTeam": { "type": "object", "properties": { "name": { "title": "Team Name", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "subdomain": { "title": "Team Subdomain", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "url": { "title": "Team Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" } }, "readOnly": true }, "User": { "title": "User", "required": [ "email" ], "type": "object", "properties": { "email": { "title": "User Email Address", "type": "string", "format": "email", "maxLength": 254, "minLength": 1, "x-ms-visibility": "advanced" }, "first_name": { "title": "User First Name", "type": "string", "maxLength": 255, "x-ms-visibility": "advanced" }, "last_name": { "title": "User Last Name", "type": "string", "maxLength": 255, "x-ms-visibility": "advanced" }, "display_name": { "title": "User Display Name", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" } } }, "InlinePrefillTags": { "description": "Prefill signer input data, see [prefill tags](#section/Preparing-a-document/Prefill-tags-templates)", "type": "object", "properties": { "external_id": { "title": "Prefill Tags External Id", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "text": { "title": "Prefill Tags Text", "type": "string", "x-nullable": true, "x-ms-visibility": "advanced" }, "checkbox_value": { "title": "Prefill Tags Checkbox Value", "type": "boolean", "x-nullable": true, "x-ms-visibility": "advanced" }, "date_value": { "title": "Prefill Tags Date Value", "type": "string", "format": "date", "x-nullable": true, "x-ms-visibility": "advanced" } } }, "FileFromSf": { "title": "File from sf", "required": [ "object_type", "object_id" ], "type": "object", "properties": { "object_type": { "title": "Object type", "type": "string", "minLength": 1, "x-ms-visibility": "advanced" }, "object_id": { "title": "Object id", "type": "string", "minLength": 1, "x-ms-visibility": "advanced" }, "uid": { "title": "Uid", "type": "string", "minLength": 1, "x-ms-visibility": "advanced" } } }, "RequiredAttachment": { "required": [ "name" ], "type": "object", "properties": { "name": { "title": "Required Attachment Name", "type": "string", "maxLength": 255, "minLength": 1, "x-ms-visibility": "advanced" }, "uuid": { "title": "Required Attachment Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" } } }, "SignerInputs": { "required": [ "page_index" ], "type": "object", "properties": { "type": { "title": "Type", "type": "string", "enum": [ "s", "i", "n", "d", "t", "c" ], "x-nullable": true, "x-ms-visibility": "advanced" }, "page_index": { "title": "Page index", "type": "integer", "x-ms-visibility": "advanced" }, "text": { "title": "Text", "type": "string", "x-ms-visibility": "advanced" }, "checkbox_value": { "title": "Checkbox value", "type": "boolean", "x-nullable": true, "x-ms-visibility": "advanced" }, "date_value": { "title": "Date value", "type": "string", "format": "date", "x-nullable": true, "x-ms-visibility": "advanced" }, "external_id": { "title": "External id", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "placeholder_uuid": { "title": "Placeholder uuid", "type": "string", "maxLength": 36, "x-nullable": true, "x-ms-visibility": "advanced" } } }, "SignerAttachment": { "type": "object", "properties": { "uuid": { "title": "Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "name": { "title": "Name", "description": "Defaults to filename", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "file": { "title": "File", "type": "string", "readOnly": true, "x-nullable": true, "format": "uri", "x-ms-visibility": "advanced" }, "for_attachment": { "$ref": "#/definitions/RequiredAttachment" } } }, "Signer": { "required": [ "email" ], "type": "object", "properties": { "email": { "title": "Signer Email", "type": "string", "format": "email", "maxLength": 255, "minLength": 1, "x-ms-visibility": "important" }, "display_name": { "title": "Signer Display Name", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "first_name": { "title": "Signer First Name", "type": "string", "maxLength": 255, "x-ms-visibility": "advanced" }, "last_name": { "title": "Signer Last Name", "type": "string", "maxLength": 255, "x-ms-visibility": "important" }, "email_viewed": { "title": "Signer Email Viewed", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "viewed": { "title": "Signer Viewed", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "signed": { "title": "Signer Signed", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "downloaded": { "title": "Signer Downloaded", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "signed_on": { "title": "Signer Signed On", "type": "string", "format": "date-time", "readOnly": true, "x-ms-visibility": "advanced" }, "needs_to_sign": { "title": "Signer Needs To Sign", "type": "boolean", "default": true, "x-ms-visibility": "important" }, "approve_only": { "title": "Signer Approve Only", "type": "boolean", "x-ms-visibility": "advanced" }, "notify_only": { "title": "Signer Notify Only", "type": "boolean", "x-ms-visibility": "advanced" }, "in_person": { "title": "Signer In Person", "type": "boolean", "x-ms-visibility": "advanced" }, "order": { "title": "Signer Order", "type": "integer", "maximum": 2147483647, "minimum": 0, "x-ms-visibility": "important" }, "language": { "title": "Signer Language", "type": "string", "enum": [ "en", "en-gb", "nl", "fr", "de", "he", "da", "fi", "hu", "it", "no", "pl", "pt", "es", "sv", "ru" ], "x-nullable": true, "x-ms-visibility": "advanced" }, "force_language": { "title": "Signer Force Language", "type": "boolean", "x-ms-visibility": "advanced" }, "emailed": { "title": "Signer Emailed", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "verify_phone_number": { "title": "Signer Verify Phone Number", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "verify_bank_account": { "title": "Signer Verify Bank Account", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "declined": { "title": "Signer Declined", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "declined_on": { "title": "Signer Declined On", "type": "string", "format": "date-time", "readOnly": true, "x-ms-visibility": "advanced" }, "forwarded": { "title": "Signer Forwarded", "type": "string", "readOnly": true, "x-ms-visibility": "advanced" }, "forwarded_on": { "title": "Signer Forwarded On", "type": "string", "format": "date-time", "readOnly": true, "x-ms-visibility": "advanced" }, "forwarded_to_email": { "title": "Signer Forwarded To Email", "type": "string", "format": "email", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "forwarded_reason": { "title": "Signer Forwarded Reason", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "message": { "title": "Signer Message", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "embed_url_user_id": { "title": "Signer Embed Url User Id", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "inputs": { "type": "array", "items": { "$ref": "#/definitions/SignerInputs" }, "readOnly": true, "x-ms-visibility": "advanced" }, "use_stamp_for_approve_only": { "title": "Signer Use Stamp For Approve Only", "description": "Place an approval stamp on a document when a signer approves a document", "type": "boolean", "x-nullable": true, "x-ms-visibility": "advanced" }, "embed_url": { "title": "Signer Embed Url", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "attachments": { "type": "array", "items": { "$ref": "#/definitions/SignerAttachment" }, "readOnly": true, "x-ms-visibility": "advanced" }, "redirect_url": { "title": "Signer Redirect Url", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "redirect_url_declined": { "title": "Signer Redirect Url Declined", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "after_document": { "title": "Signer After Document", "type": "string", "format": "uri", "x-ms-visibility": "advanced" }, "password": { "title": "Signer Password", "description": "Require the signer to enter this password before signing a document. This field is write only.", "type": "string", "minLength": 1, "x-ms-visibility": "advanced" } } }, "InlineSignRequest": { "type": "object", "properties": { "from_email": { "title": "Signrequest From Email", "description": "Email of user sending the SignRequest (must be a validated email)", "type": "string", "format": "email", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "from_email_name": { "title": "Signrequest From Email Name", "description": "Name to be used in the `From` email header, e.g. `{from_email_name} `", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "is_being_prepared": { "title": "Signrequest Is Being Prepared", "description": "Have the sender of a SignRequest prepare the document before sending the request out, see: [prepare using the web interface](#section/Preparing-a-document/Prepare-using-the-web-interface)", "type": "boolean", "readOnly": true, "x-nullable": true, "x-ms-visibility": "advanced" }, "prepare_url": { "title": "Signrequest Prepare Url", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "redirect_url": { "title": "Signrequest Redirect Url", "description": "URL at which SignRequest will redirect to when a document is signed", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "redirect_url_declined": { "title": "Signrequest Redirect Url Declined", "description": "URL at which SignRequest will redirect to when a document is declined", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "required_attachments": { "type": "array", "items": { "$ref": "#/definitions/RequiredAttachment" }, "readOnly": true, "x-ms-visibility": "advanced" }, "disable_attachments": { "title": "Signrequest Disable Attachments", "description": "Disable uploading/adding of attachments", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_text_signatures": { "title": "Signrequest Disable Text Signatures", "description": "Disable usage of signatures generated by typing (text)", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_text": { "title": "Signrequest Disable Text", "description": "Disable adding of text", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_date": { "title": "Signrequest Disable Date", "description": "Disable adding of dates", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_emails": { "title": "Signrequest Disable Emails", "description": "Disable all SignRequest status emails as well as the email that contains the signed documents", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_upload_signatures": { "title": "Signrequest Disable Upload Signatures", "description": "Disable usage of uploaded signatures (images)", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_blockchain_proof": { "title": "Signrequest Disable Blockchain Proof", "description": "Disables storing timestamp proof hashes in blockchain integrations.", "type": "boolean", "readOnly": true, "x-nullable": true, "x-ms-visibility": "advanced" }, "text_message_verification_locked": { "title": "Signrequest Text Message Verification Locked", "description": "When true a text message verification is needed before the signer can see the document", "type": "boolean", "readOnly": true, "x-nullable": true, "x-ms-visibility": "advanced" }, "subject": { "title": "Signrequest Subject", "description": "Subject of SignRequest email", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "message": { "title": "Signrequest Message", "description": "Message to include in SignRequest email, may contain the following html tags: `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "who": { "title": "Signrequest Who", "description": "`m`: only me, `mo`: me and others, `o`: only others", "type": "string", "enum": [ "m", "mo", "o" ], "readOnly": true, "x-ms-visibility": "advanced" }, "send_reminders": { "title": "Signrequest Send Reminders", "description": "Automatically remind signers to sign a document", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "signers": { "type": "array", "items": { "$ref": "#/definitions/Signer" }, "readOnly": true, "x-ms-visibility": "advanced" }, "uuid": { "title": "Signrequest Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" } }, "readOnly": true }, "SigningLog": { "type": "object", "properties": { "pdf": { "title": "Signing Log Pdf", "description": "Temporary URL to signing log, expires in five minutes", "type": "string", "readOnly": true, "x-nullable": true, "format": "uri", "x-ms-visibility": "advanced" }, "security_hash": { "title": "Signing Log Security Hash", "description": "SHA256 hash of PDF contents", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" } }, "readOnly": true }, "Document": { "type": "object", "properties": { "url": { "title": "Document Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "team": { "type": "object", "properties": { "name": { "title": "Team Name", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "subdomain": { "title": "Team Subdomain", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "url": { "title": "Team Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" } }, "readOnly": true }, "uuid": { "title": "Document Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "user": { "$ref": "#/definitions/User" }, "file_as_pdf": { "title": "Document File As Pdf", "description": "Temporary URL to original file as PDF, expires in five minutes", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "name": { "title": "Document Name", "description": "Defaults to filename, including extension", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "external_id": { "title": "Document External Id", "description": "ID used to reference document in external system", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "frontend_id": { "title": "Document Frontend Id", "description": "Shared secret used in conjunction with SignRequest-js client to grant user access to a document that's not a member of the document's team", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "file": { "title": "Document File", "description": "Temporary URL to original file, expires in five minutes", "type": "string", "readOnly": true, "x-nullable": true, "format": "uri", "x-ms-visibility": "advanced" }, "file_from_url": { "title": "Document File From Url", "description": "Publicly accessible URL of document to be downloaded by SignRequest", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "events_callback_url": { "title": "Document Events Callback Url", "description": "URL at which to receive [event callbacks](#section/Events/Events-callback) for this document", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "file_from_content": { "title": "Document File From Content", "description": "Base64 encoded document content", "type": "string", "x-nullable": true, "x-ms-visibility": "advanced" }, "file_from_content_name": { "title": "Document File From Content Name", "description": "Filename, including extension. Required when using `file_from_content`.", "type": "string", "x-nullable": true, "x-ms-visibility": "advanced" }, "template": { "title": "Document Template", "type": "string", "format": "uri", "x-nullable": true, "x-ms-visibility": "advanced" }, "prefill_tags": { "description": "Prefill signer input data, see [prefill tags](#section/Preparing-a-document/Prefill-tags-templates)", "type": "array", "items": { "$ref": "#/definitions/InlinePrefillTags" }, "x-ms-visibility": "advanced" }, "file_from_sf": { "$ref": "#/definitions/FileFromSf" }, "auto_delete_days": { "title": "Document Auto Delete Days", "description": "Number of days after which a finished document (signed/cancelled/declined) will be automatically deleted", "type": "integer", "maximum": 730, "minimum": 1, "x-nullable": true, "x-ms-visibility": "advanced" }, "auto_expire_days": { "title": "Document Auto Expire Days", "description": "Number of days after which a non finished document will be automatically expired", "type": "integer", "maximum": 730, "minimum": 1, "x-nullable": true, "x-ms-visibility": "advanced" }, "pdf": { "title": "Document Pdf", "description": "Temporary URL to signed document as PDF, expires in five minutes", "type": "string", "readOnly": true, "format": "uri", "x-ms-visibility": "advanced" }, "status": { "title": "Document Status", "description": "`co`: converting, `ne`: new, `se`: sent, `vi`: viewed, `si`: signed, `do`: downloaded, `sd`: signed and downloaded, `ca`: cancelled, `de`: declined, `ec`: error converting, `es`: error sending, `xp`: expired", "type": "string", "enum": [ "co", "ne", "se", "vi", "si", "do", "sd", "ca", "de", "ec", "es", "xp" ], "readOnly": true, "x-ms-visibility": "advanced" }, "signrequest": { "type": "object", "properties": { "from_email": { "title": "Signrequest From Email", "description": "Email of user sending the SignRequest (must be a validated email)", "type": "string", "format": "email", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "from_email_name": { "title": "Signrequest From Email Name", "description": "Name to be used in the `From` email header, e.g. `{from_email_name} `", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "is_being_prepared": { "title": "Signrequest Is Being Prepared", "description": "Have the sender of a SignRequest prepare the document before sending the request out, see: [prepare using the web interface](#section/Preparing-a-document/Prepare-using-the-web-interface)", "type": "boolean", "readOnly": true, "x-nullable": true, "x-ms-visibility": "advanced" }, "prepare_url": { "title": "Signrequest Prepare Url", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "redirect_url": { "title": "Signrequest Redirect Url", "description": "URL at which SignRequest will redirect to when a document is signed", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "redirect_url_declined": { "title": "Signrequest Redirect Url Declined", "description": "URL at which SignRequest will redirect to when a document is declined", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "required_attachments": { "type": "array", "items": { "$ref": "#/definitions/RequiredAttachment" }, "readOnly": true, "x-ms-visibility": "advanced" }, "disable_attachments": { "title": "Signrequest Disable Attachments", "description": "Disable uploading/adding of attachments", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_text_signatures": { "title": "Signrequest Disable Text Signatures", "description": "Disable usage of signatures generated by typing (text)", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_text": { "title": "Signrequest Disable Text", "description": "Disable adding of text", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_date": { "title": "Signrequest Disable Date", "description": "Disable adding of dates", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_emails": { "title": "Signrequest Disable Emails", "description": "Disable all SignRequest status emails as well as the email that contains the signed documents", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_upload_signatures": { "title": "Signrequest Disable Upload Signatures", "description": "Disable usage of uploaded signatures (images)", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "disable_blockchain_proof": { "title": "Signrequest Disable Blockchain Proof", "description": "Disables storing timestamp proof hashes in blockchain integrations.", "type": "boolean", "readOnly": true, "x-nullable": true, "x-ms-visibility": "advanced" }, "text_message_verification_locked": { "title": "Signrequest Text Message Verification Locked", "description": "When true a text message verification is needed before the signer can see the document", "type": "boolean", "readOnly": true, "x-nullable": true, "x-ms-visibility": "advanced" }, "subject": { "title": "Signrequest Subject", "description": "Subject of SignRequest email", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "message": { "title": "Signrequest Message", "description": "Message to include in SignRequest email, may contain the following html tags: `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "who": { "title": "Signrequest Who", "description": "`m`: only me, `mo`: me and others, `o`: only others", "type": "string", "enum": [ "m", "mo", "o" ], "readOnly": true, "x-ms-visibility": "advanced" }, "send_reminders": { "title": "Signrequest Send Reminders", "description": "Automatically remind signers to sign a document", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "signers": { "type": "array", "items": { "$ref": "#/definitions/Signer" }, "readOnly": true, "x-ms-visibility": "advanced" }, "uuid": { "title": "Signrequest Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" } }, "readOnly": true }, "api_used": { "title": "Document Api Used", "description": "Indicates whether document was created using the API", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" }, "signing_log": { "type": "object", "properties": { "pdf": { "title": "Signing Log Pdf", "description": "Temporary URL to signing log, expires in five minutes", "type": "string", "readOnly": true, "x-nullable": true, "format": "uri", "x-ms-visibility": "advanced" }, "security_hash": { "title": "Signing Log Security Hash", "description": "SHA256 hash of PDF contents", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" } }, "readOnly": true }, "security_hash": { "title": "Document Security Hash", "description": "SHA256 hash of PDF contents", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "attachments": { "type": "array", "items": { "$ref": "#/definitions/DocumentAttachment" }, "readOnly": true, "x-ms-visibility": "advanced" }, "auto_delete_after": { "title": "Document Auto Delete After", "description": "Date and time calculated using `auto_delete_days` after which a finished document (signed/cancelled/declined) will be automatically deleted", "type": "string", "format": "date-time", "readOnly": true, "x-ms-visibility": "advanced" }, "sandbox": { "title": "Document Sandbox", "description": "Indicates whether document was created as part of a sandbox team", "type": "boolean", "readOnly": true, "x-nullable": true, "x-ms-visibility": "advanced" }, "auto_expire_after": { "title": "Document Auto Expire After", "description": "Date and time calculated using `auto_expire_days` after which a non finished document will be automatically expired", "type": "string", "format": "date-time", "readOnly": true, "x-ms-visibility": "advanced" } } }, "SignRequestQuickCreate": { "required": [ "signers" ], "type": "object", "properties": { "subdomain": { "type": "string", "x-ms-visibility": "important", "title": "Team", "x-ms-dynamic-values": { "operationId": "TeamsList", "value-path": "subdomain", "value-collection": "results", "value-title": "name", "parameters": { "include_personal": true } } }, "template": { "title": "Template", "type": "string", "format": "uri", "x-nullable": true, "x-ms-visibility": "important", "x-ms-dynamic-values": { "operationId": "TemplatesList", "value-path": "url", "value-collection": "results", "value-title": "name", "parameters": { "subdomain": { "parameter": "subdomain" } } } }, "file_from_url": { "title": "File from url", "description": "Publicly accessible URL of document to be downloaded by SignRequest", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "important" }, "file_from_content": { "title": "File from content", "description": "Base64 encoded document content", "type": "string", "x-nullable": true, "x-ms-visibility": "important", "format": "byte" }, "file_from_content_name": { "title": "File from content name", "description": "Filename, including extension. Required when using `file_from_content`.", "type": "string", "x-nullable": true, "x-ms-visibility": "important" }, "from_email": { "title": "From email", "description": "Email of user sending the SignRequest (must be a validated email)", "type": "string", "format": "email", "maxLength": 255, "minLength": 1, "x-ms-visibility": "advanced" }, "from_email_name": { "title": "From email name", "description": "Name to be used in the `From` email header, e.g. `{from_email_name} `", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "is_being_prepared": { "title": "Is being prepared", "description": "Have the sender of a SignRequest prepare the document before sending the request out, see: [prepare using the web interface](#section/Preparing-a-document/Prepare-using-the-web-interface)", "type": "boolean", "x-nullable": true, "x-ms-visibility": "advanced" }, "prepare_url": { "title": "Prepare url", "type": "string", "format": "uri", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "redirect_url": { "title": "Redirect url", "description": "URL at which SignRequest will redirect to when a document is signed", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "redirect_url_declined": { "title": "Redirect url declined", "description": "URL at which SignRequest will redirect to when a document is declined", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "required_attachments": { "description": "Attachments that signers are required to upload", "type": "array", "items": { "$ref": "#/definitions/RequiredAttachment" }, "x-ms-visibility": "advanced" }, "disable_attachments": { "title": "Disable attachments", "description": "Disable uploading/adding of attachments", "type": "boolean", "x-ms-visibility": "advanced" }, "disable_text_signatures": { "title": "Disable text signatures", "description": "Disable usage of signatures generated by typing (text)", "type": "boolean", "x-ms-visibility": "advanced" }, "disable_text": { "title": "Disable text", "description": "Disable adding of text", "type": "boolean", "x-ms-visibility": "advanced" }, "disable_date": { "title": "Disable date", "description": "Disable adding of dates", "type": "boolean", "x-ms-visibility": "advanced" }, "disable_emails": { "title": "Disable emails", "description": "Disable all SignRequest status emails as well as the email that contains the signed documents", "type": "boolean", "x-ms-visibility": "advanced" }, "disable_upload_signatures": { "title": "Disable upload signatures", "description": "Disable usage of uploaded signatures (images)", "type": "boolean", "x-ms-visibility": "advanced" }, "disable_blockchain_proof": { "title": "Disable blockchain proof", "description": "Disables storing timestamp proof hashes in blockchain integrations.", "type": "boolean", "x-nullable": true, "x-ms-visibility": "advanced" }, "text_message_verification_locked": { "title": "Text message verification locked", "description": "When true a text message verification is needed before the signer can see the document", "type": "boolean", "x-nullable": true, "x-ms-visibility": "advanced" }, "subject": { "title": "Subject", "description": "Subject of SignRequest email", "type": "string", "maxLength": 512, "x-nullable": true, "x-ms-visibility": "advanced" }, "message": { "title": "Message", "description": "Message to include in SignRequest email, may contain the following html tags: `a`, `abbr`, `acronym`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, and `strong`", "type": "string", "x-nullable": true, "x-ms-visibility": "advanced" }, "who": { "title": "Who", "description": "`m`: only me, `mo`: me and others, `o`: only others", "type": "string", "enum": [ "m", "mo", "o" ], "default": "o", "x-nullable": true, "x-ms-visibility": "advanced" }, "send_reminders": { "title": "Send reminders", "description": "Automatically remind signers to sign a document", "type": "boolean", "x-ms-visibility": "advanced" }, "signers": { "type": "array", "items": { "$ref": "#/definitions/Signer" }, "x-ms-visibility": "important" }, "uuid": { "title": "Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "url": { "title": "Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "document": { "title": "Document", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "name": { "title": "Name", "description": "Defaults to filename, including extension", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "external_id": { "title": "External id", "description": "ID used to reference document in external system", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "frontend_id": { "title": "Frontend id", "description": "Shared secret used in conjunction with SignRequest-js client to grant user access to a document that's not a member of the document's team", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" }, "file": { "title": "File", "description": "Temporary URL to original file, expires in five minutes", "type": "string", "readOnly": true, "x-nullable": true, "format": "uri", "x-ms-visibility": "advanced" }, "events_callback_url": { "title": "Events callback url", "description": "URL at which to receive [event callbacks](#section/Events/Events-callback) for this document", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "prefill_tags": { "description": "Prefill signer input data, see [prefill tags](#section/Preparing-a-document/Prefill-tags-templates)", "type": "array", "items": { "$ref": "#/definitions/InlinePrefillTags" }, "x-ms-visibility": "advanced" }, "auto_delete_days": { "title": "Auto delete days", "description": "Number of days after which a finished document (signed/cancelled/declined) will be automatically deleted", "type": "integer", "maximum": 730, "minimum": 1, "x-nullable": true, "x-ms-visibility": "advanced" }, "auto_expire_days": { "title": "Auto expire days", "description": "Number of days after which a non finished document will be automatically expired", "type": "integer", "maximum": 730, "minimum": 1, "x-nullable": true, "x-ms-visibility": "advanced" } } }, "InlineTeamMember": { "type": "object", "properties": { "uuid": { "title": "Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "url": { "title": "Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "user": { "$ref": "#/definitions/User" }, "is_admin": { "title": "Is admin", "type": "boolean", "x-ms-visibility": "advanced" }, "is_active": { "title": "Active", "type": "boolean", "x-ms-visibility": "advanced" }, "is_owner": { "title": "Is owner", "type": "boolean", "x-ms-visibility": "advanced" } } }, "Team": { "required": [ "name", "subdomain" ], "type": "object", "properties": { "name": { "title": "Name", "type": "string", "maxLength": 100, "minLength": 1, "x-ms-visibility": "advanced" }, "subdomain": { "title": "Subdomain", "type": "string", "format": "slug", "maxLength": 100, "minLength": 1, "x-ms-visibility": "advanced" }, "url": { "title": "Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "logo": { "title": "Logo", "type": "string", "readOnly": true, "x-nullable": true, "format": "uri", "x-ms-visibility": "advanced" }, "phone": { "title": "Phone", "type": "string", "maxLength": 100, "x-ms-visibility": "advanced" }, "primary_color": { "title": "Primary_color", "type": "string", "pattern": "^[#a-zA-Z0-9]+$", "maxLength": 100, "x-ms-visibility": "advanced" }, "events_callback_url": { "title": "Events callback url", "type": "string", "format": "uri", "maxLength": 2100, "x-nullable": true, "x-ms-visibility": "advanced" }, "members": { "type": "array", "items": { "$ref": "#/definitions/InlineTeamMember" }, "readOnly": true, "x-ms-visibility": "advanced" }, "delete_after": { "title": "Delete after", "description": "When filled this team will be deleted after this date", "type": "string", "format": "date-time", "readOnly": true, "x-ms-visibility": "advanced" }, "sandbox": { "title": "Sandbox", "description": "Indicates whether team is in Sandbox mode", "type": "boolean", "readOnly": true, "x-ms-visibility": "advanced" } } }, "Placeholder": { "required": [ "page_index", "prefill" ], "type": "object", "properties": { "uuid": { "title": "Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "type": { "title": "Type", "type": "string", "enum": [ "s", "i", "n", "d", "t", "c" ], "x-ms-visibility": "advanced" }, "page_index": { "title": "Page index", "type": "integer", "x-ms-visibility": "advanced" }, "prefill": { "title": "Prefill", "type": "boolean", "x-ms-visibility": "advanced" }, "text": { "title": "Text", "type": "string", "x-nullable": true, "x-ms-visibility": "advanced" }, "checkbox_value": { "title": "Checkbox value", "type": "boolean", "x-nullable": true, "x-ms-visibility": "advanced" }, "date_value": { "title": "Date value", "type": "string", "format": "date", "x-nullable": true, "x-ms-visibility": "advanced" }, "external_id": { "title": "External id", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "advanced" } } }, "DocumentSignerTemplateConf": { "type": "object", "properties": { "signer_index": { "title": "Signer index", "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "x-ms-visibility": "advanced" }, "needs_to_sign": { "title": "Needs to sign", "type": "boolean", "x-ms-visibility": "advanced" }, "approve_only": { "title": "Approve only", "type": "boolean", "x-ms-visibility": "advanced" }, "notify_only": { "title": "Notify only", "type": "boolean", "x-ms-visibility": "advanced" }, "in_person": { "title": "In person", "type": "boolean", "x-ms-visibility": "advanced" }, "order": { "title": "Order", "type": "integer", "maximum": 2147483647, "minimum": 0, "x-ms-visibility": "advanced" }, "placeholders": { "type": "array", "items": { "$ref": "#/definitions/Placeholder" }, "readOnly": true, "x-ms-visibility": "advanced" } } }, "Template": { "type": "object", "properties": { "url": { "title": "Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "name": { "title": "Name", "description": "Defaults to filename", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "uuid": { "title": "Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "user": { "$ref": "#/definitions/User" }, "team": { "type": "object", "properties": { "name": { "title": "Team Name", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "subdomain": { "title": "Team Subdomain", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "url": { "title": "Team Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" } }, "readOnly": true }, "who": { "title": "Who", "description": "`m`: only me, `mo`: me and others, `o`: only others", "type": "string", "enum": [ "m", "mo", "o" ], "x-ms-visibility": "advanced" }, "signers": { "type": "array", "items": { "$ref": "#/definitions/DocumentSignerTemplateConf" }, "readOnly": true, "x-ms-visibility": "advanced" } } }, "WebhookSubscription": { "required": [ "event_type", "callback_url" ], "type": "object", "properties": { "url": { "title": "Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" }, "uuid": { "title": "Uuid", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "name": { "title": "Name", "description": "Optional name to easily identify what webhook is used for", "type": "string", "maxLength": 255, "x-nullable": true, "x-ms-visibility": "important" }, "event_type": { "title": "Event type", "type": "string", "enum": [ "convert_error", "converted", "sending_error", "sent", "declined", "cancelled", "expired", "signed", "viewed", "downloaded", "signer_signed", "signer_email_bounced", "signer_viewed_email", "signer_viewed", "signer_forwarded", "signer_downloaded", "signrequest_received" ], "x-ms-visibility": "important" }, "callback_url": { "title": "Callback url", "type": "string", "format": "uri", "maxLength": 2100, "minLength": 1, "x-ms-visibility": "internal", "x-ms-notification-url": true }, "team": { "type": "object", "properties": { "name": { "title": "Team Name", "type": "string", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "subdomain": { "title": "Team Subdomain", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "readOnly": true, "minLength": 1, "x-ms-visibility": "advanced" }, "url": { "title": "Team Url", "type": "string", "format": "uri", "readOnly": true, "x-ms-visibility": "advanced" } }, "readOnly": true }, "created": { "title": "Created", "type": "string", "format": "date-time", "readOnly": true, "x-ms-visibility": "advanced" }, "subdomain": { "type": "string", "x-ms-visibility": "important", "title": "Team", "x-ms-dynamic-values": { "operationId": "TeamsList", "value-path": "subdomain", "value-collection": "results", "value-title": "name", "parameters": { "include_personal": true } } } } } } } ```

mamurshe commented 4 years ago

@michi88 Thanks for reporting. I will investigate.

mamurshe commented 4 years ago

I tried again today with specific regional endpoints and couldn't reproduce. Can you please try the following commands? paconn validate -d apiDefinition.swagger.json -u https://us.api.powerapps.com paconn validate -d apiDefinition.swagger.json -u https://europe.api.powerapps.com

michi88 commented 4 years ago

Still the same:

$ paconn validate -d apiDefinition.swagger.json -u https://us.api.powerapps.com
{
  "message": "No HTTP resource was found that matches the request URI 'https://us.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true'."
}
404 Client Error: Not Found for url: https://us.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true

$ paconn validate -d apiDefinition.swagger.json -u https://europe.api.powerapps.com
{
  "message": "No HTTP resource was found that matches the request URI 'https://europe.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true'."
}
404 Client Error: Not Found for url: https://europe.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true

$ paconn validate -s settings.json -u https://europe.api.powerapps.com
{
  "message": "No HTTP resource was found that matches the request URI 'https://preview.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true'."
}
404 Client Error: Not Found for url: https://preview.api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true

$ paconn validate -d apiDefinition.swagger.json
{
  "message": "No HTTP resource was found that matches the request URI 'https://api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true'."
}
404 Client Error: Not Found for url: https://api.powerapps.com/providers/Microsoft.PowerApps/objectIds/validateApiSwagger?api-version=2016-11-01&enableConnectorCertificationRules=true
paconn==0.0.11
azure-common==1.1.23
azure-core==1.0.0
azure-nspkg==3.0.2
azure-storage-blob==0.37.1
azure-storage-common==0.37.1
azure-storage-nspkg==3.1.0
msrestazure==0.6.2
mamurshe commented 4 years ago

Thanks for testing @michi88 I will investigate more.

mamurshe commented 4 years ago

The root cause of the problem is that the user may not have a paid subscription for this feature.

Having a paid subscription is important, because we will need you to have the ability to setup an environment where you can create, modify and test not only your custom connector but also your certified connector.

Here is a link to the Microsoft Power Apps and Power Automate Licensing Guide. Microsoft does offer standalone Power Automate (Flow) subscriptions that you can purchase in order to create environments needed for custom and certified connectors. Specifically, you will need an environment in the Preview region to test your certified connector that we create and deploy.

Once you buy a license and create an environment, you can import your postman file to create a custom connector that the CLI tool can access to create the artifact files needed for certification.