apyhub
COMMUNICATIONS · MARKETING

Generate Thank You E-mail API

What it does

Thank You Email Generator creates a thank-you email from the content you provide, then returns the generated email text asynchronously. Send a body object with required content, and optionally add context, language, max_length, and voice_tone to steer the output.

Use content to describe the product, event, or situation you want the email to reference. Add context when you need extra instructions for phrasing or structure. Set language for non-English output, cap the length with max_length, and choose a voice_tone if you want the message to sound formal, friendly, funny, or like a specific writer.

The submit endpoint returns a job_id and status_url so you can track generation without blocking your app. When the job completes, the status response includes the generated email under data.attributes.result, along with the job status.

Use Thank You Email Generator when you need personalized follow-up messages after sales calls, interviews, events, support interactions, or customer handoffs, without building your own text generation workflow.

▣ ENDPOINT 01 / 02
POST
Submit Generate Thankyou Email job
https://api.eu.apyverse.com/sharpapi/generate-thank-you-email

QUICKSTART

GUIDE

Quickstart

Create a thank-you email generation job with the required content field.

curl -X POST "https://api.eu.apyverse.com/sharpapi/generate-thank-you-email" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"Thank you email for a new laptop purchase with fast shipping"}'

What you'll get back

Returns a JSON object with job_id and status_url fields. job_id is a UUID for the submitted asynchronous job, and status_url is the URI you can use to check its status.

{
  "job_id": "550e8400-e29b-41d4-a716-446655440000",
  "status_url": "https://example.com/jobs/550e8400-e29b-41d4-a716-446655440000"
}
TRY ITLIVE · 50 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Product name and its parameters to generate the thank you Email.
An additional flexible instructions for content processing.
Specify the language of the output, defaults to English
Specify the maximum length of email in words. eg. 100
Specify the voice tone of the output. It can be adjectives like funny or joyous, or even the name of a famous writer.

About this endpoint

What it does

Submits an asynchronous job to generate a thank-you email from the provided content and optional generation settings. It returns a job identifier and a status URL that you can use to check when the email generation has finished.

Request Body

ParameterTypeMandatoryDescription
contentStringYesProduct name and its parameters to generate the thank you Email.
contextStringNoAn additional flexible instructions for content processing.
languageStringNoSpecify the language of the output, defaults to English.
max_lengthNumberNoSpecify the maximum length of email in words. eg. 100
voice_toneStringNoSpecify the voice tone of the output. It can be adjectives like funny or joyous, or even the name of a famous writer.

Response

Returns a JSON object with two required string fields: job_id and status_url. job_id is a UUID identifying the submitted async job, and status_url is a URI for checking the job status.

ParameterTypeMandatoryDescription
job_idStringYesIdentifier of the submitted asynchronous job. Format: UUID.
status_urlStringYesURL used to check the submitted job status. Format: URI.

Notes

This endpoint kicks off an async job and returns immediately with a job identifier; the actual work runs in the background. Pair this call with the corresponding job_check endpoint — poll that until the status reaches a terminal state to retrieve the result. Extract job_id from the response and use it for polling.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
GET
Get Generate Thankyou Email job status
https://api.eu.apyverse.com/sharpapi/generate-thank-you-email/job/status/:job-id

QUICKSTART

GUIDE

Quickstart

Check the status of a thank-you email job by replacing :job-id with the job UUID.

curl -X GET "https://api.eu.apyverse.com/sharpapi/generate-thank-you-email/job/status/:job-id" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a data object. Inside data, id and type are strings for the job, and attributes is an object containing type, status, and result.email.

{
  "data": {
    "id": "job_123",
    "type": "job",
    "attributes": {
      "type": "thank-you-email",
      "status": "completed",
      "result": {
        "email": "Hi Sarah, thank you for your time..."
      }
    }
  }
}
TRY ITLIVE · 1 ATOM
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves the current status of a Generate Thankyou Email job by job ID. On success, it returns a JSON object containing a data object with the job identifier and its current attributes.

Path Parameter(s)

AttributeTypeMandatoryDescription
job-idStringYesJob identifier, formatted as a UUID.

Response

Returns a JSON object with a data object. The data object contains id and type string fields, plus an attributes object with type, status, and result fields. The result object contains an email string field.

AttributeTypeMandatoryDescription
dataObjectNoJob record wrapper containing id, type, and attributes.
data.idStringNoJob identifier.
data.typeStringNoResource type string.
data.attributesObjectNoJob attributes wrapper containing type, status, and result.
data.attributes.typeStringNoType string for the attributes object.
data.attributes.statusStringNoCurrent job status.
data.attributes.resultObjectNoResult wrapper containing the generated email.
data.attributes.result.emailStringNoGenerated email content.

Path parameters

Name
Type
Description
job-idREQUIRED
string
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.