Get integration module configurations

GET/intmods

Base URL: https://api.tinkermode.com

Get the list of integration module configurations across homes. Integration modules are used to connect to external services and configurations are used to define the connection details.

Authentication

Send an Authorization header of the form ModeCloud <AUTH_CODE>.

Must contain a user, service account, or project API key.

Query parameters

NameTypeRequiredConstraintsDescription
catalogTypesstringNoReturns integration module configurations of the specified catalog types. Multiple types can be specified as a comma-separated list.
homeIdsstringNoReturns integration module configurations of the specified home IDs. Multiple IDs can be specified as a comma-separated list.
isConnectedbooleanNoIf true, only return integration module configurations that are currently connected. If false, only return integration module configurations that are not connected.
limitintegerNodefault: 25; min: 1Maximum number of integration module configurations to return.
skipintegerNodefault: 0; min: 0Number of integration module configurations to skip over.
sortBystringNoThe sort order of the configurations in the format field:order (e.g. catalogType:desc). The supported fields are isConnected, catalogType, and homeId. The default order is ascending.

Responses

200 Successful retrieval of integration module configurations.

Content type: application/json

Represents an integration module configuration created in a project.

An array of objects with the following shape:

PropertyTypeRequiredConstraintsDescription
catalogTypestringYesCatalog type of the integration module.
claimsobjectNoClaims is the definition of the authentication method and credentials for the integration module.
Properties of claims
PropertyTypeRequiredConstraintsDescription
credentialsobjectNoCredentials is the definition of the authentication credentials for the integration module. the properties of the credentials object are dependent on the authentication method.
methodstringNoone of: oauth2, httpBasicAuth, httpAPIKey, httpAPIKeyQueryParam, jwtAuth, customHeaderAuthentication method of the integration module.
configIdstringYesread-only (server-generated)Unique Integration Module ID.
homeIdintegerYesHome that this integration module belongs to.
projectIdintegerYesread-only (server-generated)Project that this integration module belongs to.
scheduleobjectNoSchedule is the definition of the schedule for the integration module.
Properties of schedule
PropertyTypeRequiredConstraintsDescription
cronSchedulestringNocron schedule for the integration module. The format is a standard unix crontab and some extended format such as @everyXs, @hourly, etc.
cronTimeZonestringNocron time zone for the integration module.
operationsarray<object>No
Properties of operations
PropertyTypeRequiredConstraintsDescription
appConfigsobjectNoappConfigs is the configuration for the post processing of the operation response.
operationNamestringNoName of the operation. The operation names are defined in the integration module catalog.
parametersarray<object>NoParameters for the operation defined in the integration module catalog.
Properties of parameters
PropertyTypeRequiredConstraintsDescription
namestringNoName of the parameter.
valuestringNoValue of the parameter.

Response example

[
  {
    "attributes": {
      "attribute 1": "Value of the attribute 1",
      "attribute 2": "Value of the attribute 2"
    },
    "catalogType": "external-service",
    "claims": {
      "credentials": {
        "grantType": "client_credentials",
        "tokenUrl": "https://auth.example.com/oauth2/token"
      },
      "method": "oauth2"
    },
    "configId": "external-service-1234",
    "homeId": 1234,
    "projectId": 1234,
    "schedule": {
      "cronSchedule": "* * * * *",
      "cronTimeZone": "Asia/Tokyo",
      "operations": [
        {
          "appConfigs": {
            "defaultAttributeValues": {
              "userId": "external_service_user_5678"
            }
          },
          "operationName": "users",
          "parameters": [
            {
              "name": "user_id",
              "value": "5678"
            }
          ]
        }
      ]
    }
  }
]

401 Authorization is required to access this resource.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

403 Request failed because of denied permission.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

429 Request failed because of rate limit.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

500 An unexpected error has occurred.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

503 The service is temporarily unavailable.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.