Instructure Developer Documentation Portal
Community
  • Introduction
  • Services
    • Elevate Standards Alignment - AB Connect API
      • Introduction
        • Authentication
        • Addressing Object Properties
        • Requesting Additional Properties in the Response
        • Filtering Using ODATA Like Statements
        • Sorting
        • Facets
        • Paging Data
        • Call Throttling
        • Working with Related Object
        • Error Responses
        • Character Set Support
        • How To Articles, Recommendations and Suggestions
        • Examples
        • Using AB Connect's Embeddable Widgets
      • Reference
        • Standards
        • Standard Collections
        • Events
        • Topics
        • Concepts
        • Assets
        • Asset Definitions
        • Asset Collections
        • Managing and Predicting Relationships
        • Providers
    • Canvas LMS
      • Basics
        • GraphQL
        • API Change Log
        • SIS IDs
        • Pagination
        • Throttling
        • Compound Documents
        • File Uploads
        • API Endpoint Attributes
        • Masquerading
      • OAuth2
        • OAuth2 Overview
        • OAuth2 Endpoints
        • Developer Keys
      • Resources
        • Access Tokens
        • Account Calendars
        • Account Domain Lookups
        • Account Notifications
        • Account Reports
        • Accounts
        • Accounts (LTI)
        • Admins
        • Analytics
        • Announcement External Feeds
        • Announcements
        • API Token Scopes
        • Appointment Groups
        • Assignment Extensions
        • Assignment Groups
        • Assignments
        • Authentication Providers
        • Authentications Log
        • Blackout Dates
        • BlockEditorTemplate
        • Blueprint Courses
        • Bookmarks
        • Brand Configs
        • Calendar Events
        • Collaborations
        • CommMessages
        • Communication Channels
        • Conferences
        • Content Exports
        • Content Migrations
        • Content Security Policy Settings
        • Content Shares
        • Conversations
        • Course Audit log
        • Course Pace
        • Course Quiz Extensions
        • Course Reports
        • Courses
        • Custom Gradebook Columns
        • Developer Key Account Bindings
        • Developer Keys
        • Discussion Topics
        • Enrollment Terms
        • Enrollments
        • ePortfolios
        • ePub Exports
        • Error Reports
        • External Tools
        • Favorites
        • Feature Flags
        • Files
        • Grade Change Log
        • Gradebook History
        • Grading Period Sets
        • Grading Periods
        • Grading Standards
        • Group Categories
        • Groups
        • History
        • InstAccess tokens
        • JWTs
        • Late Policy
        • Learning Object Dates
        • Line Items
        • LiveAssessments
        • Logins
        • LTI Launch Definitions
        • LTI Registrations
        • LTI Resource Links
        • Media Objects
        • Moderated Grading
        • Modules
        • Names and Role
        • New Quiz Items
        • New Quizzes
        • New Quizzes Accommodations
        • New Quizzes Reports
        • Notification Preferences
        • Originality Reports
        • Outcome Groups
        • Outcome Imports
        • Outcome Results
        • Outcomes
        • Pages
        • Peer Reviews
        • Planner
        • Poll Sessions
        • PollChoices
        • Polls
        • PollSubmissions
        • Proficiency Ratings
        • Progress
        • Public JWK
        • Quiz Assignment Overrides
        • Quiz Extensions
        • Quiz IP Filters
        • Quiz Question Groups
        • Quiz Questions
        • Quiz Reports
        • Quiz Statistics
        • Quiz Submission Events
        • Quiz Submission Files
        • Quiz Submission Questions
        • Quiz Submission User List
        • Quiz Submissions
        • Quizzes
        • Result
        • Roles
        • Rubrics
        • Sandboxes
        • Score
        • Search
        • Sections
        • Services
        • Shared Brand Configs
        • SIS Import Errors
        • SIS Imports
        • SIS Integration
        • Smart Search
        • Submission Comments
        • Submissions
        • Tabs
        • Temporary Enrollment Pairings
        • User Observees
        • Users
        • What If Grades
      • Outcomes
        • Outcomes CSV Format
      • Group Categories
        • Group Categories CSV Format
      • SIS
        • SIS CSV Format
      • External Tools
        • LTI
          • Introduction
          • Registration
          • Launch Overview
          • Configuring
          • Variable Substitutions
          • Deep Linking
          • Grading
          • Provisioning
          • PostMessage
          • Platform Notification Service
          • Placements
            • Placements Overview
            • Navigation
            • Homework Submission
            • Editor Button
            • Migration Selection
            • Link Selection (Modules)
            • Assignment Selection
            • Collaborations
        • xAPI
        • Canvas Roles
        • Plagiarism Detection Platform
          • Overview
          • Plagiarism Detection Platform Assignments
          • Plagiarism Detection Platform Users
          • Plagiarism Detection Submissions
          • Webhooks Subscriptions for Plagiarism Platform
          • JWT Access Tokens
      • Data Services
        • Live Events
          • Overview
            • Introduction
            • Setup
            • Caliper
            • Metadata
          • Event Format
            • Canvas
              • Account
              • Asset
              • Assignment
              • Attachment
              • Content
              • Conversation
              • Course
              • Discussion
              • Enrollment
              • Grade
              • Group
              • Learning
              • Logged
              • Module
              • Outcome
              • Outcomes
              • Plagiarism
              • Quiz
              • Rubric
              • Sis
              • Submission
              • Syllabus
              • User
              • Wiki
            • Caliper IMS 1.1
              • Assessment
              • Basic
              • Forum
              • Grading
              • Navigation Events
              • Session
    • Catalog
      • APIs
        • Analytics
        • Bulk Enrollments
        • Catalogs
        • Certificates
        • Completed Certificates
        • Courses
        • Email Domain Set
        • Enrollments
        • Orders
        • Programs
        • Progresses
        • Tags
        • User Registrations
        • Users
        • Waitlist Applicants
    • Credentials
      • Getting Started
      • Authentication
        • Password-Based Authentication
        • Authorization Code-Based Authentication
      • Pagination
      • APIs
        • Assertions
        • Backpack
        • Badgeclasses
        • Issuers
        • Organizations
        • Users
      • Release Notes
    • Data Access Platform
      • Key Concepts
      • Data Formats
      • Rate Limits & Policies
      • Datasets
        • Namespaces
          • canvas
            • canvas types
          • canvas_logs
          • catalog
        • Additional Notes
        • Entity Relationship Diagram
      • Query API
        • Authentication
        • Reference
      • Command Line (DAP CLI)
        • Getting Started
        • Secure Connection
        • Reference
          • dap snapshot
          • dap incremental
          • dap list
          • dap schema
          • dap initdb
          • dap syncdb
          • dap dropdb
      • Client Library
        • Examples
        • Reference
      • Release Notes
      • Status
    • Data Sync
      • Interop API
      • Interop Data API
      • Grades Exchange API
      • OneRoster API
      • Platform API
    • Instructure Media
      • API Reference
        • Captions
        • Collection
        • Courses
        • Group
        • Insights
        • Media
        • Media Upload
        • Ping
        • Professional Captioning
        • Tags
        • Transfer Media
        • User
    • Quizzes
      • Quiz API
