Sign in
  1. Overview
  2. Get started
  3. Add a webhook
  4. Testing your webhook
  5. Retry attempts
  6. Response codes
  7. Events
  8. Request sent
  9. Request completed
  10. Request archived
  11. Request deleted
  12. Request viewed
  13. Field completed
  14. Field approved
  15. Field rejected
  16. Client created
  17. Client updated
  18. Client deleted
  19. New comment received
  20. New comment sent
  21. Email delivered
  22. Email bounced
  23. Email spammed

Webhooks


Webhooks are HTTP endpoints that receive events from OkaySend.

They allow you to be notified about document collection events that happen in the real world outside of your document flow. Some examples of document collection events include completed requests (request.completed) and bounced emails (email.bounced).

Webhooks are essential for scaling your document collection integration by helping you process large volumes of business-critical events.


Overview

Get started

A webhook is the act of OkaySend making an HTTP POST request to your application’s API when an event occurs. This way OkaySend is able to immediately notify you when an event occurs.

You can build a webhook handler on your own server to manage all your offline workflows. Start by exposing an endpoint that can receive requests from OkaySend and test your integration. Each request from OkaySend contains an JSON object with a reference to the object on OkaySend that was modified.

Add a webhook

Navigate to Settings > Webhooks and click the Add an endpoint button. Enter an endpoint URL and select the events you want to listen to. Click Save to finish setting up a new webhook.

Testing your webhook

Testing webhooks can be a difficult process. Here are two recommendations:

Using the dashboard:

Navigate to Settings > Webhooks and click the ... three dots to reveal an option to test your URL endpoint. Simply select the event you want to test and click the Test button.


Using curl:

Curl is a great tool for interacting with APIs, among other functions. In this context, you can utilize curl to send HTTP requests to your API, mimicking the behavior of OkaySend's requests. You can find an example curl call for each individual webhook event on this page.

Retry attempts

If OkaySend does not receive a 200 response from a webhook server, we will NOT retry POSTing again.

Response codes

OkaySend uses standard HTTP response codes to indicate the success or failure of a request.

Codes in the 2xx range indicate success, codes in the 4xx range indicate an error given the information provided (e.g. a required parameter was omitted), and codes in the 5xx range indicate an error with the OkaySend service itself.


Parameter Description
200 OK - The request was successful.
400 Bad Request - The request could not be understood due to malformed syntax.
401 Unauthorized - Your API key is wrong or the access token has expired.
403 Limit Reached - Please make requests inactive, permanently delete requests to clear space, or upgrade your account.
404 Not Found - The requested resource is not found.
500 Internal Error - Our servers encountered an unexpected error while fetching or updating data to our database.
503 Service Unavailable - We’re temporarily offline. Please try again later.

Events

Request sent

Description:

Triggers when the status of a request changes to "sent" and is published.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    request: {
      client_id: "-NeD5nNcbr-nViVjjp",
      client: {
        id: "-NeD5nNcbr-nViVjjp",
        email: "example@gmail.com",
        name: "John Doe"
      },
      due_date: 1711220400000,
      progress: 0,
      sent_date: 1698640152432,
      status: "sent",
      title: "Approval Questionnaire",
      user: "1cnViVnv6W6Aqrkkm_x8"
    }
  },
  type: "request.sent"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
request Object Details about the request in context.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
due_date Number The due date for the request. A timestamp.
progress Number The progress of the checklist. Ranges 0 to 100.
sent_date Number The timestamp of the request when it was first finalized and sent.
status String The current status of the request. See What do the Request statuses mean?
title String The name of the request.
user String The unique identifier of the user or member of your team that originally sent the request.
request_id String The unique identifier of the request.
account_id String The unique identifier of your OkaySend account.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

"due_date" may NOT always be present.

Also see: How to send a Request?

Request completed

Description:

Triggers when all required fields are filled and the status of a request changes to "complete".


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    request: {
      client_id: "-NeD5nNcbr-nViVjjp",
      client: {
        id: "-NeD5nNcbr-nViVjjp",
        email: "example@gmail.com",
        name: "John Doe"
      },
      due_date: 1711220400000,
      progress: 100,
      sent_date: 1698640152432,
      status: "complete",
      submitted: true,
      title: "Approval Questionnaire",
      user: "1cnViVnv6W6Aqrkkm_x8"
    }
  },
  type: "request.completed"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
