Update Integration
Overview
Updates an integration's name, permissions, and optional expiration. The API key and secret are immutable and cannot be changed.
Endpoint: PUT /api/v1/integrations/{id}
Authentication: Bearer token (JWT) required.
Request
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <your_jwt_token> |
Content-Type | Yes | application/json |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Integration UUID |
Body
| Field | Type | Required | Validation | Description |
|---|---|---|---|---|
name | string | Yes | 1–255 characters | Display name for the integration |
permissions | string[] | No | — | Permission list (e.g. payments.read, payments.create) |
expires_at | string | No | ISO 8601 datetime | Optional expiration date/time |
Example Request
{
"name": "Updated Production API",
"permissions": ["payments.read", "payments.create", "wallets.read"],
"expires_at": "2027-12-31T23:59:59Z"
}
Response
Success — 204 No Content
No response body. The integration was updated successfully.
Error Responses
| Status | Description |
|---|---|
400 | Invalid request (validation error) |
401 | Unauthorized (missing or invalid token) |
404 | Integration not found |
500 | Internal server error |
cURL Example
curl -X PUT https://api.example.com/api/v1/integrations/550e8400-e29b-41d4-a716-446655440001 \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Production API",
"permissions": ["payments.read", "payments.create", "wallets.read"]
}'