Powered by GitBook

Copyright © 2008-2024 Instructure, Inc. All rights reserved. Various trademarks held by their respective owners.

On this page

Was this helpful?

  1. Services
  2. Data Sync

Interop API

PreviousData SyncNextInterop Data API

Last updated 1 day ago

Was this helpful?

List Actors

get

Get a list of actors installed in Interop Clouds for accounts visible to you. This API is used to obtain coordinates and credentials essential for interacting with Integrations and other actors.

Authorizations
Query parameters
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Actors response
application/json
Responseall of
get
GET /v2/interop/actors HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Actors response

{
  "data": [
    null,
    {
      "name": "text",
      "type": "connector",
      "connector_type": "text",
      "auth": {
        "type": "text",
        "client_id": "text",
        "client_secret": "password",
        "updated_at": "2025-06-14T10:13:34.910Z"
      }
    }
  ]
}

List Interop Clouds

get

Get a list of Interop Clouds for accounts visible to you.

Authorizations
Query parameters
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Clouds response
application/json
Responseall of
get
GET /v2/interop/clouds HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Clouds response

{
  "data": [
    null,
    {
      "name": "text",
      "userdata": "text",
      "generation": 1
    }
  ]
}

Search Interop Clouds

get

Get a list of Interop Clouds matching the search criteria.

Authorizations
Query parameters
generationinteger · int32Optional

List all Clouds of a matching generation

userdatastringOptional

List all Clouds with matching userdata

namestringOptional

List all Clouds with a matching name

pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Clouds response
application/json
Responseall of
get
GET /v2/interop/clouds/search HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Clouds response

{
  "data": [
    null,
    {
      "name": "text",
      "userdata": "text",
      "generation": 1
    }
  ]
}

Find an Interop Cloud

get

Find an Interop Cloud by identifier

Authorizations
Path parameters
idstring · uuidRequired

id of the object

Responses
200
Cloud response
application/json
Responseall of
get
GET /v2/interop/clouds/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Cloud response

{
  "data": {
    "name": "text",
    "userdata": "text",
    "generation": 1
  }
}

Delete an Interop Cloud

