Invoke no-code agents via the API
application
to minimize breaking changes.The Applications API allows you to turn deployed no-code agents into microservices, which can also be used as tools in tool calling. Business users can define inputs, prompts, and outputs, and developers can then add them to other applications, UIs, or services.
This guide shows how to use the /applications
endpoint to generate content from no-code agents.
If you do not have a deployed no-code agent, follow the guides to build an agent with text generation or research capabilities in AI Studio.
The /applications
endpoint supports only agents with text generation and research capabilities. It does not support chat agents.
You need an API key to access the Writer API. Get an API key by following the steps in the API quickstart.
We recommend setting the API key as an environment variable in a .env
file with the name WRITER_API_KEY
.
Endpoint overview
URL: POST https://api.writer.com/v1/applications/{application_id}
Using the /applications
endpoint will result in charges for model usage. See the pricing page for more information.
Path parameters
Parameter | Type | Description |
---|---|---|
application_id | string | The ID of the deployed agent. You can find this in the URL of the agent in AI Studio: https://app.writer.com/aistudio/organization/<organization-id>/applications/<application-id> . You can also use the List applications endpoint to get the list of deployed agents and see the application ID. |
Request body
Below are the required and commonly used optional parameters for the /applications
endpoint.
Parameter | Type | Description |
---|---|---|
inputs | array | Input values matching the agent’s defined input fields. The input structure depends on the agent capabilities. |
inputs[].id | string | The name of the input field. For research, the input id is always query . |
inputs[].value | array[string] | An array containing values of the input field. You can pass multiple values for a single input field. If the input field is a file, the value should be the file_id from an uploaded file, such as ["1234-abcd-1234"] . Learn more about how to upload files with the Files API. |
See the applications endpoint reference for more information on the request body and the additional parameters you can use to control the agent.
Response format
The response format depends on the agent capabilities and whether you set the stream
parameter to true
or false
. Only agents with research support streaming responses at this time.
Non-streaming response
If you set the stream
parameter to false
, the response is delivered as a JSON object with the following parameters:
Parameter | Type | Description |
---|---|---|
title | string | The name of the output field, as defined in the application. |
suggestion | string | The output of the application call. |
Streaming response
If you set the stream
parameter to true
, the response is delivered as server-sent events. The event contains several parameters.
The content of the chunk is in the delta
field. You can also use the stages
field to get the stages of the research assistant application call, such as “Planning the research” or “Researching and organizing findings.”
Below are the important parameters for extracting the output of the application call.
Parameter | Type | Description |
---|---|---|
delta | object | The content of the chunk. |
delta.content | string | The output of the application call. |
delta.stages | array | The stage of the research assistant application call. |
delta.stages.content | string | The content of the stage. |
Example: Text generation
Agents used for text generation generate content based on the inputs provided to a specific no-code agent created in AI Studio. This is a great way to enable business users to control prompts and outputs while still allowing developers to add them to other applications, UIs, or services.
To invoke text generation, you need to provide the application ID and the required inputs to the agent. Inputs are defined in the agent within AI Studio.
Get the text generation inputs
To see the required inputs for the agent, you can view the agent in AI Studio, or you can use the Get application endpoint to get the agent details, including the inputs.
The example below shows how to use the Get application
endpoint to get the list of required inputs with their name and types.
Format the request body with the application inputs
The inputs
parameter is an array of objects, each containing an id
and value
field. The id
field is the name of the input field, and the value
field is the value of the input field.
If the input field is a file, the value should be the file_id
from an uploaded file.
Your request body should be formatted as a JSON object with values for each input.
Generate content from the agent
Once you’ve formatted the request body with the agent inputs, you can invoke the agent using the Generate content endpoint.
The examples below demonstrate calling an agent with text generation capabilities. The agent takes two text inputs: Product description
and Target audience
.
Example: Research assistant
Agents with research capabilities output a final report after performing research in stages. Because of this, they support streaming responses.
These agents take an array of inputs that contain a single item, formatted as a JSON object with id
and value
parameters. It also takes a stream
parameter that is set to false
by default.
Parameter | Type | Description |
---|---|---|
inputs | array | An array of objects, each containing an id and value field. |
inputs[].id | string | The name of the input field. For research assistant applications, the input id is always query . |
inputs[].value | array[string] | An array containing the research query. |
stream | Boolean | Whether to stream the response. Defaults to false . |
The examples below demonstrate calling an agent to research hotels in San Francisco. The application streams the output as it is generated.
Next steps
Now that you’ve invoked a no-code agent via the API, learn other ways you can use no-code agents via the API:
Was this page helpful?