IonWarp logoIonWarp
Get started
IonWarp Docs
Collections

Integrations

Provider credentials attached to a project.

Base path /api/v1/integrations on https://ionwarp.com. Authenticate with Authorization: Bearer $DASH_API_KEY and name the project with the Project-ID header. Writes are validated in strict mode; an operation this resource does not declare answers 405 operation_not_supported.

List integrations

GET /api/v1/integrations

curl "https://ionwarp.com/api/v1/integrations?integration_type=github" \
  -H "Authorization: Bearer $DASH_API_KEY" \
  -H "Project-ID: pr_acme"
Which integrations are connected on this project?
data_query {
  "collection": "integrations",
  "where": {
    "integration_type": "github"
  }
}

Returns a paginated list of integration objects, newest first.

{
  "object": "list",
  "data": [
    {
      "object": "integration",
      "id": "obj_123",
      "integration_type": "github",
      "status": "active",
      "scope": "project",
      "app_name": "app name",
      "masked_preview": "masked preview",
      "linked": true,
      "created_at": "2026-07-25T12:00:00.000Z",
      "updated_at": "2026-07-25T12:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Parameters

ParameterTypeKindDescription
integration_typestringfilterProvider app slug to connect. One of github.
statusstringfilterWhether the credential currently authenticates. One of active, error, revoked.
sortstringsortOne of created_at; prefix with - to reverse.
limitnumberpageRows to return, 1–100. Defaults to 20.
cursorstringpagenext_cursor from the previous page.

Retrieve a integration

GET /api/v1/integrations/learning-tests-run-under-bun

curl "https://ionwarp.com/api/v1/integrations/learning-tests-run-under-bun" \
  -H "Authorization: Bearer $DASH_API_KEY" \
  -H "Project-ID: pr_acme"
Open the integration {id}
data_get {
  "collection": "integrations",
  "object_id": "learning-tests-run-under-bun"
}

Returns the integration object.

{
  "object": "integration",
  "id": "obj_123",
  "integration_type": "github",
  "status": "active",
  "scope": "project",
  "app_name": "app name",
  "masked_preview": "masked preview",
  "linked": true,
  "created_at": "2026-07-25T12:00:00.000Z",
  "updated_at": "2026-07-25T12:00:00.000Z"
}

Parameters

ParameterTypeKindDescription
idstringpathThe integration's id or slug.

Create a integration

POST /api/v1/integrations

curl -X POST "https://ionwarp.com/api/v1/integrations" \
  -H "Authorization: Bearer $DASH_API_KEY" \
  -H "Project-ID: pr_acme" \
  -H "Content-Type: application/json" \
  -d '{"integration_type":"github","credentials":{"api_key":"re_..."}}'
Connect github for this project
data_set {
  "collection": "integrations",
  "object_id": "learning-tests-run-under-bun",
  "data": {
    "integration_type": "github",
    "credentials": {
      "api_key": "re_..."
    }
  }
}

Returns the integration object.

{
  "object": "integration",
  "id": "obj_123",
  "integration_type": "github",
  "status": "active",
  "scope": "project",
  "app_name": "app name",
  "masked_preview": "masked preview",
  "linked": true,
  "created_at": "2026-07-25T12:00:00.000Z",
  "updated_at": "2026-07-25T12:00:00.000Z"
}

Parameters

FieldTypeRequiredDescription
integration_typestringyesProvider app slug to connect. One of github.
credentialsobjectyesProvider credential material (e.g. \{"api_key": "..."\}). Write-only: accepted on create, never returned on any read. Write-only — never returned.
statusstringnoWhether the credential currently authenticates. One of active, error, revoked.
scopestringnoWhether the credential belongs to this project or the whole workspace. One of project, workspace.
app_namestringnoHuman-readable provider name.
masked_previewstringnoNon-reversible preview of the stored secret, so an operator can tell WHICH credential is set without it ever leaving the service.
linkedbooleannoWhether this credential is attached to the resolved project right now.

Delete a integration

DELETE /api/v1/integrations/learning-tests-run-under-bun

curl -X DELETE "https://ionwarp.com/api/v1/integrations/learning-tests-run-under-bun" \
  -H "Authorization: Bearer $DASH_API_KEY" \
  -H "Project-ID: pr_acme"
Delete the integration {id}
data_delete {
  "collection": "integrations",
  "object_id": "learning-tests-run-under-bun"
}

Returns the deleted integration object with deleted: true.

{
  "object": "integration",
  "id": "obj_123",
  "deleted": true
}

Parameters

ParameterTypeKindDescription
idstringpathThe integration's id or slug.

What comes back (read-only)

Every integration carries the envelope below. This resource declares no server-owned fields beyond it.

FieldTypeDescription
objectstringAlways integration.
idstringStable object id. Also accepted in place of slug on any path.
slugstringURL-safe name, unique within the collection.
created_atstringISO-8601 timestamp of the first write.
updated_atstringISO-8601 timestamp of the most recent write. The cursor sorts on this.

Errors

Failures use { error: { type, code, message, param } }. The full code table is generated at Error Codes.

On this page

IonWarp logoIonWarp

Ready to build? Connect an agent and go — no credit card needed to start.

Get startedSee our plans