---
title: "Execute integration"
method: POST
path: "/iapi/project/{projectId}/{service}/{endpoint}"
tags: ["Integrations"]
---

# Execute integration

`POST /iapi/project/{projectId}/{service}/{endpoint}`

## Request

- Base URL: `https://api.websitepublisher.ai`
- URL: `https://api.websitepublisher.ai/iapi/project/{projectId}/{service}/{endpoint}`
- Auth: OAuth 2 (authorization code, authorization URL `https://api.websitepublisher.ai/dapi/oauth/authorize`, token URL `https://api.websitepublisher.ai/dapi/oauth/token`, scopes: `read`, `write`)

Execute an action (e.g. send email, create payment). Credentials resolved from vault. Must be configured first.

## Path parameters

- `projectId` integer, required
- `service` string, required
- `endpoint` string, required

## Request body

- IntegrationExecute
  - `input_json` string, required: JSON-encoded input. Fields depend on endpoint. Example for Resend send-email: {"from": "noreply@site.com", "to": "user@example.com", "subject": "Hello", "html": "<p>Hi</p>"}

## Response `200`

Integration response

## Other responses

- `400`: Not configured or invalid input
- `429`: Proxy call limit reached (upgrade plan)

---

[API](https://skmtc.dev/websitepublisher/apis/websitepublisher-ai-api.md) · [All operations](https://skmtc.dev/websitepublisher/apis/websitepublisher-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/websitepublisher/apis/websitepublisher-ai-api/revisions/e9df1ef10551?raw)