delete
Authorizations
Path parameters
idstring · uuidRequired

id of the Cloud to delete

Responses
204
Success
delete
DELETE /v2/interop/clouds/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

Success

No content

List all Actors in an Interop Cloud

get
Authorizations
Path parameters
idstring · uuidRequired

id of the object

Query parameters
include_credentialsbooleanOptional

Include actor credentials

pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Actors response
application/json
Responseall of
get
GET /v2/interop/clouds/{id}/actors HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Actors response

{
  "data": [
    null,
    {
      "name": "text",
      "type": "connector",
      "connector_type": "text",
      "auth": {
        "type": "text",
        "client_id": "text",
        "client_secret": "password",
        "updated_at": "2025-06-14T10:13:34.910Z"
      }
    }
  ]
}

List Integrations

get

List all Integrations

Authorizations
Query parameters
namestringOptional

Find an Integration by name

pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Integrations response
application/json
Responseall of
get
GET /v2/interop/integrations HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Integrations response

{
  "data": [
    null,
    {
      "name": "text",
      "title": "text",
      "version": "text"
    }
  ]
}

List Integration Versions

get

List the versions of an Integration. Each version is described by an Integration Blueprint.

Authorizations
Path parameters
idstring · uuidRequired

id of the Integration

Query parameters
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Integration Versions response
application/json
Responseall of
get
GET /v2/interop/integrations/{id}/versions HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Integration Versions response

{
  "data": [
    null,
    {
      "version": "text",
      "title": "text",
      "release_state": "unspecified"
    }
  ]
}

Delete Integration Version

delete
Authorizations
Path parameters
idstring · uuidRequired

id of the Integration to update

versionstringRequired

version to delete

Responses
204
No content
delete
DELETE /v2/interop/integrations/{id}/versions/{version} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

No content

No content

Find an Integration

get
Authorizations
Path parameters
idstring · uuidRequired

id of the Integration to find

Responses
200
Integration response
application/json
Responseall of
get
GET /v2/interop/integrations/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Integration response

{
  "data": {
    "name": "text",
    "title": "text",
    "version": "text"
  }
}

Delete an Integration

delete
Authorizations
Path parameters
idstring · uuidRequired

id of the Integration to delete

Responses
204
Success
delete
DELETE /v2/interop/integrations/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

Success

No content

List Interop Tenants

get

Get a list of TenantInfo representing your licensed and authorized Integration tenants.

Authorizations
Query parameters
accountsstring · uuid[] · min: 1Optional

Optionally restrict the returned list of tenants to only those for the specified Accounts.

integrationstring[] · min: 1Optional

Optionally restrict the returned list of tenants to only those for the specified Integration or Integrations. Use this parameter when you have multiple Integrations all serviced by the same client application. When omitted, includes tenants of all Integrations owned by your account.

pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
TenantInfos response
application/json
Responseall of
get
GET /v2/interop/tenants HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

TenantInfos response

{
  "data": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "actor_id": "123e4567-e89b-12d3-a456-426614174000",
      "account": null,
      "cloud": null,
      "integration": null,
      "auth": {
        "type": "text",
        "client_id": "text",
        "client_secret": "password",
        "updated_at": "2025-06-14T10:13:34.910Z"
      },
      "app_auth": {
        "scheme": "oauth2",
        "token": "text",
        "refresh_token": "text",
        "client_id": "text",
        "client_secret": "text",
        "username": "text",
        "password": "text",
        "api_key": "text"
      },
      "lti_developer_id": "text"
    }
  ]
}

Find Interop Tenant

get
Authorizations
Path parameters
idstring · uuidRequired

id of the TenantInfo to find

Responses
200
TenantInfo response
application/json
Responseall of
get
GET /v2/interop/tenants/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

TenantInfo response

{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "actor_id": "123e4567-e89b-12d3-a456-426614174000",
    "account": null,
    "cloud": null,
    "integration": null,
    "auth": {
      "type": "text",
      "client_id": "text",
      "client_secret": "password",
      "updated_at": "2025-06-14T10:13:34.910Z"
    },
    "app_auth": {
      "scheme": "oauth2",
      "token": "text",
      "refresh_token": "text",
      "client_id": "text",
      "client_secret": "text",
      "username": "text",
      "password": "text",
      "api_key": "text"
    },
    "lti_developer_id": "text"
  }
}

Find Interop Tenant by actor authentication credentials

get
Authorizations
Responses
200
TenantInfo response
application/json
Responseall of
get
GET /v2/interop/tenant HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

TenantInfo response

