{
  "basePath": "",
  "baseUrl": "https://digitalassetlinks.googleapis.com/",
  "batchPath": "batch",
  "description": "Discovers relationships between online assets such as websites or mobile apps.",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/digital-asset-links/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "digitalassetlinks:v1",
  "kind": "discovery#restDescription",
  "name": "digitalassetlinks",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "assetlinks": {
      "methods": {
        "check": {
          "description": "Determines whether the specified (directional) relationship exists between\nthe specified source and target assets.\n\nThe relation describes the intent of the link between the two assets as\nclaimed by the source asset.  An example for such relationships is the\ndelegation of privileges or permissions.\n\nThis command is most often used by infrastructure systems to check\npreconditions for an action.  For example, a client may want to know if it\nis OK to send a web URL to a particular mobile app instead. The client can\ncheck for the relevant asset link from the website to the mobile app to\ndecide if the operation should be allowed.\n\nA note about security: if you specify a secure asset as the source, such as\nan HTTPS website or an Android app, the API will ensure that any\nstatements used to generate the response have been made in a secure way by\nthe owner of that asset.  Conversely, if the source asset is an insecure\nHTTP website (that is, the URL starts with `http://` instead of\n`https://`), the API cannot verify its statements securely, and it is not\npossible to ensure that the website's statements have not been altered by a\nthird party.  For more information, see the [Digital Asset Links technical\ndesign\nspecification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).",
          "flatPath": "v1/assetlinks:check",
          "httpMethod": "GET",
          "id": "digitalassetlinks.assetlinks.check",
          "parameterOrder": [],
          "parameters": {
            "relation": {
              "description": "Query string for the relation.\n\nWe identify relations with strings of the format `\u003ckind\u003e/\u003cdetail\u003e`, where\n`\u003ckind\u003e` must be one of a set of pre-defined purpose categories, and\n`\u003cdetail\u003e` is a free-form lowercase alphanumeric string that describes the\nspecific use case of the statement.\n\nRefer to [our API documentation](/digital-asset-links/v1/relation-strings)\nfor the current list of supported relations.\n\nFor a query to match an asset link, both the query's and the asset link's\nrelation strings must match exactly.\n\nExample: A query with relation `delegate_permission/common.handle_all_urls`\nmatches an asset link with relation\n`delegate_permission/common.handle_all_urls`.",
              "location": "query",
              "type": "string"
            },
            "source.androidApp.certificate.sha256Fingerprint": {
              "description": "The uppercase SHA-265 fingerprint of the certificate.  From the PEM\n certificate, it can be acquired like this:\n\n    $ keytool -printcert -file $CERTFILE | grep SHA256:\n    SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \\\n        42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nor like this:\n\n    $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256\n    SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \\\n        16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nIn this example, the contents of this field would be `14:6D:E9:83:C5:73:\n06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:\n44:E5`.\n\nIf these tools are not available to you, you can convert the PEM\ncertificate into the DER format, compute the SHA-256 hash of that string\nand represent the result as a hexstring (that is, uppercase hexadecimal\nrepresentations of each octet, separated by colons).",
              "location": "query",
              "type": "string"
            },
            "source.androidApp.packageName": {
              "description": "Android App assets are naturally identified by their Java package name.\nFor example, the Google Maps app uses the package name\n`com.google.android.apps.maps`.\nREQUIRED",
              "location": "query",
              "type": "string"
            },
            "source.web.site": {
              "description": "Web assets are identified by a URL that contains only the scheme, hostname\nand port parts.  The format is\n\n    http[s]://\u003chostname\u003e[:\u003cport\u003e]\n\nHostnames must be fully qualified: they must end in a single period\n(\"`.`\").\n\nOnly the schemes \"http\" and \"https\" are currently allowed.\n\nPort numbers are given as a decimal number, and they must be omitted if the\nstandard port numbers are used: 80 for http and 443 for https.\n\nWe call this limited URL the \"site\".  All URLs that share the same scheme,\nhostname and port are considered to be a part of the site and thus belong\nto the web asset.\n\nExample: the asset with the site `https://www.google.com` contains all\nthese URLs:\n\n  *   `https://www.google.com/`\n  *   `https://www.google.com:443/`\n  *   `https://www.google.com/foo`\n  *   `https://www.google.com/foo?bar`\n  *   `https://www.google.com/foo#bar`\n  *   `https://user@password:www.google.com/`\n\nBut it does not contain these URLs:\n\n  *   `http://www.google.com/`       (wrong scheme)\n  *   `https://google.com/`          (hostname does not match)\n  *   `https://www.google.com:444/`  (port does not match)\nREQUIRED",
              "location": "query",
              "type": "string"
            },
            "target.androidApp.certificate.sha256Fingerprint": {
              "description": "The uppercase SHA-265 fingerprint of the certificate.  From the PEM\n certificate, it can be acquired like this:\n\n    $ keytool -printcert -file $CERTFILE | grep SHA256:\n    SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \\\n        42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nor like this:\n\n    $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256\n    SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \\\n        16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nIn this example, the contents of this field would be `14:6D:E9:83:C5:73:\n06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:\n44:E5`.\n\nIf these tools are not available to you, you can convert the PEM\ncertificate into the DER format, compute the SHA-256 hash of that string\nand represent the result as a hexstring (that is, uppercase hexadecimal\nrepresentations of each octet, separated by colons).",
              "location": "query",
              "type": "string"
            },
            "target.androidApp.packageName": {
              "description": "Android App assets are naturally identified by their Java package name.\nFor example, the Google Maps app uses the package name\n`com.google.android.apps.maps`.\nREQUIRED",
              "location": "query",
              "type": "string"
            },
            "target.web.site": {
              "description": "Web assets are identified by a URL that contains only the scheme, hostname\nand port parts.  The format is\n\n    http[s]://\u003chostname\u003e[:\u003cport\u003e]\n\nHostnames must be fully qualified: they must end in a single period\n(\"`.`\").\n\nOnly the schemes \"http\" and \"https\" are currently allowed.\n\nPort numbers are given as a decimal number, and they must be omitted if the\nstandard port numbers are used: 80 for http and 443 for https.\n\nWe call this limited URL the \"site\".  All URLs that share the same scheme,\nhostname and port are considered to be a part of the site and thus belong\nto the web asset.\n\nExample: the asset with the site `https://www.google.com` contains all\nthese URLs:\n\n  *   `https://www.google.com/`\n  *   `https://www.google.com:443/`\n  *   `https://www.google.com/foo`\n  *   `https://www.google.com/foo?bar`\n  *   `https://www.google.com/foo#bar`\n  *   `https://user@password:www.google.com/`\n\nBut it does not contain these URLs:\n\n  *   `http://www.google.com/`       (wrong scheme)\n  *   `https://google.com/`          (hostname does not match)\n  *   `https://www.google.com:444/`  (port does not match)\nREQUIRED",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/assetlinks:check",
          "response": {
            "$ref": "CheckResponse"
          }
        }
      }
    },
    "statements": {
      "methods": {
        "list": {
          "description": "Retrieves a list of all statements from a given source that match the\nspecified target and statement string.\n\nThe API guarantees that all statements with secure source assets, such as\nHTTPS websites or Android apps, have been made in a secure way by the owner\nof those assets, as described in the [Digital Asset Links technical design\nspecification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).\nSpecifically, you should consider that for insecure websites (that is,\nwhere the URL starts with `http://` instead of `https://`), this guarantee\ncannot be made.\n\nThe `List` command is most useful in cases where the API client wants to\nknow all the ways in which two assets are related, or enumerate all the\nrelationships from a particular source asset.  Example: a feature that\nhelps users navigate to related items.  When a mobile app is running on a\ndevice, the feature would make it easy to navigate to the corresponding web\nsite or Google+ profile.",
          "flatPath": "v1/statements:list",
          "httpMethod": "GET",
          "id": "digitalassetlinks.statements.list",
          "parameterOrder": [],
          "parameters": {
            "relation": {
              "description": "Use only associations that match the specified relation.\n\nSee the [`Statement`](#Statement) message for a detailed definition of\nrelation strings.\n\nFor a query to match a statement, one of the following must be true:\n\n*    both the query's and the statement's relation strings match exactly,\n     or\n*    the query's relation string is empty or missing.\n\nExample: A query with relation `delegate_permission/common.handle_all_urls`\nmatches an asset link with relation\n`delegate_permission/common.handle_all_urls`.",
              "location": "query",
              "type": "string"
            },
            "source.androidApp.certificate.sha256Fingerprint": {
              "description": "The uppercase SHA-265 fingerprint of the certificate.  From the PEM\n certificate, it can be acquired like this:\n\n    $ keytool -printcert -file $CERTFILE | grep SHA256:\n    SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \\\n        42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nor like this:\n\n    $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256\n    SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \\\n        16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nIn this example, the contents of this field would be `14:6D:E9:83:C5:73:\n06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:\n44:E5`.\n\nIf these tools are not available to you, you can convert the PEM\ncertificate into the DER format, compute the SHA-256 hash of that string\nand represent the result as a hexstring (that is, uppercase hexadecimal\nrepresentations of each octet, separated by colons).",
              "location": "query",
              "type": "string"
            },
            "source.androidApp.packageName": {
              "description": "Android App assets are naturally identified by their Java package name.\nFor example, the Google Maps app uses the package name\n`com.google.android.apps.maps`.\nREQUIRED",
              "location": "query",
              "type": "string"
            },
            "source.web.site": {
              "description": "Web assets are identified by a URL that contains only the scheme, hostname\nand port parts.  The format is\n\n    http[s]://\u003chostname\u003e[:\u003cport\u003e]\n\nHostnames must be fully qualified: they must end in a single period\n(\"`.`\").\n\nOnly the schemes \"http\" and \"https\" are currently allowed.\n\nPort numbers are given as a decimal number, and they must be omitted if the\nstandard port numbers are used: 80 for http and 443 for https.\n\nWe call this limited URL the \"site\".  All URLs that share the same scheme,\nhostname and port are considered to be a part of the site and thus belong\nto the web asset.\n\nExample: the asset with the site `https://www.google.com` contains all\nthese URLs:\n\n  *   `https://www.google.com/`\n  *   `https://www.google.com:443/`\n  *   `https://www.google.com/foo`\n  *   `https://www.google.com/foo?bar`\n  *   `https://www.google.com/foo#bar`\n  *   `https://user@password:www.google.com/`\n\nBut it does not contain these URLs:\n\n  *   `http://www.google.com/`       (wrong scheme)\n  *   `https://google.com/`          (hostname does not match)\n  *   `https://www.google.com:444/`  (port does not match)\nREQUIRED",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/statements:list",
          "response": {
            "$ref": "ListResponse"
          }
        }
      }
    }
  },
  "revision": "20190429",
  "rootUrl": "https://digitalassetlinks.googleapis.com/",
  "schemas": {
    "AndroidAppAsset": {
      "description": "Describes an android app asset.",
      "id": "AndroidAppAsset",
      "properties": {
        "certificate": {
          "$ref": "CertificateInfo",
          "description": "Because there is no global enforcement of package name uniqueness, we also\nrequire a signing certificate, which in combination with the package name\nuniquely identifies an app.\n\nSome apps' signing keys are rotated, so they may be signed by different\nkeys over time.  We treat these as distinct assets, since we use (package\nname, cert) as the unique ID.  This should not normally pose any problems\nas both versions of the app will make the same or similar statements.\nOther assets making statements about the app will have to be updated when a\nkey is rotated, however.\n\n(Note that the syntaxes for publishing and querying for statements contain\nsyntactic sugar to easily let you specify apps that are known by multiple\ncertificates.)\nREQUIRED"
        },
        "packageName": {
          "description": "Android App assets are naturally identified by their Java package name.\nFor example, the Google Maps app uses the package name\n`com.google.android.apps.maps`.\nREQUIRED",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Asset": {
      "description": "Uniquely identifies an asset.\n\nA digital asset is an identifiable and addressable online entity that\ntypically provides some service or content.  Examples of assets are websites,\nAndroid apps, Twitter feeds, and Plus Pages.",
      "id": "Asset",
      "properties": {
        "androidApp": {
          "$ref": "AndroidAppAsset",
          "description": "Set if this is an Android App asset."
        },
        "web": {
          "$ref": "WebAsset",
          "description": "Set if this is a web asset."
        }
      },
      "type": "object"
    },
    "CertificateInfo": {
      "description": "Describes an X509 certificate.",
      "id": "CertificateInfo",
      "properties": {
        "sha256Fingerprint": {
          "description": "The uppercase SHA-265 fingerprint of the certificate.  From the PEM\n certificate, it can be acquired like this:\n\n    $ keytool -printcert -file $CERTFILE | grep SHA256:\n    SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \\\n        42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nor like this:\n\n    $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256\n    SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \\\n        16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5\n\nIn this example, the contents of this field would be `14:6D:E9:83:C5:73:\n06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:\n44:E5`.\n\nIf these tools are not available to you, you can convert the PEM\ncertificate into the DER format, compute the SHA-256 hash of that string\nand represent the result as a hexstring (that is, uppercase hexadecimal\nrepresentations of each octet, separated by colons).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CheckResponse": {
      "description": "Response message for the CheckAssetLinks call.",
      "id": "CheckResponse",
      "properties": {
        "debugString": {
          "description": "Human-readable message containing information intended to help end users\nunderstand, reproduce and debug the result.\n\n\nThe message will be in English and we are currently not planning to offer\nany translations.\n\nPlease note that no guarantees are made about the contents or format of\nthis string.  Any aspect of it may be subject to change without notice.\nYou should not attempt to programmatically parse this data.  For\nprogrammatic access, use the error_code field below.",
          "type": "string"
        },
        "errorCode": {
          "description": "Error codes that describe the result of the Check operation.",
          "enumDescriptions": [
            "",
            "Unable to parse query.",
            "Unable to fetch the asset links data.",
            "Invalid HTTPS certificate .",
            "HTTP redirects (e.g, 301) are not allowed.",
            "Asset links data exceeds maximum size.",
            "Can't parse HTTP response.",
            "HTTP Content-type should be application/json.",
            "JSON content is malformed.",
            "A secure asset includes an insecure asset (security downgrade).",
            "Too many includes (maybe a loop)."
          ],
          "items": {
            "enum": [
              "ERROR_CODE_UNSPECIFIED",
              "ERROR_CODE_INVALID_QUERY",
              "ERROR_CODE_FETCH_ERROR",
              "ERROR_CODE_FAILED_SSL_VALIDATION",
              "ERROR_CODE_REDIRECT",
              "ERROR_CODE_TOO_LARGE",
              "ERROR_CODE_MALFORMED_HTTP_RESPONSE",
              "ERROR_CODE_WRONG_CONTENT_TYPE",
              "ERROR_CODE_MALFORMED_CONTENT",
              "ERROR_CODE_SECURE_ASSET_INCLUDES_INSECURE",
              "ERROR_CODE_FETCH_BUDGET_EXHAUSTED"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "linked": {
          "description": "Set to true if the assets specified in the request are linked by the\nrelation specified in the request.",
          "type": "boolean"
        },
        "maxAge": {
          "description": "From serving time, how much longer the response should be considered valid\nbarring further updates.\nREQUIRED",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListResponse": {
      "description": "Response message for the List call.",
      "id": "ListResponse",
      "properties": {
        "debugString": {
          "description": "Human-readable message containing information intended to help end users\nunderstand, reproduce and debug the result.\n\n\nThe message will be in English and we are currently not planning to offer\nany translations.\n\nPlease note that no guarantees are made about the contents or format of\nthis string.  Any aspect of it may be subject to change without notice.\nYou should not attempt to programmatically parse this data.  For\nprogrammatic access, use the error_code field below.",
          "type": "string"
        },
        "errorCode": {
          "description": "Error codes that describe the result of the List operation.",
          "enumDescriptions": [
            "",
            "Unable to parse query.",
            "Unable to fetch the asset links data.",
            "Invalid HTTPS certificate .",
            "HTTP redirects (e.g, 301) are not allowed.",
            "Asset links data exceeds maximum size.",
            "Can't parse HTTP response.",
            "HTTP Content-type should be application/json.",
            "JSON content is malformed.",
            "A secure asset includes an insecure asset (security downgrade).",
            "Too many includes (maybe a loop)."
          ],
          "items": {
            "enum": [
              "ERROR_CODE_UNSPECIFIED",
              "ERROR_CODE_INVALID_QUERY",
              "ERROR_CODE_FETCH_ERROR",
              "ERROR_CODE_FAILED_SSL_VALIDATION",
              "ERROR_CODE_REDIRECT",
              "ERROR_CODE_TOO_LARGE",
              "ERROR_CODE_MALFORMED_HTTP_RESPONSE",
              "ERROR_CODE_WRONG_CONTENT_TYPE",
              "ERROR_CODE_MALFORMED_CONTENT",
              "ERROR_CODE_SECURE_ASSET_INCLUDES_INSECURE",
              "ERROR_CODE_FETCH_BUDGET_EXHAUSTED"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "maxAge": {
          "description": "From serving time, how much longer the response should be considered valid\nbarring further updates.\nREQUIRED",
          "format": "google-duration",
          "type": "string"
        },
        "statements": {
          "description": "A list of all the matching statements that have been found.",
          "items": {
            "$ref": "Statement"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Statement": {
      "description": "Describes a reliable statement that has been made about the relationship\nbetween a source asset and a target asset.\n\nStatements are always made by the source asset, either directly or by\ndelegating to a statement list that is stored elsewhere.\n\nFor more detailed definitions of statements and assets, please refer\nto our [API documentation landing\npage](/digital-asset-links/v1/getting-started).",
      "id": "Statement",
      "properties": {
        "relation": {
          "description": "The relation identifies the use of the statement as intended by the source\nasset's owner (that is, the person or entity who issued the statement).\nEvery complete statement has a relation.\n\nWe identify relations with strings of the format `\u003ckind\u003e/\u003cdetail\u003e`, where\n`\u003ckind\u003e` must be one of a set of pre-defined purpose categories, and\n`\u003cdetail\u003e` is a free-form lowercase alphanumeric string that describes the\nspecific use case of the statement.\n\nRefer to [our API documentation](/digital-asset-links/v1/relation-strings)\nfor the current list of supported relations.\n\nExample: `delegate_permission/common.handle_all_urls`\nREQUIRED",
          "type": "string"
        },
        "source": {
          "$ref": "Asset",
          "description": "Every statement has a source asset.\nREQUIRED"
        },
        "target": {
          "$ref": "Asset",
          "description": "Every statement has a target asset.\nREQUIRED"
        }
      },
      "type": "object"
    },
    "WebAsset": {
      "description": "Describes a web asset.",
      "id": "WebAsset",
      "properties": {
        "site": {
          "description": "Web assets are identified by a URL that contains only the scheme, hostname\nand port parts.  The format is\n\n    http[s]://\u003chostname\u003e[:\u003cport\u003e]\n\nHostnames must be fully qualified: they must end in a single period\n(\"`.`\").\n\nOnly the schemes \"http\" and \"https\" are currently allowed.\n\nPort numbers are given as a decimal number, and they must be omitted if the\nstandard port numbers are used: 80 for http and 443 for https.\n\nWe call this limited URL the \"site\".  All URLs that share the same scheme,\nhostname and port are considered to be a part of the site and thus belong\nto the web asset.\n\nExample: the asset with the site `https://www.google.com` contains all\nthese URLs:\n\n  *   `https://www.google.com/`\n  *   `https://www.google.com:443/`\n  *   `https://www.google.com/foo`\n  *   `https://www.google.com/foo?bar`\n  *   `https://www.google.com/foo#bar`\n  *   `https://user@password:www.google.com/`\n\nBut it does not contain these URLs:\n\n  *   `http://www.google.com/`       (wrong scheme)\n  *   `https://google.com/`          (hostname does not match)\n  *   `https://www.google.com:444/`  (port does not match)\nREQUIRED",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Digital Asset Links API",
  "version": "v1",
  "version_module": true
}