{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":1196,"path":"api-reference/web-services/c_OutboundRESTAuth.md","title":"Outbound REST authentication","bundle":null,"doc_type":null,"release":"australia","body":"\n# Outbound REST authentication\n\nOutbound REST messages support multiple types of authentication.\n\nDifferent web service providers may require a specific type of authentication. Outbound REST supports the following authentication formats.\n\n-   Basic authentication using a username and password\n-   OAuth 2.0 using an OAuth provider and profile\n-   Mutual authentication using protocol profiles\n\n## Limitations of RESTMessage\n\nThe following capabilities are supported in the REST Step \\(IntegrationHub\\) but are not available in the RESTMessageV2 scripted API:\n\n|Limitation|Description|\n|----------|-----------|\n|Mutual authentication on MID Server|mTLS \\(client certificate authentication\\) is not supported when routing REST calls through a MID Server. Mutual authentication via RESTMessageV2 is supported only for direct instance calls.|\n|Multipart with attachments|Multipart Content-Type requests for sending file attachments are not supported.|\n|Custom authentication \\(Authentication Algorithm\\)|Custom authentication profiles using the Authentication Algorithm framework are not available.|\n|AWS authentication \\(Authentication Algorithm\\)|AWS Signature Version 4 authentication via the Authentication Algorithm framework is not supported.|\n|Retry policy for outbound calls|Built-in configurable retry policies for automatic retries on transient failures are not available. Custom retry logic must be implemented in script.|\n\n**Note:** You can use the REST Step on IntegrationHub for these capabilities.\n\n## Overriding REST authentication\n\nYou can define authentication for a REST message, or individually for each HTTP method. HTTP methods inherit authentication from their parent REST message record when the HTTP method **Authentication type** is **Inherit from parent**, which is the default value.\n\nYou can disable authentication for a specific HTTP method by setting the **Authentication type** field to **No authentication**, or specify authentication that is different from the parent REST message by selecting basic auth or OAuth.\n\n## Authentication requirements\n\nAuthentication requirement for REST Outbound are as follows:\n\n-   Outbound REST supports mutual authentication only when using basic authentication. Mutual authentication is not available with OAuth 2.0.\n-   OAuth 2.0 can be used only with messages that are not configured to use a MID Server. You cannot send OAuth 2.0 authenticated messages through a MID Server. Also, mutual authentication is not supported with MID Server.\n-   When scripting new REST messages configured with authentication you must use the RESTMessageV2 API. The legacy RESTMessage APIs do not support current authentication formats.\n-   AWS credentials or any other custom authentication are supported only with the [REST step](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/integrate-applications/rest-request-action-designer.md), not with the RestMessage API.\n\n-   **[Configure a REST message with basic auth](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/web-services/t_ConfigureRESTMsgBasicAuth.md)**  \nConfigure an outbound REST message to provide basic authentication credentials with each request.\n-   **[Configure a REST message with OAuth](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/web-services/t_ConfigureARESTMessageWithOAuth.md)**  \nYou can configure an outbound REST message to send OAuth credentials with the request.\n-   **[Outbound REST mutual authentication](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/web-services/c_OutboundRESTMutualAuthentication.md)**  \nMutual authentication causes the web service provider and consumer to authenticate with each other before communicating.\n\n**Parent Topic:**[Outbound REST web service](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/web-services/c_OutboundRESTWebService.md)\n\n"}}