{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "actor_id": "123e4567-e89b-12d3-a456-426614174000",
    "account": null,
    "cloud": null,
    "integration": null,
    "auth": {
      "type": "text",
      "client_id": "text",
      "client_secret": "password",
      "updated_at": "2025-06-14T10:13:34.910Z"
    },
    "app_auth": {
      "scheme": "oauth2",
      "token": "text",
      "refresh_token": "text",
      "client_id": "text",
      "client_secret": "text",
      "username": "text",
      "password": "text",
      "api_key": "text"
    },
    "lti_developer_id": "text"
  }
}

Get tenant state by actor authentication credentials

get
Authorizations
Responses
200
TenantState response
application/json
Responseall of
get
GET /v2/interop/tenant/state HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

TenantState response

{
  "data": {
    "rollover_mode_enabled": true,
    "synchronization_suspended": true,
    "setup_mode_enabled": true,
    "mass_change_pending": true
  }
}

List Scoping Schools

get

Get the list of ScopingSchools that define how to scope this tenant's repository by school

Authorizations
Query parameters
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
ScopingSchools response
application/json
Responseall of
get
GET /v2/interop/tenant/scoping/schools HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

ScopingSchools response

{
  "data": [
    {
      "account_id": "123e4567-e89b-12d3-a456-426614174000",
      "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
      "school_id": "123e4567-e89b-12d3-a456-426614174000",
      "school_ref_id": "text",
      "name": "text",
      "local_id": "text",
      "keywords": "text",
      "selected": true
    }
  ]
}

Delete Scoping Schools

delete
Authorizations
Responses
204
Success
delete
DELETE /v2/interop/tenant/scoping/schools HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

Success

No content

Find Scoping School

get
Authorizations
Path parameters
idstring · uuidRequired

id of the ScopingSchool to find

Responses
200
ScopingSchool response
application/json
Responseall of
get
GET /v2/interop/tenant/scoping/schools/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

ScopingSchool response

{
  "data": {
    "account_id": "123e4567-e89b-12d3-a456-426614174000",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_ref_id": "text",
    "name": "text",
    "local_id": "text",
    "keywords": "text",
    "selected": true
  }
}

Delete Scoping School

delete
Authorizations
Path parameters
idstring · uuidRequired

id of the ScopingSchool

Responses
204
Success
delete
DELETE /v2/interop/tenant/scoping/schools/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

Success

No content

List Scoping Courses

get

Get the list of Scoping Courses to apply to this tenant's repository

Authorizations
Query parameters
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
ScopingCourses response
application/json
Responseall of
get
GET /v2/interop/tenant/scoping/courses HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

ScopingCourses response

{
  "data": [
    {
      "account_id": "123e4567-e89b-12d3-a456-426614174000",
      "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
      "course_id": "123e4567-e89b-12d3-a456-426614174000",
      "course_ref_id": "text",
      "school_id": "123e4567-e89b-12d3-a456-426614174000",
      "school_ref_id": "text",
      "name": "text",
      "local_id": "text",
      "keywords": "text",
      "selected": true
    }
  ]
}

Delete Scoping Courses

delete
Authorizations
Responses
204
Success
delete
DELETE /v2/interop/tenant/scoping/courses HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

Success

No content

Find Scoping Course

get
Authorizations
Path parameters
idstring · uuidRequired

id of the ScopingCourse to find

Responses
200
ScopingCourse response
application/json
Responseall of
get
GET /v2/interop/tenant/scoping/courses/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

ScopingCourse response

{
  "data": {
    "account_id": "123e4567-e89b-12d3-a456-426614174000",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "course_id": "123e4567-e89b-12d3-a456-426614174000",
    "course_ref_id": "text",
    "school_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_ref_id": "text",
    "name": "text",
    "local_id": "text",
    "keywords": "text",
    "selected": true
  }
}

Delete Scoping Course

delete
Authorizations
Path parameters
idstring · uuidRequired

id of the ScopingCourse

Responses
204
Success
delete
DELETE /v2/interop/tenant/scoping/courses/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

Success

No content

Get Tenant Application

get

The endpoint returns tenant application's authentication parameters (defined in the integration blueprint), as well as configuration options. The tenant (identified by actor authentication credentials) must be an integration. The response should be cached by driver implementations in memory.

Authorizations
Responses
200
Tenant Application Response
application/json
get
GET /v2/interop/tenant/application HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Tenant Application Response

{
  "data": {
    "account_id": "123e4567-e89b-12d3-a456-426614174000",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "deliver_tasks": true,
    "auth_type": "unspecified",
    "auth_state": "unspecified",
    "options": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "auth_props": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "auth_session_id_pending": "123e4567-e89b-12d3-a456-426614174000",
    "auth_message": "text",
    "auth_props_pending": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "auth_state_pending": "unspecified"
  }
}

