integrations.sh
← all integrations

Svix API

OpenAPI apis-guru

Welcome to the Svix API documentation!

Useful links: | | |

Introduction

This is the reference documentation and schemas for the API. For tutorials and other documentation please refer to .

Main concepts

In Svix you have four important entities you will be interacting with:

  • messages: these are the webhooks being sent. They can have contents and a few other properties.
  • application: this is where messages are sent to. Usually you want to create one application for each user on your platform.
  • endpoint: endpoints are the URLs messages will be sent to. Each application can have multiple endpoints and each message sent to that application will be sent to all of them (unless they are not subscribed to the sent event type).
  • event-type: event types are identifiers denoting the type of the message being sent. Event types are primarily used to decide which events are sent to which endpoint.

Authentication

Get your authentication token (AUTH_TOKEN) from the and use it as part of the Authorization header as such: Authorization: Bearer ${AUTH_TOKEN}.

Code samples

The code samples assume you already have the respective libraries installed and you know how to use them. For the latest information on how to do that, please refer to .

Idempotency

Svix supports for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response.

To perform an idempotent request, pass the idempotency key in the Idempotency-Key header to the request. The idempotency key should be a unique value generated by the client. You can create the key in however way you like, though we suggest using UUID v4, or any other string with enough entropy to avoid collisions.

Svix's idempotency works by saving the resulting status code and body of the first request made for any given idempotency key for any successful request. Subsequent requests with the same key return the same result.

Please note that idempotency is only supported for POST requests.

Cross-Origin Resource Sharing

This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with . And that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.

Homepage
https://api.apis.guru/v2/specs/svix.com/1.4.json
Provider
svix.com
OpenAPI version
3.0.2
Spec (JSON)
https://api.apis.guru/v2/specs/svix.com/1.4/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/svix.com/1.4/openapi.yaml

Tools (54)

