canonical: https://jentic.com/apis/nexmo.com/nexmo-application-api

# Nexmo Application API

Jentic publishes the only available OpenAPI specification for Nexmo Application API, keeping it validated and agent-ready. This is version 1 of the Nexmo Application API and is marked deprecated by Vonage in favour of v2; it remains documented here for legacy integrations. A Nexmo application is the security and configuration container that binds together Voice answer URLs, event URLs, public key material, and channel-specific permissions. The five endpoints under `/v1/applications` cover full CRUD on the application resource: list, create, retrieve, update, and destroy.

## For AI agents

Manage v1 Nexmo applications - the security and configuration container used by Voice and other Nexmo products. Five CRUD endpoints. Marked deprecated; use v2 for new work.

## Scope

Does not manage v2 capabilities objects, sign JWTs for application-scoped APIs, or send messages or calls - use only for legacy v1 application CRUD; use Application v2 for new integrations.

## Capabilities

- Create a new Nexmo application via POST / with name, type, answer_url, and event_url
- Retrieve all applications belonging to the account via GET /
- Retrieve a single application by id via GET /{app_id}
- Update an application's URLs or name via PUT /{app_id}
- Destroy an application via DELETE /{app_id}

## Use cases

### Auditing legacy v1 applications before migration

Teams preparing to migrate from Application API v1 to v2 first need an inventory of what exists. GET / paginates the legacy applications; GET /{app_id} fetches each one's full configuration including answer_url, event_url, and public_key so the migration script can reconstruct the equivalent v2 capabilities object.

Example prompt: GET / to list applications, then GET /{app_id} for each id to capture answer_url, event_url, and public_key for migration.

### Updating answer URLs across legacy applications

When the application's webhook hostname changes, every legacy app's answer_url and event_url need updating. PUT /{app_id} accepts the modified URL fields and returns the updated record. The whole operation is one call per application id obtained from GET /.

Example prompt: GET / to fetch the application list, then PUT /{app_id} for each application with the new answer_url and event_url.

### Cleanup of unused legacy applications by an agent

An AI agent tidying up a Nexmo tenant can list v1 applications, identify the ones still pointing at a decommissioned hostname, and DELETE /{app_id} for each. Through Jentic the agent searches once for 'destroy a nexmo application', loads the operation, and executes per id without browsing legacy docs.

Example prompt: Search Jentic for 'destroy a nexmo application v1', load DELETE /{app_id}, iterate the GET / result, and execute DELETE per id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/` | List all applications on the account |
| POST | `/` | Create a new application |
| GET | `/{app_id}` | Retrieve a single application by id |
| PUT | `/{app_id}` | Update an application's name or URLs |
| DELETE | `/{app_id}` | Destroy an application |

## Key resources

- **Application** — Top-level legacy v1 application resource - full CRUD via `/v1/applications` and `/v1/applications/{app_id}`

## Why Jentic

- **Setup:** Wiring the Nexmo Application API by hand means attaching your Nexmo basic credentials to every call and targeting the api.nexmo.com/v1/applications host for legacy v1 application CRUD. Through Jentic you install once, import the Application API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** The Application API puts the application id in the URL path (/{app_id}), so a rule can pin your agent to one application: it can read and update that application. You choose the operations it may call, so creating new applications or deleting one is not included unless you add it.
- **Credential handling:** Your Nexmo basic credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'update a Nexmo application', and Jentic returns the matching v1 endpoint with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Nexmo Application API v2** — The current, non-deprecated version of the same application management API
- **Nexmo Messages API** — Sends messages bound to the application-scoped JWT this resource configures
- **Twilio API** — Twilio's Applications resource is the closest equivalent for binding voice and messaging webhooks

## FAQ

### Why is there no official OpenAPI spec for Nexmo Application API?

Vonage (formerly Nexmo) does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Nexmo Application API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Nexmo Application API use?

The OpenAPI spec does not declare a securityScheme on the v1 endpoints, but in practice these calls use HTTP basic auth with api_key and api_secret. Through Jentic the credential pair is stored encrypted and injected at execution time.

### Should I use this v1 API or v2?

Vonage marks v1 as deprecated and recommends v2 (the application.v2 slug) for new work. v1 remains useful for inventory and migration: GET / lists existing v1 applications and GET /{app_id} fetches their config so migration scripts can rebuild the equivalents in v2.

### What are the rate limits for the Nexmo Application API?

The OpenAPI spec does not declare rate limits for `/v1/applications.` Account-level throttles apply, and application CRUD is typically a low-volume operation relative to message or voice traffic.

### How do I update an application's webhook URLs through Jentic?

Search Jentic for 'update a nexmo application', load PUT /{app_id}, and execute with the application id in the path and the new answer_url and event_url in the body.

### How do I retrieve the public key associated with an application?

GET /{app_id} returns the application record including the public_key field. Use the same call before destroying the application if the keypair needs to be archived.

### Can I limit what my agent is allowed to do with the Nexmo Application API?

Yes. Because you run your own self-hosted Jentic One instance, your own rules decide which of the five operations your agent may call and which credentials it may use. Since the application id sits in the URL path (/{app_id}), a rule can pin the agent to a single application so it only reads (GET /{app_id}) and updates (PUT /{app_id}) that one record. Creating new applications (POST /) or destroying one (DELETE /{app_id}) stays off limits unless you explicitly add it.