List Rollovers

get

Get the list of rollovers for the tenant. The tenant is identified by actor authentication credentials.

Authorizations
Query parameters
sortstring · enumOptional

Sorting criteria. Prefix with - for descending order.

Example: -namePossible values:
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Rollovers response
application/json
Responseall of
get
GET /v2/interop/tenant/rollovers HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Rollovers response

{
  "data": [
    null,
    {
      "name": "text",
      "type": "new_year",
      "start_date": "2025-06-14T10:13:34.910Z",
      "end_date": "2025-06-14T10:13:34.910Z",
      "metadata": {
        "created": null,
        "updated": null
      },
      "status": "upcoming",
      "status_change_failure_count": 1,
      "failure_reason": "alreadyInRolloverMode"
    }
  ]
}

Count Rollovers

get

Get the count of rollovers for the tenant. The tenant is identified by actor authentication credentials.

Authorizations
Responses
200
Count of Rollovers
application/json
Responseinteger
get
GET /v2/interop/tenant/rollovers/count HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Count of Rollovers

1

Get a Rollover

get

Get a rollover for the tenant. The tenant is identified by actor authentication credentials.

Authorizations
Path parameters
idstring · uuidRequired

id of the rollover to query

Responses
200
Rollover response
application/json
get
GET /v2/interop/tenant/rollovers/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Rollover response

{
  "data": {
    "name": "text",
    "type": "new_year",
    "start_date": "2025-06-14T10:13:34.910Z",
    "end_date": "2025-06-14T10:13:34.910Z",
    "metadata": {
      "created": null,
      "updated": null
    },
    "status": "upcoming",
    "status_change_failure_count": 1,
    "failure_reason": "alreadyInRolloverMode"
  }
}

Delete a rollover for the tenant identified by actor authentication credentials.

delete
Authorizations
Path parameters
idstring · uuidRequired

id of the rollover to delete

Responses
204
Rollover deleted
409
Conflict due to trying to delete an active rollover
application/json
delete
DELETE /v2/interop/tenant/rollovers/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

List Schedules

get

Get the list of schedules for the tenant. The tenant is identified by actor authentication credentials.

Authorizations
Query parameters
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Schedules response
application/json
Responseall of
get
GET /v2/interop/tenant/schedules HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Schedules response

{
  "data": [
    null,
    {
      "type": "unspecified",
      "last_executed_at": "2025-06-14T10:13:34.910Z",
      "enabled": true,
      "hour": 1,
      "days": "text",
      "metadata": null
    }
  ]
}

Count Schedules

get

Get the count of schedules for the tenant. The tenant is identified by actor authentication credentials.

Authorizations
Responses
200
Count of Schedules
application/json
Responseinteger
get
GET /v2/interop/tenant/schedules/count HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Count of Schedules

1

Find a Schedule by id

get
Authorizations
Path parameters
idstring · uuidRequired

id of the Schedule to find

Responses
200
Schedule response
application/json
Responseall of
get
GET /v2/interop/tenant/schedules/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Schedule response

{
  "data": {
    "type": "unspecified",
    "last_executed_at": "2025-06-14T10:13:34.910Z",
    "enabled": true,
    "hour": 1,
    "days": "text",
    "metadata": null
  }
}

Delete Schedule

delete

Delete a schedule.

Authorizations
Path parameters
idstring · uuidRequired

id of the Schedule to update

Responses
204
No content
delete
DELETE /v2/interop/tenant/schedules/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
204

No content

No content

List Ingestions

get

Get a list of Ingestions.

Authorizations
Query parameters
pageinteger · int32Optional

Specify the page number (defaults to 0)

page_sizeinteger · int32Optional

Specify the page_size (defaults to the maximum page size)

Responses
200
Ingestions response
application/json
Responseall of
get
GET /v2/interop/ingestions HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Ingestions response

{
  "data": [
    null,
    {
      "type": "unspecified",
      "state": "unspecified",
      "started_at": "2025-06-14T10:13:34.910Z",
      "external_import_ids": [
        "text"
      ],
      "has_pending_task": true,
      "metadata": {
        "scheduled": null
      }
    }
  ]
}

Count Ingestions

get

Get the total count of ingestions that would be returned by listIngestions

Authorizations
Responses
200
Count of Ingestions
application/json
Responseinteger
get
GET /v2/interop/ingestions/count HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Count of Ingestions

1

Find an Ingestion by id

get
Authorizations
Path parameters
idstring · uuidRequired

id of the Ingestion to find

Responses
200
Ingestion response
application/json
Responseall of
get
GET /v2/interop/ingestions/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Ingestion response

