Outpost API

Destinations

Endpoint:http://localhost:3333/api/v1

Destinations are the endpoints where events are sent. Each destination is associated with a tenant and can be configured to receive specific event topics.

{
  "id": "des_12345", // Control plane generated ID or user provided ID
  "type": "webhooks", // Type of the destination
  "topics": ["user.created", "user.updated"], // Topics of events this destination is eligible for
  "config": {
    // Destination type specific configuration. Schema of depends on type
    "url": "https://example.com/webhooks/user"
  },
  "credentials": {
    // Destination type specific credentials. AES encrypted. Schema depends on type
    "secret": "some***********"
  },
  "disabled_at": null, // null or ISO date if disabled
  "created_at": "2024-01-01T00:00:00Z" // Date the destination was created
}
json

The topics array can contain either a list of topics or a wildcard * implying that all topics are supported. If you do not wish to implement topics for your application, you set all destination topics to *.

By default all destination credentials are obfuscated and the values cannot be read. This does not apply to the webhook type destination secret and each destination can expose their own obfuscation logic.


List Destinations

GET
http://localhost:3333/api/v1
/{tenant_id}/destinations

Return a list of the destinations for the tenant. The endpoint is not paged.

List Destinationspath Parameters

  • tenant_idstring · required

    The ID of the tenant. Required when using AdminApiKey authentication.

List Destinationsquery Parameters

  • type

    Filter destinations by type(s).

  • topics

    Filter destinations by supported topic(s).

List DestinationsResponses

    array
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      webhook
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      aws_sqs
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      rabbitmq
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required

Create Destination

POST
http://localhost:3333/api/v1
/{tenant_id}/destinations

Creates a new destination for the tenant. The request body structure depends on the type.

Create Destinationpath Parameters

  • tenant_idstring · required

    The ID of the tenant. Required when using AdminApiKey authentication.

Create DestinationRequest Body

  • typestring · enum · required

    Type of the destination. Must be 'webhook'.

    Enum values:
    webhook
  • topicsrequired

    "*" or an array of enabled topics.

  • configobject · required
  • idstring

    Optional user-provided ID. A UUID will be generated if empty.

  • credentialsobject
  • typestring · enum · required

    Type of the destination. Must be 'aws_sqs'.

    Enum values:
    aws_sqs
  • topicsrequired

    "*" or an array of enabled topics.

  • configobject · required
  • credentialsobject · required
  • idstring

    Optional user-provided ID. A UUID will be generated if empty.

  • typestring · enum · required

    Type of the destination. Must be 'rabbitmq'.

    Enum values:
    rabbitmq
  • topicsrequired

    "*" or an array of enabled topics.

  • configobject · required
  • credentialsobject · required
  • idstring

    Optional user-provided ID. A UUID will be generated if empty.

Create DestinationResponses

    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      webhook
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      aws_sqs
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      rabbitmq
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required

Get Destination

GET
http://localhost:3333/api/v1
/{tenant_id}/destinations/{destination_id}

Retrieves details for a specific destination.

Get Destinationpath Parameters

  • tenant_idstring · required

    The ID of the tenant. Required when using AdminApiKey authentication.

  • destination_idstring · required

    The ID of the destination.

Get DestinationResponses

    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      webhook
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      aws_sqs
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      rabbitmq
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required

Delete Destination

DELETE
http://localhost:3333/api/v1
/{tenant_id}/destinations/{destination_id}

Deletes a specific destination.

Delete Destinationpath Parameters

  • tenant_idstring · required

    The ID of the tenant. Required when using AdminApiKey authentication.

  • destination_idstring · required

    The ID of the destination.

Delete DestinationResponses

    • successboolean

Update Destination

PATCH
http://localhost:3333/api/v1
/{tenant_id}/destinations/{destination_id}

Updates the configuration of an existing destination. The request body structure depends on the destination's type. Type itself cannot be updated. May return an OAuth redirect URL for certain types.

Update Destinationpath Parameters

  • tenant_idstring · required

    The ID of the tenant. Required when using AdminApiKey authentication.

  • destination_idstring · required

    The ID of the destination.

Update DestinationRequest Body

  • topics

    "*" or an array of enabled topics.

  • configobject
  • credentialsobject
  • topics

    "*" or an array of enabled topics.

  • configobject
  • credentialsobject
  • topics

    "*" or an array of enabled topics.

  • configobject
  • credentialsobject

Update DestinationResponses

    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      webhook
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      aws_sqs
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      rabbitmq
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • redirect_urlstring · url

      Redirect URL for OAuth flow if applicable during destination update.


Enable Destination

PUT
http://localhost:3333/api/v1
/{tenant_id}/destinations/{destination_id}/enable

Enables a previously disabled destination.

Enable Destinationpath Parameters

  • tenant_idstring · required

    The ID of the tenant. Required when using AdminApiKey authentication.

  • destination_idstring · required

    The ID of the destination.

Enable DestinationResponses

    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      webhook
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      aws_sqs
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      rabbitmq
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required

Disable Destination

PUT
http://localhost:3333/api/v1
/{tenant_id}/destinations/{destination_id}/disable

Disables a previously enabled destination.

Disable Destinationpath Parameters

  • tenant_idstring · required

    The ID of the tenant. Required when using AdminApiKey authentication.

  • destination_idstring · required

    The ID of the destination.

Disable DestinationResponses

    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      webhook
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      aws_sqs
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required
    • idstring · required

      Control plane generated ID or user provided ID for the destination.

    • typestring · enum · required

      Type of the destination.

      Enum values:
      rabbitmq
    • topicsrequired

      "*" or an array of enabled topics.

    • disabled_atstring · date-time · required

      ISO Date when the destination was disabled, or null if enabled.

    • created_atstring · date-time · required

      ISO Date when the destination was created.

    • configobject · required
    • credentialsobject · required