request Object Details about the request in context.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
due_date Number The due date for the request. A timestamp.
progress Number The progress of the checklist. Ranges 0 to 100.
sent_date Number The timestamp of the request when it was first finalized and sent.
status String The current status of the request. See What do the Request statuses mean?
submitted Boolean Indicates whether the request was completed and submitted at least once. Use this value to check and handle for multiple webhook triggers.
title String The name of the request.
user String The unique identifier of the user or member of your team that originally sent the request.
request_id String The unique identifier of the request.
account_id String The unique identifier of your OkaySend account.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

"due_date" may NOT always be present.

Note: This webhook may trigger more than once and whenever the status changes to "complete".

Request archived

Description:

Triggers when the status of a request changes to "archived".


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    request: {
      client_id: "-NeD5nNcbr-nViVjjp",
      client: {
        id: "-NeD5nNcbr-nViVjjp",
        email: "example@gmail.com",
        name: "John Doe"
      },
      due_date: 1711220400000,
      progress: 100,
      sent_date: 1698640152432,
      status: "archived",
      submitted: true,
      title: "Approval Questionnaire",
      user: "1cnViVnv6W6Aqrkkm_x8"
    }
  },
  type: "request.archived"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
request Object Details about the request in context.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
due_date Number The due date for the request. A timestamp.
progress Number The progress of the checklist. Ranges 0 to 100.
sent_date Number The timestamp of the request when it was first finalized and sent.
status String The current status of the request. See What do the Request statuses mean?
title String The name of the request.
user String The unique identifier of the user or member of your team that originally sent the request.
request_id String The unique identifier of the request.
account_id String The unique identifier of your OkaySend account.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

"due_date" may NOT always be present.

Note: This webhook may trigger more than once and whenever the status changes to "archived".

Request deleted

Description:

Triggers when the request is deleted.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    request: {
      client_id: "-NeD5nNcbr-nViVjjp",
      client: {
        id: "-NeD5nNcbr-nViVjjp",
        email: "example@gmail.com",
        name: "John Doe"
      },
      due_date: 1711220400000,
      progress: 100,
      sent_date: 1698640152432,
      status: "archived",
      submitted: true,
      title: "Approval Questionnaire",
      user: "1cnViVnv6W6Aqrkkm_x8"
    }
  },
  type: "request.deleted"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
request Object Details about the request in context.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
due_date Number The due date for the request. A timestamp.
progress Number The progress of the checklist. Ranges 0 to 100.
sent_date Number The timestamp of the request when it was first finalized and sent.
status String The current status of the request. See What do the Request statuses mean?
title String The name of the request.
user String The unique identifier of the user or member of your team that originally sent the request.
request_id String The unique identifier of the request.
account_id String The unique identifier of your OkaySend account.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

"due_date" may NOT always be present.

Note: Contains data of the request as it was BEFORE it is deleted.

Request viewed

Description:

Triggers whenever a request (client portal) is opened and viewed by a client.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    request: {
      client_id: "-NeD5nNcbr-nViVjjp",
      client: {
        id: "-NeD5nNcbr-nViVjjp",
        email: "example@gmail.com",
        name: "John Doe"
      },
      due_date: 1711220400000,
      progress: 10,
      sent_date: 1698640152432,
      status: "incomplete",
      title: "Approval Questionnaire",
      viewed_by: "unknown"
    }
  },
  type: "request.viewed"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
request Object Details about the request in context.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
due_date Number The due date for the request. A timestamp.
progress Number The progress of the checklist. Ranges 0 to 100.
sent_date Number The timestamp of the request when it was first finalized and sent.
status String The current status of the request. See What do the Request statuses mean?
title String The name of the request.
viewed_by String A unique identifier for the user, if identified; otherwise, it defaults to 'unknown', typically representing the 'not logged in' client.
request_id String The unique identifier of the request.
account_id String The unique identifier of your OkaySend account.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

"due_date" may NOT always be present.

Note: This webhook may trigger more than once.

Field completed

Description:

Triggers when a field is filled, completed, and marked "done" in OkaySend.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_name: "Approval Questionnaire",
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    field_id: "-NewenbjpH9D5nvtF80h",
    field_title: "Legal Name",
    client_id: "-NeD5nNcbr-nViVjjp",
    client: {
      id: "-NeD5nNcbr-nViVjjp",
      email: "example@gmail.com",
      name: "John Doe"
    }
  },
  type: "field.completed"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
