---
title: "Retrieve a push configuration by id."
method: GET
path: "/api/v4/webhooks/{webhookId}"
tags: ["Webhook"]
---

# Retrieve a push configuration by id.

`GET /api/v4/webhooks/{webhookId}`

## Request

- Base URL: `https://na12.api.project44.com`
- URL: `https://na12.api.project44.com/api/v4/webhooks/{webhookId}`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/v4/oauth2/token`
- TypeScript: <https://skmtc.dev/project44/apis/project44-rest-api/docs/api/v4/webhooks/:webhookId/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve a push configuration by id.

## Path parameters

- `webhookId` integer, required

## Response `200`

OK

- WebhookEndpoint
  - `authParams` object: (Deprecated) The webhookAuthenticationMethod parameters. The subordinate fields for the 'authParams' field depend on the authType. This field is functional but is deprecated - authentication for new webhooks should be supplied in the 'authenticationMethods' field.
  - `authType` 'API_KEY' | 'BASIC' | 'OAUTH2' | 'MTLS' | 'AD_OAUTH2_CERT': (Deprecated) The webhookAuthenticationMethod type. BASIC, API_KEY and OAUTH2 are supported. This field is functional but is deprecated - authentication for new webhooks should be supplied in the 'authenticationMethods' field.
  - `authenticationMethods` WebhookAuthenticationMethod[]: A list of authentication methods. Each authentication method consists of 'type' and 'parameters' fields. Typically only one form of authentication is used, though it is possible to have two API keys or both an API key and OAuth2 authentication.
    - `parameters` object: The webhookAuthenticationMethod parameters. The fields of a 'parameters' object vary for each authentication method. All fields are strings unless noted otherwise.<br/><br/> <ul style="list-style-type:none;"><li><b>API Key authentication</b> - A new HTTP header is created for each supplied api key (max 2). Example in cURL: --header 'api_key_name:api_key' </li><li>Fields:</li><li><ul><li><b>api_key_name</b>: The name of the HTTP header that holds the API key.</li><li><b>api_key</b>: The value that will be sent in the HTTP header (the actual API Key).</li></ul></li><li><b>Basic authentication</b> - Applied to the 'Authorization' header with the 'Basic' identifier. Values are concatenated (with a separating colon character) and encoded to base64.</li><li>Fields:</li><li><ul><li><b>username</b>: Username for authentication.</li><li><b>password</b>: Password for authentication.</li></ul><li><b>OAuth2 authentication</b> - The OAuth2 bearer token is generated then applied to the 'Authorization' header with the 'Bearer' identifier.</li><li>Fields:</li><li><ul><li><b>grantType</b>: Type of authentication granted to the OAuth2 provider. Currently only 'client_credentials' is supported.</li><li><b>accessTokenUri</b>: Endpoint used to grant the bearer token</li><li><b>clientId</b>: Unique client identifier</li><li><b>clientSecret</b>: Authentication key for the client; functionally similar to a password</li><li><b>clientAuthenticationScheme</b>: Identifies whether the OAuth2 fields are supplied to the authorization granter in the header or the request body. Accepted values are 'header' and 'form'.</li><li><b>extraParams</b>: Optional - A key/value map containing additional query parameters to be added to the request to the access token provider.</li><li><b>extraHeaders</b>: Optional - A key/value map containing additional headers to be added to the request to the access token provider.</li></ul></li><li><b>MTLS authentication</b> - Mutual TLS relies on a two-way handshaking when establishing an HTTPS connection. After the client verifies the server certificate (as normal in TLS), the server requests a certificate from the client and verifies it. This way both the client and server are authenticated to each other.</li><li>Fields:</li><li><ul><li><b>pemCertificateChain</b>: PEM-formatted client cert(s)</li><li><b>pemPrivateKey</b>: PEM-formatted private key</li><li><b>pemEndpointCertificate</b>: Optional - PEM-formatted trusted CA cert.</li></ul></li><li><b>Azure cert-based OAuth2 authentication</b> - This authentication type uses the Azure certificate-based OAuth2 implementation documented <a href="https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow#second-case-access-token-request-with-a-certificate">here</a>.</li><li>Fields:</li><li><ul><li><b>grantType</b>: Type of authentication granted to the OAuth2 provider. Currently only 'client_credentials' is supported.</li><li><b>accessTokenUri</b>: Endpoint used to grant the bearer token</li><li><b>clientId</b>: Microsoft client ID</li><li><b>tokenName</b>: Set to "client_assertion"/li><li><b>scope</b>: List of OAuth2 scopes</li><li><b>clientAuthenticationScheme</b>: Identifies whether the OAuth2 fields are supplied to the authorization granter in the header or the request body. Accepted values are 'header' and 'form'.</li><li><b>authorizationScheme</b>: Set to "header"</li><li><b>pemCertificate</b>: PEM-formatted cert </li><li><b>pemPrivateKey</b>: PEM-formatted key </li><li><b>extraParams</b>: </li><li><ul><li><b>audience</b>: https://login.microsoftonline.com/<Microsoft Tenant Id>/oauth2/v2.0/token</li><li><b>tenant</b>: Microsoft Tenant Id</li></ul></li><li><b>extraHeaders</b>: Optional - A key/value map containing additional headers to be added to the request to the access token provider.</li></ul></li></ul>
    - `type` 'API_KEY' | 'BASIC' | 'OAUTH2' | 'MTLS' | 'AD_OAUTH2_CERT': The webhookAuthenticationMethod type. BASIC, API_KEY and OAUTH2 are supported.
  - `configName` string: A unique name used to identify the push configuration.
  - `id` integer: A unique identifier of the push configuration. Assigned by the push configuration API service and used for updates only.
  - `method` 'GET' | 'POST' | 'PUT' | 'PATCH': The HTTP method associated with the webhook endpoint. If not provided, will default to POST.
  - `methodHeaders` object: A map of optional headers to pass to the webhook.
  - `methodParams` object: A map of optional method parameters. If provided, these will appear as query parameters on the URL.
  - `payloadFormat` 'JSON': The format of the payload to send to the webhook. JSON is the only format supported.
  - `url` string: The URL of the webhook endpoint.
  - `version` integer: An optional version of the push configuration.

## Other responses

- `400`: Invalid request
- `401`: Invalid or missing credentials
- `403`: User not authorized to perform this operation

---

[API](https://skmtc.dev/project44/apis/project44-rest-api.md) - [All operations](https://skmtc.dev/project44/apis/project44-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/project44/apis/project44-rest-api/revisions/cdf9675e2294?raw)
