## cURL

```bash
curl --location --request GET https://api.writer.com/v1/applications \
 --header "Authorization: Bearer <token>"
```

```python
import os
from writerai import Writer

client = Writer(
    api_key=os.environ.get("WRITER_API_KEY"),  # This is the default and can be omitted
)
page = client.applications.list()
page = page.data[0]
print(page.id)
```

```javascript
import Writer from 'writer-sdk';

const client = new Writer({
  apiKey: process.env['WRITER_API_KEY'], // This is the default and can be omitted
});

async function main() {
  // Automatically fetches more pages as needed.
  for await (const applicationListResponse of client.applications.list()) {
    console.log(applicationListResponse.id);
  }
}

main();
```

```json
{
  "data": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "type": "generation",
      "inputs": [
        {
          "name": "<string>",
          "required": true,
          "description": "<string>",
          "options": {
            "list": [
              "<string>"
            ]
          }
        }
      ],
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "last_deployed_at": "2023-11-07T05:31:56Z"
    }
  ],
  "has_more": true,
  "first_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "last_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
```

### No-code applications

No-code applications are now called [no-code agents](https://dev.writer.com/no-code/introduction). The [Applications API](https://dev.writer.com/api-reference/application-api/api-reference/application-api/applications), which you can use to programmatically interact with no-code agents, still uses the term `application` to minimize breaking changes.

#### Authorizations

**Authorization**  
string  
header  
required  
Bearer authentication header of the form `Bearer <token>`, where `<token>` is your [Writer API key](https://dev.writer.com/api-reference/api-keys).

#### Query Parameters

**order**  
enum<string>  
default:desc  
Sort order for the results based on creation time.  
Available options:  
`asc`,  
`desc`

**before**  
string<uuid>  
Return results before this application ID for pagination.

**after**  
string<uuid>  
Return results after this application ID for pagination.

**limit**  
integer<int32>  
default:50  
Maximum number of applications to return in the response.

**type**  
enum<string>  
default:generation  
Filter applications by their type.  
The type of no-code application.  
Available options:  
`generation`

#### Response

**200 - application/json**  
Successfully retrieved list of applications.  
Response object containing a paginated list of applications.

**data**  
application_with_inputs · object[]  
required  
List of application objects with their configurations.

**has_more**  
boolean  
required  
Indicates if there are more results available in subsequent pages.

**first_id**  
string<uuid>  
UUID of the first application in the current page.

**last_id**  
string<uuid>  
UUID of the last application in the current page.