field_title String The title of the field or the question (e.g., "Please upload your company graphics").
field_id String A unique identifier for the field (e.g., "-Nly4iRLY4YCzp_y7y-3").
request_name String The title of the request to which the field belongs (e.g., "Example Checklist").
request_id String The unique identifier for the request to which the field belongs (e.g., "example_id_123").
account_id String The unique identifier of with the OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

A field may trigger the "Field Completed" webhook more than once in the case where the client edits their response.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

Field approved

Description:

Triggers when a response to a field is approved in OkaySend or, in other words, when the status of the field changes to "approved".


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_name: "Approval Questionnaire",
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    field_id: "-NewenbjpH9D5nvtF80h",
    client_id: "-NeD5nNcbr-nViVjjp",
    client: {
      id: "-NeD5nNcbr-nViVjjp",
      email: "example@gmail.com",
      name: "John Doe"
    }
  },
  type: "field.approved"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
field_id String A unique identifier for the field (e.g., "-Nly4iRLY4YCzp_y7y-3").
request_name String The title of the request to which the field belongs (e.g., "Example Checklist").
request_id String The unique identifier for the request to which the field belongs (e.g., "example_id_123").
account_id String The unique identifier of with the OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

A field may trigger the "Field Approved" webhook more than once in the case where the client edits their response and it's approved more than once.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

Field rejected

Description:

Triggers when a response to a field is rejected in OkaySend or, in other words, when the status of the field changes to "rejected".


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    request_name: "Approval Questionnaire",
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    field_id: "-NewenbjpH9D5nvtF80h",
    client_id: "-NeD5nNcbr-nViVjjp",
    client: {
      id: "-NeD5nNcbr-nViVjjp",
      email: "example@gmail.com",
      name: "John Doe"
    }
  },
  type: "field.rejected"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
client Object Details about the client, including company name, email, and other information.
client_id String The unique identifier for the client.
field_id String A unique identifier for the field (e.g., "-Nly4iRLY4YCzp_y7y-3").
request_name String The title of the request to which the field belongs (e.g., "Example Checklist").
request_id String The unique identifier for the request to which the field belongs (e.g., "example_id_123").
account_id String The unique identifier of with the OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

A field may trigger the "Field Rejected" webhook multiple times if the client edits their response but it remains unsatisfactory and is subsequently rejected again.


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

"client" object may NOT always be present.

"client_id" may NOT always be present.

Client created

Description:

Triggers when a new client is added (created) in OkaySend.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    email: "example@gmail.com",
    name: "John Doe",
    phone: "+17654321012",
    company: "Acme",
    id: "-NeD5nNcbr-nViVjjp",
    account_id: "-Ne_JQph4vWOYBw03Co",
    created_at: 1712595976304
  },
  type: "client.created"
}
                  

Payload Breakdown:

Property Name Type Description
data Object Contains the event data.
type String Type of event sent in the request body.
name String The name of the client (e.g., "John Doe").
email String The email address associated with the client (e.g., "example@email.com").
phone String The phone number associated with the client. Returns empty string, if no phone number was provided.
company String The name of the company or organization (e.g., "Acme Corporation"). Returns empty string, if no company name was provided.
created_at Number The timestamp indicating the date and time when the record was created (e.g., 1690300434633).
id String A unique identifier for the client added (e.g., "-NlybKR3qJYCzp_x7y-3").
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Client updated

Description:

Triggers when an existing client is updated in OkaySend.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    email: "example@gmail.com",
    name: "John Doe",
    phone: "+17654321012",
    company: "Acme",
    id: "-NeD5nNcbr-nViVjjp",
    account_id: "-Ne_JQph4vWOYBw03Co"
  },
  type: "client.updated"
}
                  

Payload Breakdown:

Property Name Type Description
data Object Contains the event data.
type String Type of event sent in the request body.
name String The name of the client (e.g., "John Doe").
email String The email address associated with the client (e.g., "example@email.com").
phone String The phone number associated with the client. Returns empty string, if no phone number was provided.
company String The name of the company or organization (e.g., "Acme Corporation"). Returns empty string, if no company name was provided.
id String A unique identifier for the client updated (e.g., "-NlybKR3qJYCzp_x7y-3").
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Client deleted

Description:

Triggers when an existing client is deleted in OkaySend.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    email: "example@gmail.com",
    name: "John Doe",
    phone: "+17654321012",
    company: "Acme",
    id: "-NeD5nNcbr-nViVjjp",
    account_id: "-Ne_JQph4vWOYBw03Co"
  },
  type: "client.deleted"
}
                  