{
  "data": {
    "type": "unspecified",
    "state": "unspecified",
    "started_at": "2025-06-14T10:13:34.910Z",
    "external_import_ids": [
      "text"
    ],
    "has_pending_task": true,
    "metadata": {
      "scheduled": null
    }
  }
}
  • GETList Actors
  • GETList Interop Clouds
  • POSTCreate an Interop Cloud
  • GETSearch Interop Clouds
  • GETFind an Interop Cloud
  • DELETEDelete an Interop Cloud
  • GETList all Actors in an Interop Cloud
  • GETList Integrations
  • POSTCreate Integration
  • GETList Integration Versions
  • POSTCreate Integration Version
  • PATCHUpdate Integration Version
  • DELETEDelete Integration Version
  • PUTUpdate Integration Blueprint
  • GETFind an Integration
  • PATCHUpdate Integration
  • DELETEDelete an Integration
  • GETList Interop Tenants
  • GETFind Interop Tenant
  • GETFind Interop Tenant by actor authentication credentials
  • GETGet tenant state by actor authentication credentials
  • GETList Scoping Schools
  • POSTCreate Scoping Schools
  • DELETEDelete Scoping Schools
  • GETFind Scoping School
  • PUTUpdate Scoping School
  • DELETEDelete Scoping School
  • GETList Scoping Courses
  • POSTCreate Scoping Courses
  • DELETEDelete Scoping Courses
  • GETFind Scoping Course
  • PUTUpdate Scoping Course
  • DELETEDelete Scoping Course
  • GETGet Tenant Application
  • PATCHUpdate Tenant Application
  • GETList Rollovers
  • POSTCreate a rollover for the tenant identified by actor authentication credentials.
  • GETCount Rollovers
  • GETGet a Rollover
  • PUTUpdate a rollover for the tenant identified by actor authentication credentials.
  • DELETEDelete a rollover for the tenant identified by actor authentication credentials.
  • GETList Schedules
  • POSTCreate a Schedule for the tenant identified by actor authentication credentials. Only the `hour` (understood in UTC) field is expected, only creating collection schedules is possible.
  • POSTRun a schedule
  • GETCount Schedules
  • GETFind a Schedule by id
  • PATCHUpdate Schedule
  • DELETEDelete Schedule
  • GETList Ingestions
  • GETCount Ingestions
  • GETFind an Ingestion by id

Create an Interop Cloud

post
Authorizations
Body
all ofOptional
Responses
200
Success
application/json
Responseall of
400
Bad Request
application/json
post
POST /v2/interop/clouds HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 48

{
  "name": "text",
  "userdata": "text",
  "generation": 1
}
{
  "data": {
    "name": "text",
    "userdata": "text",
    "generation": 1
  }
}

Create Integration

post

Create an Integration

Authorizations
Body
all ofOptional
Responses
200
Success
application/json
Responseall of
400
Bad Request
application/json
post
POST /v2/interop/integrations HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "name": "text",
  "title": "text",
  "version": "text"
}
{
  "data": {
    "name": "text",
    "title": "text",
    "version": "text"
  }
}

Create Integration Version

post

Create a new version of an Integration

Authorizations
Path parameters
idstring · uuidRequired

id of the Integration

Body
stringOptional
Responses
200
Success
application/json
Responseall of
400
Bad Request
application/json
post
POST /v2/interop/integrations/{id}/versions HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/xml
Accept: */*
Content-Length: 6

"text"
{
  "data": {
    "version": "text",
    "title": "text",
    "release_state": "unspecified"
  }
}

Update Integration Version

patch
Authorizations
Path parameters
idstring · uuidRequired

id of the Integration to update

versionstringRequired

version to update

Body
all ofOptional
Responses
204
No content
patch
PATCH /v2/interop/integrations/{id}/versions/{version} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 63

{
  "version": "text",
  "title": "text",
  "release_state": "unspecified"
}
204

No content

No content

Update Integration Blueprint

put
Authorizations
Path parameters
idstring · uuidRequired

id of the Integration to update

versionstringRequired

version to update

Body
stringOptional
Responses
200
IntegrationVersion response
application/json
Responseall of
put
PUT /v2/interop/integrations/{id}/versions/{version}/blueprint HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/xml
Accept: */*
Content-Length: 6

"text"
200

IntegrationVersion response

{
  "data": {
    "version": "text",
    "title": "text",
    "release_state": "unspecified"
  }
}

Update Integration

patch
Authorizations
Path parameters
idstring · uuidRequired

id of the Integration to update

Body
all ofOptional
Responses
204
No content
patch
PATCH /v2/interop/integrations/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "name": "text",
  "title": "text",
  "version": "text"
}
204

No content

