apyhub
ARTIFICIAL INTELLIGENCE · SMART GENERATION

Summarize Text API

What it does

Text Summarizer turns long text into a shorter summary job you can track asynchronously. Send content in the request body, and you can optionally add context, language, max_length, and voice_tone to steer the output. The API returns a job_id immediately, then lets you check progress with the job status endpoint.

Use it when you need to condense articles, reports, support notes, or internal docs without building your own summarization pipeline. context is useful when the same source text needs a specific angle, such as executive recap, customer-facing wording, or technical highlights. language controls the output language, max_length limits the summary length in words, and voice_tone lets you shape the style.

When the job completes, the status response includes the job status and a result.summary string. Status values include queued, running, success, and failed, so you can poll until the summary is ready and then store or display it in your app.

▣ ENDPOINT 01 / 02
POST
Submit Summarize Text job
https://api.eu.apyverse.com/sharpapi/summarize-text

QUICKSTART

GUIDE

Quickstart

Summarize text by sending the required content field in a JSON body.

curl -X POST "https://api.eu.apyverse.com/sharpapi/summarize-text" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"ApyHub helps developers automate common tasks through simple APIs."}'

What you'll get back

Returns a JSON object with a required job_id string field identifying the created summarization job.

{
  "job_id": "5de4887a-0dfd-49b6-8edb-9280e468c210"
}
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 summarize.
Additional processing instructions for the content.
Specify the language of the output, defaults to `English`.
Specify the maximum length of the summary in words .(For example: `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 a text summarization job and returns a job identifier for tracking the asynchronous processing. Provide the text content to summarize, plus optional instructions such as context, language, maximum summary length, and voice tone.

Request Body

ParameterTypeMandatoryDescription
contentStringYesProvide the content to summarize.
contextStringNoAdditional processing instructions for the content.
languageStringNoSpecify the language of the output, defaults to English.
max_lengthNumberNoSpecify the maximum length of the summary in words. For example: 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 a job_id string field — the identifier for the submitted summarization job.

ParameterTypeMandatoryDescription
job_idStringYesJob identifier returned for tracking the async job.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
GET
Get Summarize Text job status
https://api.eu.apyverse.com/sharpapi/summarize-text/job/status/:job_id

QUICKSTART

GUIDE

Quickstart

Check the status of a summarize-text job by its job_id path parameter.

curl -X GET "https://api.eu.apyverse.com/sharpapi/summarize-text/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 includes id and type for the job result, plus attributes, which contains the job status, the job type, and a result object with a summary string when the job succeeds.

{
  "data": {
    "id": "5fa45f0e-6680-4f64-8528-3f085a87bd2f",
    "type": "api_job_result",
    "attributes": {
      "type": "content_summarize",
      "status": "success",
      "result": {
        "summary": "..."
      }
    }
  }
}
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 Summarize Text job by job ID. On success, it returns a JSON object containing a data object with the job identifier, job record type, and an attributes object that includes the job status and, when the job has completed successfully, the summarized text result.

Path Parameter(s)

AttributeTypeMandatoryDescription
job_idStringYesJob identifier (string).

Response

Returns a JSON object with a data object. The data object contains id and type string fields, plus an attributes object. Inside attributes, status is an ENUM string and type is a string; result is an object that contains a summary string when the job has completed successfully. Success status code is not specified in the schema.

ParameterTypeMandatoryDescription
dataObjectYesWrapper for the job status payload. Contains id, type, and attributes.
data.idStringYesJob result identifier (string).
data.typeStringYesJob result type (string).
data.attributesObjectYesJob attributes object. Contains status, type, and result.
data.attributes.statusENUMYesJob status. Allowed values: success, failed, running, queued.
data.attributes.typeStringYesSummarization job type (string).
data.attributes.resultObjectNoResult object returned when the job has completed successfully. Contains summary.
data.attributes.result.summaryStringNoSummarized text output.

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.