Payload Breakdown:

Property Name Type Description
data Object Contains the event data.
type String Type of event sent in the request body.
name String The name of the client (e.g., "John Doe").
email String The email address associated with the client (e.g., "example@email.com").
phone String The phone number associated with the client. Returns empty string, if no phone number was provided.
company String The name of the company or organization (e.g., "Acme Corporation"). Returns empty string, if no company name was provided.
id String A unique identifier for the client updated (e.g., "-NlybKR3qJYCzp_x7y-3").
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Note: Contains data of the client as it was BEFORE it is deleted.

New comment received

Description:

Triggers whenever a new comment is added to a request by the uploader or client.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    message: "Hi, I could not understand what to input here. Can you please clarify?",
    from: {
      name: "",
      id: "client"
    },
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    request_name: "Approval Questionnaire",
    ref: {
      id: "-NewenbjpH9D5nvtF80h",
      block_name: "Legal Name",
      section_name: "Basic Info",
    }
  },
  type: "comment.received"
}
                  

Payload Breakdown:

Property Name Type Description
data Object Contains the event data.
type String Type of event sent in the request body.
message String Contains the message or comment text sent by the client.
from Object Contains the data of the sender.
name String The name of the client (e.g., "John Doe").
ref Object Contains the field ID, filed title, and the section's title if the message has a link to a field for reference.
request_name String The title of the request to which the field belongs (e.g., "Example Checklist").
request_id String The unique identifier of the request.
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Note: A Reference object may NOT always be present.

New comment sent

Description:

Triggers whenever a new comment is added to a request by this account.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    message: "Hi, please fill this field.",
    from: {
      name: "Sarah",
      id: "-NweGkbtmhqaD_cV3c4A"
    },
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co",
    request_name: "Approval Questionnaire",
    ref: {
      id: "-NewenbjpH9D5nvtF80h",
      block_name: "Legal Name",
      section_name: "Basic Info",
    }
  },
  type: "comment.sent"
}
                  

Payload Breakdown:

Property Name Type Description
data Object Contains the event data.
type String Type of event sent in the request body.
message String Contains the message or comment text sent by the user.
from Object Contains the data of the sender.
name String The name of the sender (e.g., "John Doe").
id String A unique identifier for the sender (e.g., "-NlybKR3qJYCzp_x7y-3").
ref Object Contains the field ID, filed title, and the section's title if the message has a link to a field for reference.
request_name String The title of the request to which the field belongs (e.g., "Example Checklist").
request_id String The unique identifier of the request.
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Note: A Reference object may NOT always be present.

Email delivered

Description:

Triggers whenever a reminder email is successfully delivered to a client's inbox.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    subject: "Information required for Approval Questionnaire",
    to: "example@gmail.com",
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co"
  },
  type: "email.delivered"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
subject String Contains the subject of the email sent.
to String The email of the client.
request_id String The unique identifier of the request in context.
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Email bounced

Description:

Triggers whenever a reminder email fails to be delivered due to bounces.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    subject: "Overdue: information request for Approval Questionnaire",
    to: "example@gmail.com",
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co"
  },
  type: "email.bounced"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
subject String Contains the subject of the email that bounced.
to String The email of the client.
request_id String The unique identifier of the request in context.
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Note: Please re-check and enter valid email address.

Email spammed

Description:

Triggers if a client clicks "Mark as Spam" from their inbox.


Sample Payload:

{
  created_at: "2024-04-28T04:33:06.277Z",
  data: {
    subject: "Information required for Approval Questionnaire",
    to: "example@gmail.com",
    request_id: "-N1hyGTaCNaIjJrkReq",
    account_id: "-Ne_JQph4vWOYBw03Co"
  },
  type: "email.spammed"
}
                  

Payload Breakdown:

Property Name Type Description
created_at String The timestamp indicating when the event was created, formatted in ISO 8601.
data Object Contains the event data.
type String Type of event sent in the request body.
subject String Contains the subject of the email that was marked as spam.
to String The email address of the client.
request_id String The unique identifier of the request in context.
account_id String The unique identifier of your OkaySend account (e.g., "example1aCN3qJCDWuAPWdbK23_Company").


Tip

The datetimes within webhook data will be long integers while the "created_at" key in the webhook request body is in ISO 8601 format.

Note: Spam complaints are usually generated when a recipient is NOT expecting an email. Please reach out to the client.