@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Hookdeck Admin REST API
@base https://api.hookdeck.com/2024-09-01
@version 1.0.0
@auth Bearer bearer | Bearer basic
@endpoints 101
@hint download_for_search
@toc issue-triggers(8), attempts(2), bookmarks(7), destinations(10), bulk(15), events(5), integrations(7), issues(5), requests(6), sources(10), notifications(1), teams(3), transformations(9), connections(13)

@group issue-triggers
@endpoint GET /issue-triggers
@desc Get issue triggers
@optional {name: str, type: any, disabled_at: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of issue triggers
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /issue-triggers
@desc Create an issue trigger
@required {type: str(delivery/transformation/backpressure) # Issue type, channels: map{slack: map, opsgenie: map, email: map} # Notification channels object for the specific channel type}
@optional {configs: any # Configuration object for the specific issue type selected, name: str # Optional unique name to use as reference when using the API}
@returns(200) {id: str, team_id: str?, name: str?, type: str, configs: any, channels: map?{slack: map{channel_name: str}, opsgenie: map, email: map}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time), deleted_at: str(date-time)?} # A single issue trigger
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint PUT /issue-triggers
@desc Create or update an issue trigger
@required {type: str(delivery/transformation/backpressure) # Issue type, channels: map{slack: map, opsgenie: map, email: map} # Notification channels object for the specific channel type, name: str # Required unique name to use as reference when using the API}
@optional {configs: any # Configuration object for the specific issue type selected}
@returns(200) {id: str, team_id: str?, name: str?, type: str, configs: any, channels: map?{slack: map{channel_name: str}, opsgenie: map, email: map}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time), deleted_at: str(date-time)?} # A single issue trigger
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /issue-triggers/{id}
@desc Get a single issue trigger
@required {id: str}
@returns(200) {id: str, team_id: str?, name: str?, type: str, configs: any, channels: map?{slack: map{channel_name: str}, opsgenie: map, email: map}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time), deleted_at: str(date-time)?} # A single issue trigger
@errors {404: Not Found}

@endpoint PUT /issue-triggers/{id}
@desc Update an issue trigger
@required {id: str}
@optional {configs: any # Configuration object for the specific issue type selected, channels: map{slack: map, opsgenie: map, email: map} # Notification channels object for the specific channel type, disabled_at: str(date-time) # Date when the issue trigger was disabled, name: str # Optional unique name to use as reference when using the API}
@returns(200) {id: str, team_id: str?, name: str?, type: str, configs: any, channels: map?{slack: map{channel_name: str}, opsgenie: map, email: map}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time), deleted_at: str(date-time)?} # A single issue trigger
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint DELETE /issue-triggers/{id}
@desc Delete an issue trigger
@required {id: str}
@returns(200) {id: str} # An object with deleted issue trigger's id
@errors {404: Not Found}

@endpoint PUT /issue-triggers/{id}/disable
@desc Disable an issue trigger
@required {id: str}
@returns(200) {id: str, team_id: str?, name: str?, type: str, configs: any, channels: map?{slack: map{channel_name: str}, opsgenie: map, email: map}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time), deleted_at: str(date-time)?} # A single issue trigger
@errors {404: Not Found}

@endpoint PUT /issue-triggers/{id}/enable
@desc Enable an issue trigger
@required {id: str}
@returns(200) {id: str, team_id: str?, name: str?, type: str, configs: any, channels: map?{slack: map{channel_name: str}, opsgenie: map, email: map}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time), deleted_at: str(date-time)?} # A single issue trigger
@errors {404: Not Found}

@endgroup

@group attempts
@endpoint GET /attempts
@desc Get attempts
@optional {event_id: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of attempts
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /attempts/{id}
@desc Get a single attempt
@required {id: str}
@returns(200) {id: str, team_id: str, event_id: str, destination_id: str, response_status: int?, attempt_number: int?, trigger: str?, error_code: str, body: any, requested_url: str?, http_method: str?, bulk_retry_id: str?, status: str, successful_at: str(date-time)?, delivered_at: str(date-time)?, responded_at: str(date-time)?, delivery_latency: int?, response_latency: int?, updated_at: str(date-time), created_at: str(date-time)} # A single attempt
@errors {404: Not Found}

@endgroup

@group bookmarks
@endpoint GET /bookmarks
@desc Get bookmarks
@optional {id: any, name: any, webhook_id: any, event_data_id: any, label: any, last_used_at: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of bookmarks
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /bookmarks
@desc Create a bookmark
@required {event_data_id: str # ID of the event data to bookmark, webhook_id: str # ID of the associated connection, label: str # Descriptive name of the bookmark}
@optional {name: str # A unique, human-friendly name for the bookmark}
@returns(200) {id: str, team_id: str, webhook_id: str, event_data_id: str, label: str, alias: str?, data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}, last_used_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single bookmark
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /bookmarks/{id}
@desc Get a single bookmark
@required {id: str}
@returns(200) {id: str, team_id: str, webhook_id: str, event_data_id: str, label: str, alias: str?, data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}, last_used_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single bookmark
@errors {404: Not Found}

@endpoint PUT /bookmarks/{id}
@desc Update a bookmark
@required {id: str}
@optional {event_data_id: str # ID of the event data to bookmark, webhook_id: str # ID of the associated connection, label: str # Descriptive name of the bookmark, name: str # A unique, human-friendly name for the bookmark}
@returns(200) {id: str, team_id: str, webhook_id: str, event_data_id: str, label: str, alias: str?, data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}, last_used_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single bookmark
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint DELETE /bookmarks/{id}
@desc Delete a bookmark
@required {id: str}
@returns(200) {id: str} # An object with deleted bookmark's id
@errors {404: Not Found}

@endpoint GET /bookmarks/{id}/raw_body
@desc Get a bookmark raw body data
@required {id: str}
@returns(200) {body: str} # A request raw body data
@errors {404: Not Found}

@endpoint POST /bookmarks/{id}/trigger
@desc Trigger a bookmark
@required {id: str}
@optional {target: str(http/cli) # Bookmark target}
@returns(200) Array of created events
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endgroup

@group destinations
@endpoint GET /destinations
@desc Get destinations
@optional {id: any, name: any, disabled: bool, disabled_at: any, url: any, cli_path: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of destinations
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /destinations
@desc Create a destination
@required {name: str # Name for the destination}
@optional {description: str # Description for the destination, url: str(URL) # Endpoint of the destination, cli_path: str # Path for the CLI destination, rate_limit: int # Limit of events to receive per period. Refered as Delivery Rate limit in the dashboard and documentation., rate_limit_period: str(second/minute/hour/concurrent) # Period to rate limit events by. Refered as Delivery Rate period in the dashboard and documentation., http_method: str(GET/POST/PUT/PATCH/DELETE) # HTTP method used on requests sent to the destination, overrides the method used on requests sent to the source., auth_method: any # Config for the destination's auth method, path_forwarding_disabled: bool}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint PUT /destinations
@desc Update or create a destination
@required {name: str # Name for the destination}
@optional {description: str # Description for the destination, url: str(URL) # Endpoint of the destination, cli_path: str # Path for the CLI destination, rate_limit: int # Limit of events to receive per period. Refered as Delivery Rate limit in the dashboard and documentation., rate_limit_period: str(second/minute/hour/concurrent) # Period to rate limit events by. Refered as Delivery Rate period in the dashboard and documentation., http_method: str(GET/POST/PUT/PATCH/DELETE) # HTTP method used on requests sent to the destination, overrides the method used on requests sent to the source., auth_method: any # Config for the destination's auth method, path_forwarding_disabled: bool}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /destinations/{id}
@desc Get a destination
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {404: Not Found, 410: Gone}

@endpoint PUT /destinations/{id}
@desc Update a destination
@required {id: str}
@optional {name: str # Name for the destination, description: str # Description for the destination, url: str(URL) # Endpoint of the destination, cli_path: str # Path for the CLI destination, rate_limit: int # Limit of events to receive per period. Refered as Delivery Rate limit in the dashboard and documentation., rate_limit_period: str(second/minute/hour/concurrent) # Period to rate limit events by. Refered as Delivery Rate period in the dashboard and documentation., http_method: str(GET/POST/PUT/PATCH/DELETE) # HTTP method used on requests sent to the destination, overrides the method used on requests sent to the source., auth_method: any # Config for the destination's auth method, path_forwarding_disabled: bool}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint DELETE /destinations/{id}
@desc Delete a destination
@required {id: str}
@returns(200) {id: str} # A single destination
@errors {404: Not Found}

@endpoint PUT /destinations/{id}/disable
@desc Disable a destination
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {404: Not Found}

@endpoint PUT /destinations/{id}/archive
@desc Disable a destination
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {404: Not Found}

@endpoint PUT /destinations/{id}/enable
@desc Enable a destination
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {404: Not Found}

@endpoint PUT /destinations/{id}/unarchive
@desc Enable a destination
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single destination
@errors {404: Not Found}

@endgroup

@group bulk
@endpoint GET /bulk/events/retry
@desc Get events bulk retries
@optional {cancelled_at: any, completed_at: any, created_at: any, id: any, query: map, query_partial_match: bool, in_progress: bool, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of events bulk retries
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /bulk/events/retry
@desc Create an events bulk retry
@optional {query: map{id: any, status: any, webhook_id: any, destination_id: any, source_id: any, attempts: any, response_status: any, successful_at: any, created_at: any, error_code: any, cli_id: any, last_attempt_at: any, search_term: str, headers: any, body: any, parsed_query: any, path: str, cli_user_id: any, issue_id: any, event_data_id: any, bulk_retry_id: any} # Filter properties for the events to be included in the bulk retry}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single events bulk retry
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /bulk/events/retry/plan
@desc Generate an events bulk retry plan
@optional {query: map}
@returns(200) {estimated_batch: int?, estimated_count: int?, progress: num(float)?} # Events bulk retry plan
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /bulk/events/retry/{id}
@desc Get an events bulk retry
@required {id: str}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single events bulk retry
@errors {404: Not Found}

@endpoint POST /bulk/events/retry/{id}/cancel
@desc Cancel an events bulk retry
@required {id: str}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single events bulk retry
@errors {404: Not Found}

@endgroup

@group events
@endpoint GET /events
@desc Get events
@optional {id: any, status: any, webhook_id: any, destination_id: any, source_id: any, attempts: any, response_status: any, successful_at: any, created_at: any, error_code: any, cli_id: any, last_attempt_at: any, search_term: str, headers: any, body: any, parsed_query: any, path: str, cli_user_id: any, issue_id: any, event_data_id: any, bulk_retry_id: any, include: str, order_by: str(last_attempt_at/created_at), dir: str(asc/desc), limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of events
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /events/{id}
@desc Get an event
@required {id: str}
@returns(200) {id: str, team_id: str, webhook_id: str, source_id: str, destination_id: str, event_data_id: str, request_id: str, attempts: int, last_attempt_at: str(date-time)?, next_attempt_at: str(date-time)?, response_status: int?, error_code: str, status: str, successful_at: str(date-time)?, cli_id: str?, updated_at: str(date-time), created_at: str(date-time), data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}} # A single event
@errors {404: Not Found}

@endpoint GET /events/{id}/raw_body
@desc Get a event raw body data
@required {id: str}
@returns(200) {body: str} # A request raw body data
@errors {404: Not Found}

@endpoint POST /events/{id}/retry
@desc Retry an event
@required {id: str}
@returns(200) {id: str, team_id: str, webhook_id: str, source_id: str, destination_id: str, event_data_id: str, request_id: str, attempts: int, last_attempt_at: str(date-time)?, next_attempt_at: str(date-time)?, response_status: int?, error_code: str, status: str, successful_at: str(date-time)?, cli_id: str?, updated_at: str(date-time), created_at: str(date-time), data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}} # Retried event with event attempt
@errors {404: Not Found}

@endpoint PUT /events/{id}/mute
@desc Mute an event
@required {id: str}
@returns(200) {id: str, team_id: str, webhook_id: str, source_id: str, destination_id: str, event_data_id: str, request_id: str, attempts: int, last_attempt_at: str(date-time)?, next_attempt_at: str(date-time)?, response_status: int?, error_code: str, status: str, successful_at: str(date-time)?, cli_id: str?, updated_at: str(date-time), created_at: str(date-time), data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}} # A single event
@errors {404: Not Found}

@endgroup

@group bulk
@endpoint GET /bulk/ignored-events/retry
@desc Get ignored events bulk retries
@optional {cancelled_at: any, completed_at: any, created_at: any, id: any, query: map, query_partial_match: bool, in_progress: bool, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of ignored events bulk retries
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /bulk/ignored-events/retry
@desc Create an ignored events bulk retry
@optional {query: map{cause: any, webhook_id: any, transformation_id: str} # Filter by the bulk retry ignored event query object}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single ignored events bulk retry
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /bulk/ignored-events/retry/plan
@desc Generate an ignored events bulk retry plan
@optional {query: map}
@returns(200) {estimated_batch: int?, estimated_count: int?, progress: num(float)?} # Ignored events bulk retry plan
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /bulk/ignored-events/retry/{id}
@desc Get an ignored events bulk retry
@required {id: str}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single ignored events bulk retry
@errors {404: Not Found}

@endpoint POST /bulk/ignored-events/retry/{id}/cancel
@desc Cancel an ignored events bulk retry
@required {id: str}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single ignored events bulk retry
@errors {404: Not Found}

@endgroup

@group integrations
@endpoint GET /integrations
@desc Get integrations
@optional {label: str, provider: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of integrations
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /integrations
@desc Create an integration
@optional {label: str # Label of the integration, configs: any # Decrypted Key/Value object of the associated configuration for that provider, provider: str(HMAC/BASIC_AUTH/API_KEY/BRIDGE/CLOUDSIGNAL/COURIER/FRONTAPP/TWITTER/STRIPE/RECHARGE/TWILIO/GITHUB/SHOPIFY/POSTMARK/TYPEFORM/XERO/SVIX/ZOOM/AKENEO/ADYEN/GITLAB/PROPERTY-FINDER/WOOCOMMERCE/OURA/COMMERCELAYER/HUBSPOT/MAILGUN/PERSONA/PIPEDRIVE/SENDGRID/WORKOS/SYNCTERA/AWS_SNS/THREE_D_EYE/TWITCH/ENODE/FAVRO/LINEAR/SHOPLINE/WIX/NMI/ORB/PYLON/REPAY/SQUARE/SOLIDGATE/TRELLO/SANITY/EBAY/TELNYX/DISCORD/TOKENIO/FISERV/BONDSMITH/VERCEL_LOG_DRAINS/VERCEL/TEBEX/SLACK/RAZORPAY/MAILCHIMP/PADDLE/PAYPAL/TREEZOR/PRAXIS), features: [str] # List of features to enable (see features list above)}
@returns(200) {id: str, team_id: str, label: str, provider: str, features: [str], configs: any, sources: [str], updated_at: str(date-time), created_at: str(date-time)} # A single integration
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /integrations/{id}
@desc Get an integration
@required {id: str}
@returns(200) {id: str, team_id: str, label: str, provider: str, features: [str], configs: any, sources: [str], updated_at: str(date-time), created_at: str(date-time)} # A single integration
@errors {404: Not Found}

@endpoint PUT /integrations/{id}
@desc Update an integration
@required {id: str}
@optional {label: str # Label of the integration, configs: any # Decrypted Key/Value object of the associated configuration for that provider, provider: str(HMAC/BASIC_AUTH/API_KEY/BRIDGE/CLOUDSIGNAL/COURIER/FRONTAPP/TWITTER/STRIPE/RECHARGE/TWILIO/GITHUB/SHOPIFY/POSTMARK/TYPEFORM/XERO/SVIX/ZOOM/AKENEO/ADYEN/GITLAB/PROPERTY-FINDER/WOOCOMMERCE/OURA/COMMERCELAYER/HUBSPOT/MAILGUN/PERSONA/PIPEDRIVE/SENDGRID/WORKOS/SYNCTERA/AWS_SNS/THREE_D_EYE/TWITCH/ENODE/FAVRO/LINEAR/SHOPLINE/WIX/NMI/ORB/PYLON/REPAY/SQUARE/SOLIDGATE/TRELLO/SANITY/EBAY/TELNYX/DISCORD/TOKENIO/FISERV/BONDSMITH/VERCEL_LOG_DRAINS/VERCEL/TEBEX/SLACK/RAZORPAY/MAILCHIMP/PADDLE/PAYPAL/TREEZOR/PRAXIS), features: [str] # List of features to enable (see features list above)}
@returns(200) {id: str, team_id: str, label: str, provider: str, features: [str], configs: any, sources: [str], updated_at: str(date-time), created_at: str(date-time)} # A single integration
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint DELETE /integrations/{id}
@desc Delete an integration
@required {id: str}
@returns(200) {id: str} # An object with deleted integration id
@errors {404: Not Found}

@endpoint PUT /integrations/{id}/attach/{source_id}
@desc Attach an integration to a source
@required {id: str, source_id: str}
@returns(200) {success: bool} # Attach operation success status
@errors {400: Bad Request, 404: Not Found}

@endpoint PUT /integrations/{id}/detach/{source_id}
@desc Detach an integration from a source
@required {id: str, source_id: str}
@returns(200) Detach operation success status
@errors {400: Bad Request, 404: Not Found}

@endgroup

@group issues
@endpoint GET /issues
@desc Get issues
@optional {id: any, issue_trigger_id: any, type: any, status: any, merged_with: any, aggregation_keys: map, created_at: any, first_seen_at: any, last_seen_at: any, dismissed_at: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [any]} # List of issues
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /issues/count
@desc Get the number of issues
@optional {id: any, issue_trigger_id: any, type: any, status: any, merged_with: any, aggregation_keys: map, created_at: any, first_seen_at: any, last_seen_at: any, dismissed_at: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {count: int} # Issue count
@errors {422: Unprocessable Entity}

@endpoint GET /issues/{id}
@desc Get a single issue
@required {id: str}
@returns(200) A single issue
@errors {404: Not Found}

@endpoint PUT /issues/{id}
@desc Update issue
@required {id: str, status: str(OPENED/IGNORED/ACKNOWLEDGED/RESOLVED) # New status}
@returns(200) Updated issue
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint DELETE /issues/{id}
@desc Dismiss an issue
@required {id: str}
@returns(200) Dismissed issue
@errors {404: Not Found}

@endgroup

@group requests
@endpoint GET /requests
@desc Get requests
@optional {id: any, status: str(accepted/rejected), rejection_cause: any, source_id: any, verified: bool, search_term: str, headers: any, body: any, parsed_query: any, path: str, ignored_count: any, events_count: any, ingested_at: any, bulk_retry_id: any, include: str, order_by: str(ingested_at/created_at), dir: str(asc/desc), limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of requests
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /requests/{id}
@desc Get a request
@required {id: str}
@returns(200) {id: str, team_id: str, verified: bool?, original_event_data_id: str?, rejection_cause: str, ingest_priority: str?, ingested_at: str(date-time)?, source_id: str, events_count: int?, cli_events_count: int?, ignored_count: int?, updated_at: str(date-time), created_at: str(date-time), data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}} # A single request
@errors {404: Not Found}

@endpoint GET /requests/{id}/raw_body
@desc Get a request raw body data
@required {id: str}
@returns(200) {body: str} # A request raw body data
@errors {404: Not Found}

@endpoint POST /requests/{id}/retry
@desc Retry a request
@required {id: str, webhook_ids: [str] # Subset of webhook_ids to re-run the event logic on. Useful to retry only specific ignored_events}
@returns(200) {request: map{id: str, team_id: str, verified: bool?, original_event_data_id: str?, rejection_cause: str, ingest_priority: str?, ingested_at: str(date-time)?, source_id: str, events_count: int?, cli_events_count: int?, ignored_count: int?, updated_at: str(date-time), created_at: str(date-time), data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}}, events: [map]?} # Retry request operation result
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint GET /requests/{id}/events
@desc Get request events
@required {id: str}
@optional {id: any, status: any, webhook_id: any, destination_id: any, source_id: any, attempts: any, response_status: any, successful_at: any, created_at: any, error_code: any, cli_id: any, last_attempt_at: any, search_term: str, headers: any, body: any, parsed_query: any, path: str, cli_user_id: any, issue_id: any, event_data_id: any, bulk_retry_id: any, include: str, order_by: str(last_attempt_at/created_at), dir: str(asc/desc), limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of events
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint GET /requests/{id}/ignored_events
@desc Get request ignored events
@required {id: str}
@optional {id: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of ignored events
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endgroup

@group bulk
@endpoint GET /bulk/requests/retry
@desc Get request bulk retries
@optional {cancelled_at: any, completed_at: any, created_at: any, id: any, in_progress: bool, query: map, query_partial_match: bool, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of request bulk retries
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /bulk/requests/retry
@desc Create a requests bulk retry
@optional {query: map{id: any, status: str, rejection_cause: any, source_id: any, verified: bool, search_term: str, headers: any, body: any, parsed_query: any, path: str, ignored_count: any, events_count: any, ingested_at: any, bulk_retry_id: any} # Filter properties for the events to be included in the bulk retry, use query parameters of [Requests](#requests)}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single requests bulk retry
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /bulk/requests/retry/plan
@desc Generate a requests bulk retry plan
@optional {query: map}
@returns(200) {estimated_batch: int?, estimated_count: int?, progress: num(float)?} # Requests bulk retry plan
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /bulk/requests/retry/{id}
@desc Get a requests bulk retry
@required {id: str}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single requests bulk retry
@errors {404: Not Found}

@endpoint POST /bulk/requests/retry/{id}/cancel
@desc Cancel a requests bulk retry
@required {id: str}
@returns(200) {id: str, team_id: str, query: any?, created_at: str(date-time), updated_at: str(date-time), cancelled_at: str(date-time)?, completed_at: str(date-time)?, estimated_batch: int?, estimated_count: int?, processed_batch: int?, completed_count: int?, in_progress: bool, progress: num(float)?, failed_count: int?, number: num(float)?} # A single requests bulk retry
@errors {404: Not Found}

@endgroup

@group sources
@endpoint GET /sources
@desc Get sources
@optional {id: any, name: any, disabled: bool, disabled_at: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of sources
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /sources
@desc Create a source
@required {name: str # A unique name for the source}
@optional {description: str # Description for the source, allowed_http_methods: [str] # List of allowed HTTP methods. Defaults to PUT, POST, PATCH, DELETE., custom_response: map{content_type!: str, body!: str} # Custom response object, verification: any # The verification configs for the specified verification type}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint PUT /sources
@desc Update or create a source
@required {name: str # A unique name for the source}
@optional {description: str # Description for the source, allowed_http_methods: [str] # List of allowed HTTP methods. Defaults to PUT, POST, PATCH, DELETE., custom_response: map{content_type!: str, body!: str} # Custom response object, verification: any # The verification configs for the specified verification type}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /sources/{id}
@desc Get a source
@required {id: str}
@optional {include: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {404: Not Found, 410: Gone}

@endpoint PUT /sources/{id}
@desc Update a source
@required {id: str}
@optional {name: str # A unique name for the source, description: str # Description for the source, allowed_http_methods: [str] # List of allowed HTTP methods. Defaults to PUT, POST, PATCH, DELETE., custom_response: map{content_type!: str, body!: str} # Custom response object, verification: any # The verification configs for the specified verification type}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint DELETE /sources/{id}
@desc Delete a source
@required {id: str}
@returns(200) {id: str} # A single source
@errors {404: Not Found}

@endpoint PUT /sources/{id}/disable
@desc Disable a source
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {404: Not Found}

@endpoint PUT /sources/{id}/archive
@desc Disable a source
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {404: Not Found}

@endpoint PUT /sources/{id}/enable
@desc Enable a source
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {404: Not Found}

@endpoint PUT /sources/{id}/unarchive
@desc Enable a source
@required {id: str}
@returns(200) {id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single source
@errors {404: Not Found}

@endgroup

@group notifications
@endpoint PUT /notifications/webhooks
@desc Toggle webhook notifications for the project
@optional {enabled: bool # Enable or disable webhook notifications on the project, topics: [str] # List of topics to send notifications for, source_id: str # The Hookdeck Source to send the webhook to}
@returns(200) {enabled: bool, topics: [str]?, source_id: str} # Toggle operation status response

@endgroup

@group teams
@endpoint POST /teams/current/custom_domains
@desc Add a custom domain to the project
@required {hostname: str # The custom hostname to attach to the project}
@returns(200) {hostname: str} # Custom domain successfuly added

@endpoint GET /teams/current/custom_domains
@desc List all custom domains and their verification statuses for the project
@returns(200) List of custom domains

@endpoint DELETE /teams/current/custom_domains/{domain_id}
@desc Removes a custom domain from the project
@required {domain_id: str}
@returns(200) {id: str} # Custom domain successfuly removed

@endgroup

@group transformations
@endpoint GET /transformations
@desc Get transformations
@optional {id: any, name: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of transformations
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /transformations
@desc Create a transformation
@required {name: str # A unique, human-friendly name for the transformation, code: str # JavaScript code to be executed as string}
@optional {env: map{} # Key-value environment variables to be passed to the transformation}
@returns(200) {id: str, team_id: str, name: str, code: str, encrypted_env: str?, iv: str?, env: map?, updated_at: str(date-time), created_at: str(date-time)} # A single transformation
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint PUT /transformations
@desc Update or create a transformation
@required {name: str # A unique, human-friendly name for the transformation, code: str # JavaScript code to be executed as string}
@optional {env: map{} # Key-value environment variables to be passed to the transformation}
@returns(200) {id: str, team_id: str, name: str, code: str, encrypted_env: str?, iv: str?, env: map?, updated_at: str(date-time), created_at: str(date-time)} # A single transformation
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /transformations/{id}
@desc Get a transformation
@required {id: str}
@returns(200) {id: str, team_id: str, name: str, code: str, encrypted_env: str?, iv: str?, env: map?, updated_at: str(date-time), created_at: str(date-time)} # A single transformation
@errors {404: Not Found}

@endpoint DELETE /transformations/{id}
@desc Delete a transformation
@required {id: str}
@returns(200) {id: str} # An object with deleted transformation id
@errors {404: Not Found}

@endpoint PUT /transformations/{id}
@desc Update a transformation
@required {id: str}
@optional {name: str # A unique, human-friendly name for the transformation, code: str # JavaScript code to be executed, env: map{} # Key-value environment variables to be passed to the transformation}
@returns(200) {id: str, team_id: str, name: str, code: str, encrypted_env: str?, iv: str?, env: map?, updated_at: str(date-time), created_at: str(date-time)} # A single transformation
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint PUT /transformations/run
@desc Test a transformation code
@optional {env: map{} # Key-value environment variables to be passed to the transformation, webhook_id: str # ID of the connection to use for the execution `context`, code: str # JavaScript code to be executed, transformation_id: str # Transformation ID, request: map{headers!: map, body: any, path: str, query: str, parsed_query: map} # Request input to use for the transformation execution, event_id: str}
@returns(200) {request_id: str?, transformation_id: str?, execution_id: str?, log_level: str, request: map?{headers: any?, path: str, query: any?, parsed_query: any?, body: any?}, console: [map]?} # Transformation run output
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /transformations/{id}/executions
@desc Get transformation executions
@required {id: str}
@optional {log_level: any, webhook_id: any, issue_id: any, created_at: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of transformation executions
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /transformations/{id}/executions/{execution_id}
@desc Get a transformation execution
@required {id: str, execution_id: str}
@returns(200) {id: str, transformed_event_data_id: str, original_event_data_id: str, transformation_id: str, team_id: str, webhook_id: str, log_level: str, logs: [map], updated_at: str(date-time), created_at: str(date-time), original_event_data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}, transformed_event_data: map?{path: str, query: str?, parsed_query: any?, headers: any?, body: any?, is_large_payload: bool?}, issue_id: str?} # A single transformation execution
@errors {404: Not Found}

@endgroup

@group connections
@endpoint GET /connections
@desc Get connections
@optional {id: any, name: any, destination_id: any, source_id: any, disabled: bool, disabled_at: any, full_name: str, paused_at: any, order_by: any, dir: any, limit: int, next: str, prev: str}
@returns(200) {pagination: map{order_by: any, dir: any, limit: int, prev: str, next: str}, count: int, models: [map]} # List of connections
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint POST /connections
@desc Create a connection
@optional {name: str # A unique name of the connection for the source, description: str # Description for the connection, destination_id: str # ID of a destination to bind to the connection, source_id: str # ID of a source to bind to the connection, destination: map{name!: str, description: str, url: str(URL), cli_path: str, rate_limit: int, rate_limit_period: str, http_method: str, auth_method: any, path_forwarding_disabled: bool} # Destination input object, source: map{name!: str, description: str, allowed_http_methods: [str], custom_response: map, verification: any} # Source input object, rules: [any]}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint PUT /connections
@desc Update or create a connection
@optional {name: str # A unique name of the connection for the source, description: str # Description for the connection, destination_id: str # ID of a destination to bind to the connection, source_id: str # ID of a source to bind to the connection, destination: map{name!: str, description: str, url: str(URL), cli_path: str, rate_limit: int, rate_limit_period: str, http_method: str, auth_method: any, path_forwarding_disabled: bool} # Destination input object, source: map{name!: str, description: str, allowed_http_methods: [str], custom_response: map, verification: any} # Source input object, rules: [any]}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /connections/count
@desc Count connections
@optional {destination_id: any, source_id: any, disabled: bool, disabled_at: any, paused_at: any}
@returns(200) {count: num(float)} # Count of connections
@errors {400: Bad Request, 422: Unprocessable Entity}

@endpoint GET /connections/{id}
@desc Get a single connection
@required {id: str}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {404: Not Found, 410: Gone}

@endpoint PUT /connections/{id}
@desc Update a connection
@required {id: str}
@optional {name: str, description: str # Description for the connection, rules: [any]}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {400: Bad Request, 404: Not Found, 422: Unprocessable Entity}

@endpoint DELETE /connections/{id}
@desc Delete a connection
@required {id: str}
@returns(200) {id: str} # A single connection
@errors {404: Not Found}

@endpoint PUT /connections/{id}/disable
@desc Disable a connection
@required {id: str}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {404: Not Found}

@endpoint PUT /connections/{id}/archive
@desc Disable a connection
@required {id: str}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {404: Not Found}

@endpoint PUT /connections/{id}/enable
@desc Enable a connection
@required {id: str}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {404: Not Found}

@endpoint PUT /connections/{id}/unarchive
@desc Enable a connection
@required {id: str}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {404: Not Found}

@endpoint PUT /connections/{id}/pause
@desc Pause a connection
@required {id: str}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {404: Not Found}

@endpoint PUT /connections/{id}/unpause
@desc Unpause a connection
@required {id: str}
@returns(200) {id: str, name: str?, full_name: str?, description: str?, team_id: str, destination: map{id: str, name: str, description: str?, team_id: str, path_forwarding_disabled: bool?, url: str(URL)?, cli_path: str?, rate_limit: int?, rate_limit_period: str?, http_method: str?, auth_method: any, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, source: map{id: str, name: str, description: str?, team_id: str, url: str(URL), verification: any?, allowed_http_methods: [str]?, custom_response: map?{content_type: str, body: str}, disabled_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}, rules: [any]?, disabled_at: str(date-time)?, paused_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)} # A single connection
@errors {404: Not Found}

@endgroup

@end
