> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opnform.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retry an Integration Event

> Retry an eligible failed delivery for one form integration.

## Authentication & Scope

Use a Personal Access Token with `manage-integrations` and write access to the form's workspace.

## Before you retry

In the form's **Integrations** tab, open **Past Events** for the affected integration. You can also [list integration events](https://docs.opnform.com/api-reference/integrations/list-webhook-events.md) through the API. Choose an event with `can_retry: true`.

A retry sends the submission's latest saved answers and attribution metadata using the integration's current settings. Only that integration runs. The original event remains in the history, and the retry creates a new event.

You can retry only the latest failed attempt for a completed submission that still exists, and the integration must be active. Older events without a submission ID cannot be retried.

For emails, retry is available only when tracking confirms that no recipient received or may have received the message. Emails with partial delivery, uncertain delivery, bounces, complaints, or unavailable tracking details require you to review the recipient outcomes first.

> [!WARNING]
>
> A failed webhook response does not prove that the destination did nothing. Check the destination before retrying. Use `submission_id` in your receiver to identify repeat deliveries where appropriate for your workflow.

## Request

Send an empty POST request. All three identifiers must refer to the same form and integration.

```bash cURL theme={null}
curl -X POST 'https://api.opnform.com/open/forms/123/integrations/42/events/1000/retry' \
  -H 'Authorization: Bearer YOUR_PAT' \
  -H 'Accept: application/json'
```

## Response

`200 OK` returns the event produced by this attempt. Inspect `type` and `event.status`: `200` means that the attempt completed, and its delivery may still have failed or been skipped.

```json Success theme={null}
{
  "type": "success",
  "message": "Event retried successfully.",
  "event": {
    "id": 1001,
    "date": "2026-10-03 14:00",
    "status": "Success",
    "tracking_id": null,
    "email_tracking": false,
    "legacy_email": false,
    "updated_at": "2026-10-03T14:00:00Z",
    "data": { "submission_id": 1234 },
    "can_retry": false,
    "retry_unavailable_reason": "Only failed events can be retried."
  }
}
```

The `type` is `success`, `error`, or `warning`. An email marked `Accepted` is accepted by the mail transport; delivery is not yet confirmed. `Skipped` means that the current integration conditions prevented a send. `Unknown` means that delivery could not be confirmed.

## Error responses

* `401 Unauthorized`: authentication is missing or invalid.
* `403 Forbidden`: the token lacks `manage-integrations` or the user lacks write access.
* `404 Not Found`: the form, integration, or event is missing or belongs to a different parent.
* `422 Unprocessable Entity`: the event is no longer eligible. The response includes a `message` and `errors.event`. Refresh the history to review the latest attempt.
* `429 Too Many Requests`: you exceeded 10 retry requests per minute. Wait for `Retry-After` before trying again.


## OpenAPI

````yaml post /open/forms/{form}/integrations/{integrationid}/events/{event}/retry
openapi: 3.0.1
info:
  title: OpnForm API
  description: API for interacting with OpnForm, primarily used for Zapier integration
  version: 1.0.0
servers:
  - url: https://api.opnform.com
security:
  - bearerAuth: []
tags:
  - name: Workspaces
    description: Create and manage workspaces.
  - name: Workspace Users
    description: Manage users within a workspace.
  - name: Forms
    description: Manage and retrieve forms.
  - name: Submissions
    description: Access and manage form submissions.
  - name: Integrations
    description: Manage form integrations (webhooks) via API.
  - name: Zapier
    description: Legacy endpoints for the Zapier integration.
paths:
  /open/forms/{form}/integrations/{integrationid}/events/{event}/retry:
    post:
      tags:
        - Integrations
      summary: Retry an Integration Event
      description: >-
        Retry the latest eligible failed event with current settings and saved
        submission data. Requires manage-integrations and workspace write
        access. Limited to 10 requests per minute per user.
      parameters:
        - name: form
          in: path
          required: true
          schema:
            type: integer
        - name: integrationid
          in: path
          required: true
          schema:
            type: integer
        - name: event
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: >-
            Attempt completed. Inspect type and event.status for its delivery
            outcome.
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - success
                      - error
                      - warning
                  message:
                    type: string
                  event:
                    $ref: '#/components/schemas/IntegrationEvent'
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
        '404':
          description: Form, integration, or event not found in the requested scope
        '422':
          description: Event is no longer eligible for retry
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
                    properties:
                      event:
                        type: array
                        items:
                          type: string
        '429':
          description: Too many retry requests; wait for Retry-After
      security:
        - bearerAuth: []
components:
  schemas:
    IntegrationEvent:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        date:
          type: string
          description: Event date formatted as YYYY-MM-DD HH:mm.
        status:
          type: string
          enum:
            - Success
            - Error
            - Skipped
            - Processing
            - Accepted
            - Delivered
            - Unknown
        tracking_id:
          type: string
          nullable: true
        email_tracking:
          type: boolean
        legacy_email:
          type: boolean
        updated_at:
          type: string
          format: date-time
          nullable: true
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Submission ID, failure details, or email recipient outcomes.
        can_retry:
          type: boolean
          description: >-
            Whether this is the latest eligible failed attempt for an available
            completed submission.
        retry_unavailable_reason:
          type: string
          nullable: true
          description: Why retry is unavailable; null when eligible.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Personal Access Token
      x-bearer-scopemap:
        workspaces-read: Read access to workspaces
        workspaces-write: Write access to workspaces
        workspace-users-read: Read access to workspace users
        workspace-users-write: Write access to workspace users
        forms-read: Read access to forms
        forms-write: Write access to forms
        manage-integrations: Manage form integrations (webhooks)

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.