No content

Create Scoping Schools

post
Authorizations
Query parameters
replacebooleanOptional

true to replace existing Scoping Schools, false to append to existing Scoping Schools

Default: true
Body
Responses
200
Success
application/json
Responseall of
400
Bad Request
application/json
post
POST /v2/interop/tenant/scoping/schools HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 255

{
  "data": [
    {
      "account_id": "123e4567-e89b-12d3-a456-426614174000",
      "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
      "school_id": "123e4567-e89b-12d3-a456-426614174000",
      "school_ref_id": "text",
      "name": "text",
      "local_id": "text",
      "keywords": "text",
      "selected": true
    }
  ]
}
{
  "data": {
    "account_id": "123e4567-e89b-12d3-a456-426614174000",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_ref_id": "text",
    "name": "text",
    "local_id": "text",
    "keywords": "text",
    "selected": true
  }
}

Update Scoping School

put
Authorizations
Path parameters
idstring · uuidRequired

id of the Scoping School to update

Body
account_idstring · uuidOptional
tenant_idstring · uuidOptional
school_idstring · uuidOptional
school_ref_idstringOptional
namestringOptional
local_idstringOptional
keywordsstringOptional
selectedbooleanOptional
Responses
200
ScopingSchool response
application/json
Responseall of
put
PUT /v2/interop/tenant/scoping/schools/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 244

{
  "account_id": "123e4567-e89b-12d3-a456-426614174000",
  "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
  "school_id": "123e4567-e89b-12d3-a456-426614174000",
  "school_ref_id": "text",
  "name": "text",
  "local_id": "text",
  "keywords": "text",
  "selected": true
}
200

ScopingSchool response

{
  "data": {
    "account_id": "123e4567-e89b-12d3-a456-426614174000",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_ref_id": "text",
    "name": "text",
    "local_id": "text",
    "keywords": "text",
    "selected": true
  }
}

Create Scoping Courses

post
Authorizations
Query parameters
replacebooleanOptional

true to replace existing Scoping Courses, false to append to existing Scoping Courses

Default: true
Body
Responses
200
Success
application/json
Responseall of
400
Bad Request
application/json
post
POST /v2/interop/tenant/scoping/courses HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 329

{
  "data": [
    {
      "account_id": "123e4567-e89b-12d3-a456-426614174000",
      "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
      "course_id": "123e4567-e89b-12d3-a456-426614174000",
      "course_ref_id": "text",
      "school_id": "123e4567-e89b-12d3-a456-426614174000",
      "school_ref_id": "text",
      "name": "text",
      "local_id": "text",
      "keywords": "text",
      "selected": true
    }
  ]
}
{
  "data": {
    "account_id": "123e4567-e89b-12d3-a456-426614174000",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "course_id": "123e4567-e89b-12d3-a456-426614174000",
    "course_ref_id": "text",
    "school_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_ref_id": "text",
    "name": "text",
    "local_id": "text",
    "keywords": "text",
    "selected": true
  }
}

Update Scoping Course

put
Authorizations
Path parameters
idstring · uuidRequired

id of the Scoping Course to update

Body
account_idstring · uuidOptional
tenant_idstring · uuidOptional
course_idstring · uuidOptional
course_ref_idstringOptional
school_idstring · uuidOptional
school_ref_idstringOptional
namestringOptional
local_idstringOptional
keywordsstringOptional
selectedbooleanOptional
Responses
200
ScopingCourse response
application/json
Responseall of
put
PUT /v2/interop/tenant/scoping/courses/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 318

{
  "account_id": "123e4567-e89b-12d3-a456-426614174000",
  "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
  "course_id": "123e4567-e89b-12d3-a456-426614174000",
  "course_ref_id": "text",
  "school_id": "123e4567-e89b-12d3-a456-426614174000",
  "school_ref_id": "text",
  "name": "text",
  "local_id": "text",
  "keywords": "text",
  "selected": true
}
200

ScopingCourse response

{
  "data": {
    "account_id": "123e4567-e89b-12d3-a456-426614174000",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "course_id": "123e4567-e89b-12d3-a456-426614174000",
    "course_ref_id": "text",
    "school_id": "123e4567-e89b-12d3-a456-426614174000",
    "school_ref_id": "text",
    "name": "text",
    "local_id": "text",
    "keywords": "text",
    "selected": true
  }
}

Update Tenant Application

patch

Intended to be used during the authentication setup workflow (if there is authentication defined in the integration blueprint). The tenant (identified by actor authentication credentials) must be an integration. Can be updated and only when the pending auth status of the application is 'updating'). Only a subset of the Tenant Application configuration may be changed: auth message, pending auth state (can only be set to 'confirmed'/'error'), pending auth attributes.