Extracted live via the executor SDK.

  • application.createApplicationApiV1AppPost

    Create a new application.

  • application.deleteApplicationApiV1AppAppIdDelete

    Delete an application.

  • application.getApplicationApiV1AppAppIdGet

    Get an application.

  • application.listApplicationsApiV1AppGet

    List of all the organization's applications.

  • application.updateApplicationApiV1AppAppIdPut

    Update an application.

  • authentication.expireAllApiV1AuthAppAppIdExpireAllPost

    Expire all of the tokens associated with a specific Application

  • authentication.getAppPortalAccessApiV1AuthAppPortalAccessAppIdPost

    Use this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal.

  • authentication.getDashboardAccessApiV1AuthDashboardAccessAppIdPost

    DEPRECATED: Please use app-portal-access instead.

    Use this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal.

  • authentication.logoutApiV1AuthLogoutPost

    Logout an app token.

    Trying to log out other tokens will fail.

  • backgroundTasks.getBackgroundTaskApiV1BackgroundTaskTaskIdGet

    Get a background task by ID.

  • backgroundTasks.listBackgroundTasksApiV1BackgroundTaskGet

    List background tasks executed in the past 90 days.

  • endpoint.createEndpointApiV1AppAppIdEndpointPost

    Create a new endpoint for the application.

    When secret is null the secret is automatically generated (recommended)

  • endpoint.deleteEndpointApiV1AppAppIdEndpointEndpointIdDelete

    Delete an endpoint.

  • endpoint.getEndpointApiV1AppAppIdEndpointEndpointIdGet

    Get an application.

  • endpoint.getEndpointHeadersApiV1AppAppIdEndpointEndpointIdHeadersGet

    Get the additional headers to be sent with the webhook

  • endpoint.getEndpointSecretApiV1AppAppIdEndpointEndpointIdSecretGet

    Get the endpoint's signing secret.

    This is used to verify the authenticity of the webhook. For more information please refer to .

  • endpoint.getEndpointStatsApiV1AppAppIdEndpointEndpointIdStatsGet

    Get basic statistics for the endpoint.

  • endpoint.getEndpointTransformationApiV1AppAppIdEndpointEndpointIdTransformationGet

    Get the transformation code associated with this endpoint

  • endpoint.listEndpointsApiV1AppAppIdEndpointGet

    List the application's endpoints.

  • endpoint.patchEndpointHeadersApiV1AppAppIdEndpointEndpointIdHeadersPatch

    Partially set the additional headers to be sent with the webhook

  • endpoint.recoverFailedWebhooksApiV1AppAppIdEndpointEndpointIdRecoverPost

    Resend all failed messages since a given time.

  • endpoint.replayMissingWebhooksApiV1AppAppIdEndpointEndpointIdReplayMissingPost

    Replays messages to the endpoint. Only messages that were created after since will be sent. Messages that were previously sent to the endpoint are not resent.

  • endpoint.rotateEndpointSecretApiV1AppAppIdEndpointEndpointIdSecretRotatePost

    Rotates the endpoint's signing secret. The previous secret will be valid for the next 24 hours.

  • endpoint.setEndpointTransformationApiV1AppAppIdEndpointEndpointIdTransformationPatch

    Set or unset the transformation code associated with this endpoint

  • endpoint.updateEndpointApiV1AppAppIdEndpointEndpointIdPut

    Update an endpoint.

  • endpoint.updateEndpointHeadersApiV1AppAppIdEndpointEndpointIdHeadersPut

    Set the additional headers to be sent with the webhook

  • eventType.createEventTypeApiV1EventTypePost

    Create new or unarchive existing event type.

    Unarchiving an event type will allow endpoints to filter on it and messages to be sent with it. Endpoints filtering on the event type before archival will continue to filter on it. This operation does not preserve the description and schemas.

  • eventType.deleteEventTypeApiV1EventTypeEventTypeNameDelete

    Archive an event type.

    Endpoints already configured to filter on an event type will continue to do so after archival. However, new messages can not be sent with it and endpoints can not filter on it. An event type can be unarchived with the .

    If expunge=true is set then the event type is deleted instead of archived. This can only be used in development environments.__

  • eventType.getEventTypeApiV1EventTypeEventTypeNameGet

    Get an event type.

  • eventType.listEventTypesApiV1EventTypeGet

    Return the list of event types.

  • eventType.updateEventTypeApiV1EventTypeEventTypeNamePut

    Update an event type.

  • health.healthApiV1HealthGet

    Verify the API server is up and running.

  • integration.createIntegrationApiV1AppAppIdIntegrationPost

    Create an integration.

  • integration.deleteIntegrationApiV1AppAppIdIntegrationIntegIdDelete

    Delete an integration and revoke it's key.

  • integration.getIntegrationApiV1AppAppIdIntegrationIntegIdGet

    Get an integration.

  • integration.getIntegrationKeyApiV1AppAppIdIntegrationIntegIdKeyGet

    Get an integration's key.

  • integration.listIntegrationsApiV1AppAppIdIntegrationGet

    List the application's integrations.

  • integration.rotateIntegrationKeyApiV1AppAppIdIntegrationIntegIdKeyRotatePost

    Rotate the integration's key. The previous key will be immediately revoked.

  • integration.updateIntegrationApiV1AppAppIdIntegrationIntegIdPut

    Update an integration.

  • message.createMessageApiV1AppAppIdMsgPost

    Creates a new message and dispatches it to all of the application's endpoints.

    The eventId is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made. If a message with the same eventId already exists for any application in your environment, a 409 conflict error will be returned.

    The eventType indicates the type and schema of the event. All messages of a certain eventType are expected to have the same schema. Endpoints can choose to only listen to specific event types. Messages can also have channels, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema.

    The payload property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to ~350kb, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.

    The optional application property will be used to create an application if the application referenced in the path does not exist. If it does then this property is ignored.

  • message.expungeMessagePayloadApiV1AppAppIdMsgMsgIdContentDelete

    Delete the given message's payload. Useful in cases when a message was accidentally sent with sensitive content.

    The message can't be replayed or resent once its payload has been deleted or expired.

  • message.getMessageApiV1AppAppIdMsgMsgIdGet

    Get a message by its ID or eventID.

  • message.listMessagesApiV1AppAppIdMsgGet

    List all of the application's messages.

    The before parameter lets you filter all items created before a certain date and is ignored if an iterator is passed. The after parameter lets you filter all items created after a certain date and is ignored if an iterator is passed. before and after cannot be used simultaneously.

  • messageAttempt.expungeAttemptContentApiV1AppAppIdMsgMsgIdAttemptAttemptIdContentDelete

    Deletes the given attempt's response body. Useful when an endpoint accidentally returned sensitive content.

  • messageAttempt.getAttemptApiV1AppAppIdMsgMsgIdAttemptAttemptIdGet

    msg_id: Use a message id or a message eventId

  • messageAttempt.listAttemptedDestinationsApiV1AppAppIdMsgMsgIdEndpointGet

    msg_id: Use a message id or a message eventId

  • messageAttempt.listAttemptedMessagesApiV1AppAppIdEndpointEndpointIdMsgGet

    List messages for a particular endpoint. Additionally includes metadata about the latest message attempt.

    The before parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.

  • messageAttempt.listAttemptsApiV1AppAppIdMsgMsgIdAttemptGet

    Deprecated: Please use "List Attempts by Endpoint" and "List Attempts by Msg" instead.

    msg_id: Use a message id or a message eventId

  • messageAttempt.listAttemptsByEndpointApiV1AppAppIdAttemptEndpointEndpointIdGet

    List attempts by endpoint id

  • messageAttempt.listAttemptsByMsgApiV1AppAppIdAttemptMsgMsgIdGet

    List attempts by message id

  • messageAttempt.listAttemptsForEndpointApiV1AppAppIdMsgMsgIdEndpointEndpointIdAttemptGet

    DEPRECATED: please use list_attempts with endpoint_id as a query parameter instead.

    List the message attempts for a particular endpoint.

    Returning the endpoint.

    The before parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.

  • messageAttempt.resendWebhookApiV1AppAppIdMsgMsgIdEndpointEndpointIdResendPost

    Resend a message to the specified endpoint.

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools