# Get Webhook Subscription

Endpoint: GET /v3/webhooks/subscriptions/{subscriptionId}
Version: v3
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Path parameters:

  - `subscriptionId` (string, required)

## Response 200:

  - `200` (unknown)
    Successful Get Webhook Subscription Response

## Response 200 fields (application/json):

  - `id` (string, required)
    UUID of the webhook subscription.

  - `name` (string, required)
    Human-readable display name for the subscription.

  - `eventTypes` (array, required)
    List of event types this subscription is configured to receive.

  - `subscriberId` (string, required)
    UUID of the company that owns this webhook subscription.

  - `eventSource` (object, required)
    Defines which event sources this subscription matches.

  - `eventSource.scopes` (array, required)
    List of scopes evaluated with OR logic. An event matches if at least one scope
is satisfied.

  - `eventSource.scopes.predicates` (array, required)
    List of predicates that must all be satisfied for this scope to match.

  - `eventSource.scopes.predicates.type` (string, required)
    The type of event source entity.
    Enum: "COMPANY", "BOOKING_TMC", "CONTRACTING_TMC"

  - `eventSource.scopes.predicates.values` (array, required)
    List of entity IDs to match against.

  - `eventSource.scopes.predicates.comparator` (string)
    Comparator for evaluation. Defaults to `IN`.
    Enum: "IN"

  - `eventSource.scopes.predicates.valuesWithLabel` (array)
    Server-resolved labels for each entry in `values`. Read-only, returned only
in responses.

  - `eventSource.scopes.predicates.valuesWithLabel.id` (string, required)
    UUID of the entity.

  - `eventSource.scopes.predicates.valuesWithLabel.name` (string, required)
    Display name of the entity.

  - `url` (string, required)
    HTTPS endpoint that Spotnana POSTs event payloads to.

  - `customHeaders` (object)
    Additional HTTP headers included on every webhook request sent to `url`. Reserved
headers managed by Spotnana (such as `Authorization` and `Content-Type`) take
precedence over values configured here.
    Example: {"X-Custom-Header":"my-value","Authorization-Extra":"token123"}

  - `isActive` (boolean, required)
    Whether the subscription is active. When `false`, the subscription is preserved but
incoming events will not be matched against it and no deliveries will be made.

  - `createdBy` (string)
    UUID of the user who created the subscription.

  - `updatedBy` (string)
    UUID of the user who last updated the subscription.

  - `createdAt` (object)
    Timestamp at which the subscription was created.

  - `createdAt.iso8601` (string, required)
    Example: 2017-07-21

  - `updatedAt` (object)
    Timestamp at which the subscription was last updated.

## Response 400:

  - `400` (unknown)
    Bad request

## Response 400 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 404:

  - `404` (unknown)
    The specified resource was not found.

## Response 404 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