Authorizations
Body
account_idstring · uuidRead-onlyOptional
tenant_idstring · uuidRead-onlyOptional
deliver_tasksbooleanRead-onlyOptional
auth_typestring · enumRead-onlyOptionalPossible values:
auth_statestring · enumRead-onlyOptionalPossible values:
auth_session_id_pendingstring · uuid | nullableRead-onlyOptional
auth_messagestring | nullableOptional
auth_state_pendingstring · enumOptionalPossible values:
Responses
204
Success
patch
PATCH /v2/interop/tenant/application HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 114

{
  "auth_message": "text",
  "auth_props_pending": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "auth_state_pending": "unspecified"
}
204

Success

No content

Create a rollover for the tenant identified by actor authentication credentials.

post
Authorizations
Body
namestringRead-onlyRequired
start_datestring · date-timeRead-onlyRequired
end_datestring · date-timeRead-onlyRequired
typestring · enumRequiredPossible values:
statusstring · enumRequiredPossible values:
cloud_idstring · uuidRequired
actor_idstring · uuidOptional
metadataobjectOptional
Responses
201
Rollover response
application/json
Responseall of
409
Conflict due to overlap with other rollovers or concurrent modification
application/json
post
POST /v2/interop/tenant/rollovers HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 182

{
  "type": "new_year",
  "status": "upcoming",
  "cloud_id": "123e4567-e89b-12d3-a456-426614174000",
  "actor_id": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": {
    "created": null,
    "updated": null
  }
}
{
  "data": {
    "name": "text",
    "type": "new_year",
    "start_date": "2025-06-14T10:13:34.910Z",
    "end_date": "2025-06-14T10:13:34.910Z",
    "metadata": {
      "created": null,
      "updated": null
    },
    "status": "upcoming",
    "status_change_failure_count": 1,
    "failure_reason": "alreadyInRolloverMode"
  }
}

Update a rollover for the tenant identified by actor authentication credentials.

put
Authorizations
Path parameters
idstring · uuidRequired

id of the rollover to update

Body
namestringRead-onlyRequired
start_datestring · date-timeRead-onlyRequired
end_datestring · date-timeRead-onlyRequired
typestring · enumRequiredPossible values:
statusstring · enumRequiredPossible values:
cloud_idstring · uuidRequired
actor_idstring · uuidOptional
metadataobjectOptional
Responses
200
Rollover response
application/json
Responseall of
409
Conflict due to overlap with other rollovers or concurrent modification
application/json
put
PUT /v2/interop/tenant/rollovers/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 182

{
  "type": "new_year",
  "status": "upcoming",
  "cloud_id": "123e4567-e89b-12d3-a456-426614174000",
  "actor_id": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": {
    "created": null,
    "updated": null
  }
}
{
  "data": {
    "name": "text",
    "type": "new_year",
    "start_date": "2025-06-14T10:13:34.910Z",
    "end_date": "2025-06-14T10:13:34.910Z",
    "metadata": {
      "created": null,
      "updated": null
    },
    "status": "upcoming",
    "status_change_failure_count": 1,
    "failure_reason": "alreadyInRolloverMode"
  }
}

Create a Schedule for the tenant identified by actor authentication credentials. Only the `hour` (understood in UTC) field is expected, only creating collection schedules is possible.

post
Authorizations
Body
hourinteger · max: 23Required
Responses
201
Schedule response
application/json
Responseall of
409
Conflict due to overlaps with other schedules or concurrent modification
application/json
post
POST /v2/interop/tenant/schedules HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 10

{
  "hour": 1
}
{
  "data": {
    "type": "unspecified",
    "last_executed_at": "2025-06-14T10:13:34.910Z",
    "enabled": true,
    "hour": 1,
    "days": "text",
    "metadata": null
  }
}

Run a schedule

post

Only permitted for unpaused collection schedules, and if there is no pending ingestion.

Authorizations
Path parameters
idstring · uuidRequired

id of the Schedule to run

Body
object | nullableOptional
Responses
204
No content, schedule queued for execution
400
Bad request, when the schedule type cannot be run on demand
application/json
409
Conflict, schedule was not run, response body contains details
application/json
post
POST /v2/interop/tenant/schedules/{id}/run HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2

{}

No content

Update Schedule

patch

Update a schedule. Only the enabled attribute may be updated.

Authorizations
Path parameters
idstring · uuidRequired

id of the Schedule to update

Body
enabledbooleanOptional
Responses
204
No content
patch
PATCH /v2/interop/tenant/schedules/{id} HTTP/1.1
Host: api.us2.kimonocloud.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "enabled": true
}
204

No content

No content