apyhub
ARTIFICIAL INTELLIGENCE · SMART GENERATION

Paraphrase Text API

What it does

Paraphrase Text rewrites submitted content while preserving the meaning of the original. Send a content string, and optionally add context to guide the rewrite, language to set the output language, max_length to cap the length, and voice_tone to shape the style.

Use it when you need alternate wording for a blog draft, product copy, support article, or internal documentation. The service submits a paraphrase job and returns a job_id plus a status_url so you can poll for completion asynchronously.

When the job finishes, the status endpoint returns a data object with id, type, and attributes. Inside attributes, you get the job status and a result object containing the paraphrased text in paraphrase.

Paraphrase Text is a good fit for content refresh workflows, tone adaptation, and rewriting text for a different audience without changing the underlying message.

▣ ENDPOINT 01 / 02
POST
Paraphrase Text - Submit Job
http://localhost:8080/sharpapi/paraphrase-text/paraphrase
QUICKSTARTGUIDE

Quickstart

Submit text for paraphrasing as a JSON job request.

curl -X POST "http://localhost:8080/sharpapi/paraphrase-text/paraphrase" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"The meeting was productive and covered all key points."}'

What you'll get back

Returns a JSON object with a job_id string and a status_url string. job_id is the unique identifier for the submitted job, and status_url is the URL to poll for its status and result.

{
  "status_url": "https://apyhub.com/services/provider/sharpapi/api/v1/content/paraphrase/job/status/fcf7bd36-51b6-4d0a-99dc-6c5279895d61",
  "job_id": "fcf7bd36-51b6-4d0a-99dc-6c5279895d61"
}
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*
Provide the content to paraphrase.
Provide additional context to improve paraphrasing accuracy.
Specify the language of the output.
Specify the maximum length of the paraphrased content.
Specify the voice tone of the output. Can be an adjective like `funny` or `joyous`, or even the name of a famous writer.

About this endpoint

What it does

Submits a paraphrasing job for the provided text content. The request body includes the text to paraphrase and optional fields to guide the output, and the response returns a job identifier plus a status URL to check progress.

Request Body

ParameterTypeMandatoryDescription
contentStringYesProvide the content to paraphrase.
contextStringNoProvide additional context to improve paraphrasing accuracy.
languageStringNoSpecify the language of the output. Defaults to English.
max_lengthNumberNoSpecify the maximum length of the paraphrased content. Must be at least 1.
voice_toneStringNoSpecify the voice tone of the output. Can be an adjective like funny or joyous, or the name of a famous writer.

Response

Returns a JSON object with required job_id and status_url string fields. job_id is a UUID identifying the submitted job, and status_url is a URI used to poll for the job's status and result.

ParameterTypeMandatoryDescription
job_idStringYesThe unique identifier of the submitted job. Format: UUID.
status_urlStringYesURL to poll for the job's status and result. 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 the job identifier from job_id.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
GET
Paraphrase Text - Check Job Status
http://localhost:8080/sharpapi/paraphrase-text/summarize/job/status/:job_id
QUICKSTARTGUIDE

Quickstart

Check the status of a paraphrase job by its job ID.

curl -X GET "http://localhost:8080/sharpapi/paraphrase-text/summarize/job/status/:job_id" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a top-level data object. data contains the job id, type, and an attributes object with type, result, and status. When the job is complete, attributes.result.paraphrase holds the paraphrased text.

{
  "data": {
    "id": "8d2f7c3a-2f5e-4a0a-9d8a-1e2b3c4d5e6f",
    "type": "api_job_result",
    "attributes": {
      "type": "content_paraphrase",
      "result": {
        "paraphrase": "..."
      },
      "status": "success"
    }
  }
}
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

Checks the status of a previously submitted paraphrase job using its job ID. When the job reaches success, the response includes the paraphrased text in the result payload.

Path Parameter(s)

AttributeTypeMandatoryDescription
job_idString (UUID)YesThe job identifier to look up in the status endpoint.

Response

Returns a JSON object with a data object field. data contains the job id as a UUID string, a type string, and an attributes object with type, result, and status fields. The status field indicates the job state; when the job is successful, attributes.result.paraphrase contains the paraphrased text.

AttributeTypeMandatoryDescription
dataObjectNoWrapper object for the job status payload.
data.idStringNoThe job identifier as a UUID.
data.typeStringNoThe response item type.
data.attributesObjectNoJob attributes, including status and result details.
data.attributes.typeStringNoThe content type for the job result.
data.attributes.resultObjectNoResult object returned when the job completes successfully.
data.attributes.result.paraphraseStringNoThe paraphrased version of the provided content.
data.attributes.statusENUMNoJob status. Allowed values: running, failed, queued, success.

Notes

Poll this endpoint with the job_id returned by the submit call. The data.attributes.status field cycles through transitional values (queued, running) before reaching a terminal state (success, failed). The result field data.attributes.result.paraphrase is only populated once status is success; treat it as absent otherwise.

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.